第三篇 如何使用加密芯片完成RSA运算
1、测试目标
使用已经预置RSA密钥的LKT系列加密芯片完成运算
2、测试环境
本示例运行环境为windows系统、测试软件LCS KIT、LKT-K100开发板。
3、测试步骤
注意:“->”表示使用LCS KIT软件操作LKT-K100向加密芯片发送数据;
“<-”表示使用LCS KIT软件操作LKT-K100读回加密芯片输出的数据。
3.1 公钥加密
-> 80C6 EF02 80 + DATA
指令中的第5字节80表示待加密明文长度为0x80字节,DATA表示待加密明文。
<- C1 + 9000
返回数据中的C1表示加密后的结果,其长度为0x80字节,9000是加密成功的状态码。
3.2 私钥解密
-> 80C4 EF01 80 + C1
指令中的第5字节80表示待加密明文长度为0x80字节,DATA表示待加密明文。
<- DATA + 9000
返回数据中的DATA表示解密后的结果,长度为0x80字节,9000是解密成功的状态码。
3.3 私钥签名
-> 80C4 EF01 80 + M1
指令中的第5字节80表示待签名数据长度为0x80字节,DATA表示待签名数据。
<- S1+ 9000
返回数据中的S1表示签名结果,长度为0x80字节,9000是签名成功的状态码。
3.4 公钥验签
-> 80C6 EF02 80 + S1
指令中的第5字节80表示待验签数据长度为0x80字节,S1表示待验签数据。
<- M1 + 9000
返回数据中的M1表示验签后的数据,长度为0x80字节,9000是指令执行成功的状态码,用户需要比对M1与签名数据是否一致,才能判断验签是否成功。
至此,通过openssl生成RSA1024位密钥并写入到加密芯片中,进行加解密、签名验签的流程已全部介绍完。