xiaoyuzhou1228

LKT系列加密芯片如何预置openssl生成的rsa密钥完成运算

0
阅读(1769)

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位密钥已成功写入到加密芯片中。下期讲解如何进行加解密操作,敬请期待。