zoukankan      html  css  js  c++  java
  • 实验一 密码引擎-4-国䀄算法交叉测试(选做)

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

     

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

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

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

    1.创建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

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

    3.利用原始的私钥,生成对应的公钥:
    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进行验签,提交代码和运行结果截图

     把摘要值放进dgst.txt中:

    用sm2的私钥进行签名:

     

    4 加分项:在Windows中重现上述过程
    在windows下中使用OpenSSL用SM4算法加密上述文件

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

     

    在windows下中使用OpenSSL用SM3算法计算上述文件的Hash值,然后用OpenSSL SM2算法计算Hash值的签名,用龙脉eKey进行验签,提交代码和运行结果截图。

     

     

     
  • 相关阅读:
    Java8基础之native方法
    Java基础之static关键字
    Java基础之继承
    Java之equals和hashCode方法
    Java基础之this关键字
    Java基础之super关键字
    Java基础之Serializable接口
    Java之反射学习
    Python3之多线程学习
    Python3之深拷贝和浅拷贝区别
  • 原文地址:https://www.cnblogs.com/cindy123456/p/14612477.html
Copyright © 2011-2022 走看看