实验一 密码引擎-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人一组,创建一个文件,文件名为小组成员学号,内容为小组成员学号和姓名

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

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

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

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

在安装了正确版本的openssl之后,下面就是利用openssl自带的命令生成SM2公私钥对了:

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

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

生成完成后可以查看一下EC私钥信息:
openssl ecparam -in ec_param.pem -text

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

验证一下参数是否正确:
openssl ecparam -in ec_param.pem -check

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

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

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

3.利用原始的私钥,生成对应的公钥:
openssl ec -in ec_param.pem -pubout -out pub_key.pem
至此SM2的秘钥对已经生成结束,pri_key_pkcs8.pem是SM2私钥,而pub_key.pem是公钥。

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

3.在Ubuntu中使用OpenSSL用SM3算法计算上述文件的Hash值,然后用OpenSSL SM2算法计算Hash值的签名,用龙脉eKey进行验签

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

把摘要值放进dgst.txt中:

用sm2的私钥进行签名:

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

Original: https://www.cnblogs.com/zzjjyy123/p/16150636.html
Author: 20191223张俊怡
Title: 实验一 密码引擎-4-国䀄算法交叉测试

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/585841/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • Vim配置文件-详解(.vimrc)

    Vim配置文件的作用 Vim启动时,会根据配置文件(.vimrc)来设置 Vim,因此我们可以通过此文件来定制适合自己的 Vim 所有系统用户在启动Vim时,都会加载这个配置文件。…

    Linux 2023年6月13日
    092
  • CH343芯片应用—Windows驱动安装与使用

    CH343属于沁恒第三代USB转串口芯片系列的单串口型号,基于经典版CH340芯片完成技术革新,实现USB转高速异步串口,支持最高6Mbps串口波特率。芯片支持使用厂商提供的VCP…

    Linux 2023年6月7日
    0108
  • [ Linux ] Gnome3 禁用桌面屏保

    https://www.cnblogs.com/yeungchie/ gsettings gsettings set org.gnome.desktop.session idle-…

    Linux 2023年6月7日
    0114
  • django基础

    目录 django三板斧 登录功能 静态文件 request对象方法 pycharm链接MySQL django链接MySQL django orm简介 orm基本使用 *orm数…

    Linux 2023年6月7日
    0126
  • 搭建docker镜像仓库(二):使用harbor搭建本地镜像仓库

    一.系统环境 二.前言 三.Harbor 四.使用harbor搭建私有镜像仓库 4.1 环境介绍 4.2 k8smaster节点安装配置harbor 4.2.1 安装harbor离…

    Linux 2023年6月7日
    0146
  • ICMP 协议仿真及ping命令用途

    1、实验目的 加深对 IPv4 协议首部各定义域的理解,掌握路由表的结构和基本配置命令,熟悉 ICMP 的调试操作。 2、实验原理 IPv4 协议定义,网络层协议的相关 RFC 定…

    Linux 2023年6月8日
    0123
  • Ubuntu18.04安装/卸载NVIDIA显卡驱动

    1 显卡驱动下载 官网:NVIDIA 搜索适合本机的驱动 获取最新版本驱动 立即下载 文件 上面,显卡驱动程序下载已完成。 [En] Above, the video card d…

    Linux 2023年5月27日
    0235
  • CentOS安装Docker-ce并配置国内镜像

    404. 抱歉,您访问的资源不存在。 可能是网址有误,或者对应的内容被删除,或者处于私有状态。 代码改变世界,联系邮箱 contact@cnblogs.com 园子的商业化努力-困…

    Linux 2023年6月7日
    0106
  • Java 集合框架

    一、 Collection集合 1.1 集合概述 集合:集合是java中提供的一种容器,可以用来存储多个数据。 数组的长度是固定的。集合的长度是可变的。 数组中存储的是同一类型的元…

    Linux 2023年6月7日
    083
  • python一键探测编码

    程序功能 按文件输出编码or按编码输出文件 源码 主要代码功能 1.实现文件遍历 2.chardet获取编码 3.传参,对符合编码条件的文件输出 4.打开文件夹选择对话框 程序功能…

    Linux 2023年6月7日
    0128
  • WSL系统安装与使用

    WSL是适用于 Linux 的 Windows 子系统,可让开发人员按原样运行 GNU/Linux 环境 – 包括大多数命令行工具、实用工具和应用程序 – …

    Linux 2023年5月27日
    0149
  • redis

    常用操作 LLEN KEY_NAME # 返回列表的&#x95…

    Linux 2023年5月28日
    0104
  • ELK收集日志之logstash使用

    一、logstash使用 1.logstah收集文件日志 不难理解,我们的日志通常都是在日志文件中存储的,所以,当我们在使用INPUT插件时,收集日志,需要使用file模块,从文件…

    Linux 2023年5月27日
    0100
  • Java基础系列–08_集合1

    集合当中有很多都是应用到泛型的技术,所以在讲集合之前,应该先将泛型的概念普及一下。 泛型:(1)泛型是一种类型,但是这种类型是在编译或者调用方法时才确定。(2)格式: (3)好处:…

    Linux 2023年6月7日
    095
  • [LINUX] 像电影里的黑客一样用 terminal 作为日常开发

    1、效果预览 2、具体实现 2.1 定位鼠标位置 2.2 获取屏幕位置 2.3 计算鼠标在哪个窗口 2.4 1920×1080 平铺效果设计 2.5 1280×…

    Linux 2023年6月8日
    0131
  • Ubuntu 忘记登录密码

    重启Ubuntu,随即长按Shift(单系统)进入Grub菜单 选择Ubuntu高级选项 选择recovery mode进入Recovery Menu界面,选择Drop to ro…

    Linux 2023年6月16日
    0200
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球