首页 > 编程语言 >实验一 密码引擎-4-国䀄算法交叉测试

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

时间:2023-04-17 23:24:32浏览次数:49  
标签:交叉 OpenSSL 算法 引擎 Ubuntu 128 256 SGD

目录

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

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

标签:交叉,OpenSSL,算法,引擎,Ubuntu,128,256,SGD
From: https://www.cnblogs.com/kenneth2012/p/17327932.html

相关文章

  • 【蝴蝶算法】基于随机惯性权重策略+最优邻域扰动策略+动态转换概率策略的蝴蝶算法求解
    ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。......
  • KMP算法
    KMP算法要解决的问题就是在字符串(也叫主串)中的模式(pattern)定位问题。说简单点就是我们平时常说的关键字搜索。模式串就是关键字(接下来称它为P),如果它在一个主串(接下来称为T)中出现,就返回它的具体位置,否则返回-1(常用手段)。这里面的前缀集表示除去最后一个字符后的前面的所有子串集合,同......
  • 实验一 密码引擎-4-国䀄算法交叉测试
     实验一密码引擎-4-国䀄算法交叉测试 任务详情02人一组,创建一个文件,文件名为小组成员学号,内容为小组成员学号和姓名1在Ubuntu中使用OpenSSL用SM4算法加密上述文件,然后用龙脉eKey解密,提交代码和运行结果截图2在Ubuntu中基于OpenSSL产生一对公私钥对(SM2算法)3在Ubuntu中......
  • 讲课:拓扑排序、最短路算法
    什么是图?把图在计算机中表示(储存)拓扑排序度与一个顶点v关联的边的条数称作该顶点的度(degree)在有向图G=(V,E)中,以一个顶点v为起点的边的条数称为该顶点的出度(out-degree),以一个顶点v为终点的边的条数称为该节点的入度(in-degree)思路首先记录各......
  • 实验一 密码引擎-4-国䀄算法交叉测试
    实验一密码引擎-4-国䀄算法交叉测试小组成员:20201316陈鑫20201332杨赛一、在Ubuntu中使用OpenSSL用SM4算法加密上述文件,然后用龙脉eKey解密,提交代码和运行结果截图(代码见附件)1.生成待加密文件2.使用OpenSSL用SM4算法加密文件生成密文密钥为0123456789012343.密文4.mak......
  • 基于免疫遗传优化的图像分割算法matlab仿真
    1.算法仿真效果matlab2022a仿真结果如下:  2.算法涉及理论知识概要      人工免疫算法(ImmuneAlgorithm)是一种具有生成+检测(generateandtest)的迭代过程的群智能搜索算法。从理论上分析,迭代过程中,在保留上一代最佳个体的前提下,免疫算法是全局收敛的。算法主要......
  • 基于粒子群算法的电力系统最优潮流 以IEEE30节点的六机为对象,建立考虑功率平衡
    基于粒子群算法的电力系统最优潮流 以IEEE30节点的六机为对象,建立考虑功率平衡、机组爬坡约束、出力限制约束的电力系统经济调度模型,采用粒子群算法对模型进行求解,得到六个机组的最优运行计划,确定系统最优运行成本。YID:9650668667994429......
  • MD500E代码 包含pmsm的foc控制算法,电阻、电感、磁链等参数的辩识算法,死区补偿算法过调
    MD500E代码方案和解析文档+原理图+送仿真资料。资料最全,全新全新全新全新包含pmsm的foc控制算法,电阻、电感、磁链等参数的辩识算法,死区补偿算法过调制处理算法,弱磁控制算法,无感FOC控制算法,电流环自整定算法,磁链观测器算法。ID:8245670260640972......
  • 基于粒子群算法的综合能源优化问题 建立包含冷热电气的综合能源系统,以综合能源运行成
    基于粒子群算法的综合能源优化问题建立包含冷热电气的综合能源系统,以综合能源运行成本最优为目标,建立优化运行模型采用粒子群算法进行优化求解得到各个冷热电设备的最优运行计划里面包含一篇参考的资料代码和资料基本差不多ID:7750672838465384......
  • 基于遗传算法的最优潮流 以IEEE30节点的输电网为研究对象 以系统发电成本最小为目标函
    基于遗传算法的最优潮流 以IEEE30节点的输电网为研究对象以系统发电成本最小为目标函数以机组出力为优化变量其中出力与成本的关系是经典的二次函数关系 通过优化求解得到最佳机组出力ID:2550672838253871......