Fork me on GitHub

实验一 密码引擎-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

提示操作成功,此时即初始化成功

posted @ 2023-04-17 23:11  郭幸坤  阅读(143)  评论(0编辑  收藏  举报
1