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

任务详情

  1. 2人一组,创建一个文件,文件名为小组成员学号,内容为小组成员学号和姓名
  2. 在Ubuntu中使用OpenSSL用SM4算法加密上述文件,然后用龙脉eKey解密,提交代码和运行结果截图
  3. 在Ubuntu中基于OpenSSL产生一对公私钥对(SM2算法)
  4. 在Ubuntu中使用OpenSSL用SM3算法计算上述文件的Hash值,然后用OpenSSL SM2算法计算Hash值的签名,用龙脉eKey进行验签,提交代码和运行结果截图
  5. 加分项:在Windows中重现上述过程

任务过程

1、2人一组,创建一个文件,文件名为小组成员学号,内容为小组成员学号和姓名

image-20230416174441141

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

image-20230416175139579

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

在安装了正确版本的openssl之后,下面就是利用openssl自带的命令生成SM2公私钥对了:

1.创建EC参数和原始私钥文件:

image-20230416175227924

生成完成后可以查看一下EC私钥信息:

image-20230416175300306

验证一下参数是否正确:

openssl ecparam -in ec_param.pem -check

image-20230416175347589

2.将原始的私钥文件,转换为pkcs8格式:
openssl pkcs8 -topk8 -inform PEM -in ec_param.pem -outform pem -nocrypt -out pri_key_pkcs8.pem

image-20230416175424307

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

image-20230416175604498

3.在Ubuntu中使用OpenSSL用SM3算法计算上述文件的Hash值,然后用OpenSSL SM2算法计算Hash值的签名,用龙脉eKey进行验签

image-20230416175728687

image-20230416180152198

image-20230416180539263

在windows实现(加分作业)

image-20230416181448827

image-20230416181659283

image-20230416181716215

image-20230416181747718

image-20230416181806466

image-20230416181828204

image-20230416182033359

image-20230416182150674

image-20230416182222198

posted @ 2023-04-16 18:11  B1smarck  阅读(40)  评论(0编辑  收藏  举报