实验一 密码引擎-4-国䀄算法交叉测试
目录
实验一 密码引擎-4-国䀄算法交叉测试
一、任务详情
0 2人一组,创建一个文件,文件名为小组成员学号,内容为小组成员学号和姓名
1 在Ubuntu中使用OpenSSL用SM4算法加密上述文件,然后用龙脉eKey解密,提交代码和运行结果截图
2 在Ubuntu中基于OpenSSL产生一对公私钥对(SM2算法)
3 在Ubuntu中使用OpenSSL用SM3算法计算上述文件的Hash值,然后用OpenSSL SM2算法计算Hash值的签名,用龙脉eKey进行验签,提交代码和运行结果截图
4 加分项:在Windows中重现上述过程
二、实验过程
1.创建一个文件,文件名为小组成员学号,内容为小组成员学号和姓名,并在Ubuntu中使用OpenSSL用SM4算法加密
import subprocess
# 使用openssl命令行工具进行加密
# -sm4 表示采用sm4算法
# -in 表示输入文件名
# -out 表示输出文件名
# -e 表示加密操作
subprocess.run(['openssl', 'sm4', '-in', '20201213_20201221.txt', '-out', '20201213_20201221_encrypted.txt', '-e'])
2.用龙脉eKey解密
openssl sm4 -in 20201213_20201221_encrypted.txt -out 20201213_20201221_decrypted.txt -d
3.在Ubuntu中基于OpenSSL产生一对公私钥对
4.在Ubuntu中使用OpenSSL用SM3算法计算上述文件的Hash值
5.用OpenSSL SM2算法计算Hash值的签名
6.用龙脉eKey进行验签
环境搭建
安装qt5.12.12Linux版
点击官网链接
下载qt-opensource-linux-x64-5.12.12.run
文件,拷贝到ubuntu上
点击直接运行
![image-20230417221633568]
这里需要大家注册账号,qt会给注册时提供的邮箱发送一封激活邮件,点击链接即可激活
安装完成
![image-20230417223025450]
导入Qt项目,多两次
龙脉密码钥匙mToken GM3000安装与激活
我们的工具使用了龙脉密码钥匙驱动,可以实现OpenSSL和mToken GM3000提供的算法
算法 | 默 认 长 度(bit) | 最 小 长 度(bit) | 最大长度(bit) |
---|---|---|---|
SGD_SM1_ECB | 128 | 128 | 256 |
SGD_SM1_CBC | 128 | 128 | 256 |
SGD_SM1_CFB | 128 | 128 | 256 |
SGD_SM1_OFB | 128 | 128 | 256 |
SGD_SM4_ECB | 128 | 128 | 256 |
SGD_SM4_CBC | 128 | 128 | 256 |
SGD_SM4_CFB | 128 | 128 | 256 |
SGD_SM4_OFB | 128 | 128 | 256 |
SGD_SM2_1 | 256 | 256 | 256 |
SGD_SM2_2 | 256 | 256 | 256 |
SGD_SM2_3 | 256 | 256 | 256 |
SGD_SM3 | 256 | 256 | 256 |
其中SGD_SM3是散列算法,SGD_SM2_1是签名验证算法,其余均为加解密算法
要在Linux环境下使用其接口进行开发首先需要在Window环境下初始化和激活
初始化
具体步骤可以参考博客windows下如何编译运行龙脉代码,总结一下就是先装中间件,再点击光盘驱动进行安装,最后进行初始化。这里仅强调比较重要的几个步骤。
点击“是”,输入SOPIN
:admin
提示操作成功,此时即初始化成功