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

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

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

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

使用openssl用sm4算法加密文件

openssl enc -sm4-cbc -in 13081312.txt -a -out encrypt.txt -pass pass:1312

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

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

openssl ecparam -out ec_param.pem -name SM2 -param_enc explicit -genkey

查看一下EC私钥信息:

openssl ecparam -in ec_param.pem -text

然后验证一下参数:

openssl ecparam -in ec_param.pem -check

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

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

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

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进行验签,提交代码和运行结果截图

计算13081312.txt文件的Hash值

openssl dgst -sm3 13081312.txt

把摘要值放进dgst.txt中

echo "20201312" | openssl dgst -sm3 -out dgst.txt

用sm2的私钥进行签名

openssl dgst -sha1 -sign ec_param.pem -out sign1.txt dgst.txt

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

参考链接在主机上安装openssl

https://www.cnblogs.com/telwanggs/p/16923020.html

posted @ 2023-04-18 11:08  20201312许铮怡  阅读(9)  评论(0编辑  收藏  举报