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

博客

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

热度 9已有 1142 次阅读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 个评论)

回复 小屁孩123 2019-2-20 14:40
LKT加密芯片的存储空间多大?能存多少秘钥?
回复 xiaoyuhzou1228 2019-2-20 14:53
小屁孩123: LKT加密芯片的存储空间多大?能存多少秘钥?
LKT的芯片系列非常丰富,存储空间从几十K到上百K的都有,能满足绝大部分密钥和关键数据的存储需求。若是具体的需求还是要咨询一下对应的芯片型号
回复 ?-о 2019-2-20 17:12
楼主所说的这个测试只能在windows系统下完成吗?还有所用的这些测试软件都是专用的吗?有没有其他可以替代的测试软件?
回复 xiaoyuhzou1228 2019-2-20 17:19
?-о: 楼主所说的这个测试只能在windows系统下完成吗?还有所用的这些测试软件都是专用的吗?有没有其他可以替代的测试软件?
这个测试适用于windows,linux等系统。x86,arm等架构。只要能实现和加密芯片的数据通信就能完成上述操作
回复 Mr.Wang 2019-2-20 17:26
嗯嗯....文章写得很详细,还有这操作,涨见识了。可以研究一下LKT系列的芯片
回复 tyl20100 2019-2-20 17:35
受教了,我对这个技术很感兴趣,我会一直关注的,期待楼主下期的讲解
回复 kessy1 2019-2-20 19:17
这个步骤方法是只适用于LKT系列加密芯片还是可适用于所有加密芯片?
回复 miniminimini 2019-2-20 20:16
kessy1: 这个步骤方法是只适用于LKT系列加密芯片还是可适用于所有加密芯片?
只适用于这家,其他家的规则不一样
回复 Test_wf 2019-2-20 21:17
既然楼上说这个步骤方法适用于文章中提到的LKT系列产品,那我也甭试验了,也没有购买那个测试软件LCS SAM 4.2和LKT-K100开发板,肯定进行不下去。emmm......那这么看的话,博主的文章可能对我司的产品和技术方面来说没啥大用处......但还是支持一下吧!
回复 miniminimini 2019-2-20 22:57
Test_wf: 既然楼上说这个步骤方法适用于文章中提到的LKT系列产品,那我也甭试验了,也没有购买那个测试软件LCS SAM 4.2和LKT-K100开发板,肯定进行不下去。emmm......那这 ...
万变不离其宗嘛,了解自己手里芯片的规则,举一反三,用类似的方式依然可以应用到别的芯片。只是说照搬是不行。灵活一点啦~
回复 Test_wf 2019-2-21 13:48
说的对啊,话说回来,这文章还是有值得借鉴的地方哒
回复 Mr.Wang 2019-2-21 16:36
这个LKT系列加密芯片中写入到这些数据什么的,那又是如何确保其安全性?
回复 wang0327 2019-2-21 16:54
应该是加密芯片中有对应的文件吧,将数据写到文件中,通过密钥控制文件的读写更改等操作,从而达到对数据的保护。
回复 QL87 2019-2-22 01:09
要是购买LKT系列加密芯片是必须购买测试软件和LKT-K100开发板才能用吗?
回复 ?-о 2019-2-22 09:47
不是必须,是有了开发板调试更方便了。
回复 kessy1 2019-2-22 16:30
LKT系列的芯片真强大啊,看过几篇文章发现他们家的芯片RAS、ECC、MS2、DES等算法没有不支持的啊,看来以后做加密要好好研究一下。
回复 tyl20100 2019-2-22 16:54
市面上的加密芯片公钥私钥格式都一样吗?
回复 小屁孩123 2019-2-22 17:06
据我所知,不是一样的,应该是一一对应的
回复 Mr.Wang 2019-2-22 17:12
文章中提到的LKT-K100开发板 芯片放上去可以直接功能调试吗?不需要临时布板了吗?
回复 xiaoyuhzou1228 2019-2-22 17:23
Mr.Wang: 文章中提到的LKT-K100开发板 芯片放上去可以直接功能调试吗?不需要临时布板了吗?
LKT-K100 配合PC端SAM软件或者KIT软件可以进行前期算法调试,功能开发
12下一页

facelist

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

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