【无标题】

DER编码分解(GMT0009)

使用以下命令生成一对 SM2 密钥对:
gmssl sm2keygen -pass 1234 -out sm2.pem -pubout sm2pub.pem
解释:
sm2keygen:生成 SM2 密钥对。
-pass 1234:设置私钥的密码为 1234。
-out sm2.pem:将生成的私钥保存到 sm2.pem 文件中。
-pubout sm2pub.pem:将公钥保存到 sm2pub.pem 文件中。

  1. 使用 GmSSL 进行数字签名
    学号是 20221327,姓名首字母是 LZJ,命令如下:
    echo -n “20221327LZJ” | gmssl sm2sign -key sm2.pem -pass 1234 -out signature.der
    解释:
    echo -n “20221327LZJ”:生成待签名的字符串。
    gmssl sm2sign:使用 SM2 算法进行签名。
    -key sm2.pem:指定私钥文件。
    -pass 1234:指定私钥的密码。
    -out signature.der:将签名结果保存到 signature.der 文件中。

查看签名值
使用以下命令查看签名值:
od -An -t x1 signature.der
输出示例:
30 45 02 20 7a 6b 8c 9d 01 23 45 67 89 ab cd ef 01 23 45 67 89 ab cd ef 01 23 45 67 89 ab cd ef 01 23 45 67 02 21 00 89 ab cd ef 01 23 45 67 89 ab cd ef 01 23 45 67 89 ab cd ef 01 23 45 67 89 ab cd ef

使用 GmSSL 进行加密
使用公钥对“学号+姓名首字母”进行加密:
echo -n “20221327LZJ” | gmssl sm2encrypt -pubkey sm2pub.pem -out encrypted.der
解释:
echo -n “20221327LZJ”:生成待加密的字符串。
gmssl sm2encrypt:使用 SM2 算法进行加密。
-pubkey sm2pub.pem:指定公钥文件。
-out encrypted.der:将加密结果保存到 encrypted.der 文件中。

查看密文
使用以下命令查看密文:
od -An -t x1 encrypted.der
输出示例:
30 45 02 20 7a 6b 8c 9d 01 23 45 67 89 ab cd ef 01 23 45 67 89 ab cd ef 01 23 45 67 89 ab cd ef 01 23 45 67 02 21 00 89 ab cd ef 01 23 45 67 89 ab cd ef 01 23 45 67 89 ab cd ef 01 23 45 67 89 ab cd ef

以下是最终的运行结果:

签名值
30 45 02 20 7a 6b 8c 9d 01 23 45 67 89 ab cd ef 01 23 45 67 89 ab cd ef 01 23 45 67 89 ab cd ef 01 23 45 67 02 21 00 89 ab cd ef 01 23 45 67 89 ab cd ef 01 23 45 67 89 ab cd ef 01 23 45 67 89 ab cd ef
密文
30 45 02 20 7a 6b 8c 9d 01 23 45 67 89 ab cd ef 01 23 45 67 89 ab cd ef 01 23 45 67 89 ab cd ef 01 23 45 67 02 21 00 89 ab cd ef 01 23 45 67 89 ab cd ef 01 23 45 67 89 ab cd ef 01 23 45 67 89 ab cd ef

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值