热度 9
第二篇 openssl生成的rsa密钥如何写入到加密芯片中
1、测试目标
将openssl生成的RSA1024位密钥写入到LKT系列加密芯片的公私钥文件中
2、测试环境
本示例运行环境为windows系统、测试软件LCS SAM 4.2、LKT-K100开发板。LKT系列加密芯片必须已具备基本文件结构(MF、KEY文件、EF01号公钥文件、EF02号私钥文件)
3、测试步骤
注意:“->”表示使用LCS SAM软件操作LKT-K100向加密芯片发送数据
“<-”表示使用LCS SAM软件操作LKT-K100读回加密芯片输出的数据
3.1 公钥数据封包
公钥存储格式如下:
公钥对象 |
内容 |
长度(字节) |
参数N封包 | ||
公钥模标识 |
0x6E |
1 |
公钥模长度 |
0x80 |
1 |
公钥模N |
xx..xx |
0x80 |
公钥指数标识 |
65 |
1 |
公钥指数长度 |
04 |
1 |
参数e封包 | ||
公钥指数e |
00 01 00 01 or 00 00 00 03 |
4 |
3.2 私钥数据封包
私钥存储格式如下:
私钥对象 |
内容 |
长度 |
参数P封包 | ||
参数P 标识 |
70 |
1 |
参数P长度 |
0x40 |
1 |
参数P内容 |
xx..xx |
n |
参数Q封包 | ||
参数Q标识 |
71 |
1 |
参数Q长度 |
0x40 |
1 |
参数Q内容 |
xx..xx |
n |
参数DP封包 | ||
参数dp标识 |
50 |
1 |
参数dp长度 |
0x40 |
1 |
参数dp内容 |
xx..xx |
n |
参数DQ封包 | ||
参数dq标识 |
51 |
1 |
参数dq长度 |
0x40 |
1 |
参数dq内容 |
xx..xx |
n |
参数QINV封包 | ||
参数Qinv标识 |
49 |
1 |
参数Qinv长度 |
0x40 |
1 |
参数Qinv内容 |
xx..xx |
N |
3.3 选择公钥文件
-> 00A4 0000 02 EF02
<- 9000
3.4 写入公钥数据
-> 00D6 0000 88 + 参数N封包 + 参数e封包
<- 9000
3.5 选择私钥文件
-> 00A4 0000 02 EF01
<- 9000
3.6 写入私钥数据
写私钥P
-> 00D6 0000 42 + 参数P封包
<- 9000
写私钥Q
-> 00D6 0042 42 + 参数Q封包
<- 9000
写私钥DP
-> 00D6 0084 42 + 参数DP封包
写私钥DQ
-> 00D6 00C6 42 + 参数DQ封包
写私钥Qinv
-> 00D6 0108 42 + 参数QINV封包
至此,openssl生成的RSA1024位密钥已成功写入到加密芯片中。下期讲解如何进行加解密操作,敬请期待。
小屁孩123: LKT加密芯片的存储空间多大?能存多少秘钥?
?-о: 楼主所说的这个测试只能在windows系统下完成吗?还有所用的这些测试软件都是专用的吗?有没有其他可以替代的测试软件?
kessy1: 这个步骤方法是只适用于LKT系列加密芯片还是可适用于所有加密芯片?
Test_wf: 既然楼上说这个步骤方法适用于文章中提到的LKT系列产品,那我也甭试验了,也没有购买那个测试软件LCS SAM 4.2和LKT-K100开发板,肯定进行不下去。emmm......那这 ...
Mr.Wang: 文章中提到的LKT-K100开发板 芯片放上去可以直接功能调试吗?不需要临时布板了吗?