首页 > 编程语言 >实验一 密码引擎-4-国䀄算法交叉测试

实验一 密码引擎-4-国䀄算法交叉测试

时间:2023-04-17 17:33:25浏览次数:48  
标签:交叉 openssl param OpenSSL pem 算法 引擎 SM2

目录

1 在Ubuntu中使用OpenSSL用SM4算法加密上述文件,然后用龙脉eKey解密,提交代码和运行结果截图

2 在Ubuntu中基于OpenSSL产生一对公私钥对(SM2算法)

2.1 创建EC参数和原始私钥文件

openssl ecparam -out ec_param.pem -name SM2 -param_enc explicit -genkey
生成完成后可以查看一下EC私钥信息


然后验证一下参数:
openssl ecparam -in ec_param.pem -check

2.2 将原始的私钥文件,转换为pkcs8格式:

openssl pkcs8 -topk8 -inform PEM -in ec_param.pem -outform pem -nocrypt -out pri_key_pkcs8.pem

2.3 利用原始的私钥,生成对应的公钥:

openssl ec -in ec_param.pem -pubout -out pub_key.pem
至此SM2的秘钥对已经生成结束,pri_key_pkcs8.pem是SM2私钥,而pub_key.pem是公钥。

3 在Ubuntu中使用OpenSSL用SM3算法计算上述文件的Hash值,然后用OpenSSL SM2算法计算Hash值的签名,用龙脉eKey进行验签,提交代码和运行结果截图

对20201324.txt生成摘要
openssl dgst -sm3 20201324.txt
把摘要值放进dgst.txt中:
echo "20201324" | openssl dgst -sm3 -out dgst.txt
用sm2的私钥进行签名
openssl dgst -sha1 -sign ec_param.pem -out sign1.txt dgst.txt

4 加分项:在Windows中重现上述过程

安装

安装openssl-windows

生成秘钥key和公钥


openssl enc -sm4-cbc -in 20201324.txt -a -out encrypt.txt

在windows下中使用OpenSSL用SM4算法加密上述文件

在Ubuntu中基于OpenSSL产生一对公私钥对(SM2算法)

openssl ecparam -out ec_param.pem -name SM2 -param_enc explicit -genkey
openssl ecparam -in ec_param.pem -check
openssl pkcs8 -topk8 -inform PEM -in ec_param.pem -outform pem -nocrypt -out openssl pri_key_pkcs8.pem

我的好像因为编码问题不能查看(也可能装的是light-opnessl功能不全内存真顶不住了啊),但从结果来看应该没问题

SM3算法签名

标签:交叉,openssl,param,OpenSSL,pem,算法,引擎,SM2
From: https://www.cnblogs.com/cqszxy2020/p/17326548.html

相关文章

  • 计算机算法设计与分析(第5版)PDF
    《计算机算法设计与分析(第5版)》是2018年电子工业出版社出版的图书,作者是王晓东。整本书的结构是:先介绍算法设计策略思想,然后从解决经典算法问题来学习,通过实践的方式去学习算法。网络上许多的算法文章都出自于这本书,该书成为了很多开发者学习算法的典藏,网上一直找不到这本书第五......
  • 初探富文本之OT协同算法
    初探富文本之OT协同算法OT的英文全称是OperationalTransformation,是一种处理协同编辑的算法。当前OT算法用的比较多的地方就是富文本编辑器领域了,常用于作为实现文档协同的底层算法,支持多个用户同时编辑文档,不会因为用户并发修改导致冲突,而导致结果不一致甚至数据丢失的问题。描述......
  • MATLAB:基于模型预测算法的含储能微网双层能量管理模型
    储能优化模型预测控制MPC微网优化调度能量管理 MATLAB:基于模型预测算法的含储能微网双层能量管理模型参考文档:《ATwo-layerEnergyManagementSystemforMicrogridswithHybridEnergyStorageconsideringDegradationCosts》完全复现主要内容:代码微网双层优化调......
  • MATLAB 蚁群算法 配网重构 故障恢复 最小失电负荷 以提高供电可靠性和降低线损为目标,
    MATLAB蚁群算法配网重构故障恢复最小失电负荷以提高供电可靠性和降低线损为目标,建立配电网重构的优化模型,对算法进行综合比较,选取蚁群算法进行网络重构的优化。以IEEE33节点的配电网重构为算例,验证了本模型的可用性及利用蚁群算法解决重构算法的高效性。ID:4865067112444......
  • 基于多目标算法的冷热电联供型综合能源系统运行优化
    多目标粒子群  冷热电联供  综合能源系统  运行优化关键词:综合能源冷热电三联供 粒子群算法多目标优化参考文档:《基于多目标算法的冷热电联供型综合能源系统运行优化》仿真平台:MATLAB平台采用粒子群实现求解优势:代码注释详实,适合参考学习,非目前烂大街的版本,程序......
  • 考虑IEEE33节点系统使用基本环矩阵编码的智能优化算法在处理配电网重构问题
    matlab 改进灰狼算法 含分布式电源 配电网重构考虑IEEE33节点系统使用基本环矩阵编码的智能优化算法在处理配电网重构问题中,通常使用无序的解空间,解空间中局部峰值较多,使得智能优化算法难以发挥自身优势,耗时严重且难以寻找到最优解。针对以上问题,提出一种有序环网编码方式......
  • 基于改进粒子群算法的微电网多目标优化调度
    基于改进粒子群算法的微电网多目标优化调度有传统算法和改进算法对比,微电网优化调度作为智能电网优化的重要组成部分,对降低能耗、环境污染具有重要意义。微电网的发展目标既要满足电力供应的基本需求,又要提高经济效益和环境保护。对此,提出了一种综合考虑微电网系统运行成本和环......
  • MATLAB代码:基于模型预测算法的含储能微网双层能量管理模型
    MATLAB代码:基于模型预测算法的含储能微网双层能量管理模型关键词:储能优化模型预测控制MPC微网优化调度能量管理 参考文档:《ATwo-layerEnergyManagementSystemforMicrogridswithHybridEnergyStorageconsideringDegradationCosts》完全复现仿真平台:MATLAB平台......
  • 机器学习算法终极对比:树模型VS神经网络
    树模型和神经网络,像一枚硬币的两面。在某些情况下,树模型的性能甚至优于神经网络。由于神经网络的复杂性,它们常常被认为是解决所有机器学习问题的「圣杯」。而另一方面,基于树的方法并未得到同等重视,主要原因在于这类算法看起来很简单。然而,这两种算法看似不同,却像一枚硬币的正反......
  • 插电式混合动力汽车的能量管理:模型预测控制的凸优化算法
    插电式混合动力汽车的能量管理:模型预测控制的凸优化算法测试环境:MATLAB关键词:乘法器交替方向法、能量管理、内点法、模型预测控制、插电式混合动力汽车求解非线性损耗混合动力汽车能量管理模型预测控制优化问题凸公式的算法。提出了一种投影内点法,将不等式约束作为控制输入的......