xiaoyuhzou1228的个人空间 https://www.eechina.com/space-uid-139997.html [收藏] [复制] [RSS]

博客

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

热度 9已有 1154 次阅读2019-2-19 08:54

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


路过

鸡蛋

鲜花

握手

雷人

发表评论 评论 (23 个评论)

回复 QL87 2019-2-24 00:22
市面上所有厂家的加密芯片都是这么应用吗?
回复 miniminimini 2019-2-24 10:47
QL87: 市面上所有厂家的加密芯片都是这么应用吗?
并非如此,有的不支持。而且不同的厂家设计思路和命令也不同,不可一概而论
回复 wang0327 2019-2-24 11:28
刚好开发了一个软件,正发愁不知道用哪款加密保护程序呢,看着这个LKT比较靠谱,去咨询一下。
12

facelist

您需要登录后才可以评论 登录 | 立即注册

关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
返回顶部