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

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

0 2人一组,创建一个文件,文件名为小组成员学号,内容为小组成员学号和姓名
1-N-5-BG2-G8-LB4-FC-EJ-I-K.png

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

./openssl enc -sm4-cbc -in 20191220.txt -a -out encrypt.txt -pass pass:12345

FY9-X-AME3-CIT-WD1-N6-EXDA.png

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

1.创建EC参数和原始私钥文件:
openssl ecparam -out ec_param.pem -name SM2 -param_enc explicit -genkey

F45-MDOKVBPTO-1-K1-JBKINTN.png

查看一下EC私钥信息
openssl ecparam -in ec_param.pem -text

69-KQIGF-E9-A-V3-T-RDDJ7-I.png

验证参数:
openssl ecparam -in ec_param.pem -check

I6-K4-ZJ-H-8-OK-CSFZM-00.png

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

B18-V-H-ZA9-EYUN-UVKWUSSC.png

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

openssl ec -in ec_param.pem -pubout -out pub_key.pem

O-V3-JLV-VQCU8-D3-R-Q-8.png

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

openssl dgst -sm3 20191220.txt
TQ5-QD-K5-SE-9-O-4-MU-BN.png

把摘要值放进dgst.txt中:

用sm2的私钥进行签名

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

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

CRMS-IB-Z9-ID-LQ-CGMA.png

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

SBIS7-VT-RHTXXKCOKOQIWCQ.png

HEY8-Y-P9-POHEI5-0-J-XALV.png

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

PS-52-FWUO9029-MD0-UQB3-F5.png

57-P-I5-XGT-NLPSMH-8-E-7-Q.png

posted @ 2022-04-17 22:57  ewdbdvdv  阅读(33)  评论(0编辑  收藏  举报