529|20

73

帖子

0

资源

禁止发言

RSA加密的填充方式 [复制链接]

 

 

与对称加密算法DESAES一样,RSA算法也是一个块加密算法( block cipher algorithm),其算法原理特点是总保持在一个固定长度的块上进行操作。但跟DESAES等算法不同的是,RSA算法的block lengthkey length相关,每次加密的块长度就是key lengthRSA加密算法目前有多种填充模式。当明文长度大于key length时,要进行切割分组,然后填充。处理后的每组数据长度也是固定不变的(与RSA密钥模长相等)。

 

填充方式

待填充长度

填充后长度

RSA_NO_PADDING

不填充

和公钥等长

RSA_PKCS1_PADDING

至少RSA_size(rsa) - 11

和公钥等长

RSA_PKCS1_OAEP_PADDING

RSA_size(rsa) - 41

和公钥等长

 

RSA加密常用的填充模式有三种:RSA_PKCS1_PADDINGRSA_PKCS1_OAEP_PADDINGRSA_NO_PADDING。假设现有RSA算法密钥长度为1024bit,则三种填充模式的填充效果如下所述。

 

  1. RSA_NO_PADDING填充模式

用户选择RSA_NO_PADDING填充模式时,如果明文不够128字节,加密的时候会在明文前面填充若干数据0,直至达到128字节

解密后的明文也会包括前面填充的零,用户需要注意把解密后的字段前向填充的零去掉,才是真正的明文。凌科芯安系列芯片支持RSA算法的芯片目前就是时钟这种填充方式。如果填充规则不符合要求,建议用户使用芯片加密前,先自行填充。

 

  1. RSA_PKCS1_PADDING填充模式

当你选择RSA_PKCS1_PADDING填充模式时,如果明文不够128字节加密的时候会在明文中随机填充一些数据,所以会导致对同样的明文每次加密后的结果都不一样。

对加密后的密文,用户使用相同的填充方式都能解密。解密后的明文也就是之前加密的明文。

 

EB = 00 || BT || PS || 00 || D ,其中D为消息

BTThe block type块类型):

BT=00 or 01 (私钥运算时)

BT=02 (公钥运算时)

 

PSThe padding string填充字符串):

BT=00PS00组成;

BT=01PSFF组成;

BT=02PS由伪随机生成,且非零;

PS长度为Len(EB) - 3 - Len(D),最少是8字节。

 

  1. RSA_PKCS1_OAEP_PADDING填充模式

RSA_PKCS1_OAEP_PADDING填充模式是PKCS#1推出的新填充方式,安全性最高,和前面RSA_PKCS1_PADDING的区别就是加密前的编码方式不一样

此帖出自编程基础论坛

回复

135

帖子

0

资源

禁止发言

MARK一下,挺不错说的很清楚
 


回复

21

帖子

0

资源

一粒金砂(中级)

要是明文长度大于模长怎么处理啊。


回复

6301

帖子

0

资源

五彩晶圆(初级)

RSA加密非要用填充方式么


回复

130

帖子

0

资源

一粒金砂(中级)

他们公司哪款产品支持这种功能呢?


回复

138

帖子

0

资源

一粒金砂(中级)

LKT4304、LKT4202N好像都支持RSA
 


回复

30

帖子

0

资源

一粒金砂(中级)

你可以去他们官网看看,他们有专业的售后咨询,服务很专业,


回复

37

帖子

0

资源

禁止发言

怎么才能联系上他们的技术呢??我去百度一下。
 


回复

135

帖子

0

资源

禁止发言

凌科家芯片安全又放心他们公司专业做加密芯片已有十余年了,技术服务也是一对一
 


回复

126

帖子

0

资源

禁止发言

他家有那么厉害嘛 不会是广告打得响吧
 


回复

130

帖子

0

资源

一粒金砂(中级)

不错学习了非常有用,RSA运算应该非常考验性能。凌科的芯片运算性能如何?

 


回复

138

帖子

0

资源

一粒金砂(中级)

嗯,他家在安全加密和版权保护方面口碑很好,还有发明专利的


回复

37

帖子

0

资源

禁止发言

文章中提到的三种填充模式都有什么优缺点吗?


回复

126

帖子

0

资源

禁止发言

芯片可以定制填充方式吗

回复

21

帖子

0

资源

一粒金砂(中级)

我的理解是可以的,只要使用双方约定好填充方式


回复

135

帖子

0

资源

禁止发言

谢谢楼主分享这么专业的文章,学习了。


回复

38

帖子

0

资源

一粒金砂(中级)

RSA加密算法填充是否为加密环节里的重要因素?

回复

73

帖子

0

资源

禁止发言

是的,如果填充技术如果比较弱,较小的明文和小型公开指数e将易于受到攻击


回复

135

帖子

0

资源

禁止发言

应用最广泛的填充方式是哪种?如何根据密钥 和数据判断填充模式呢

回复

38

帖子

0

资源

一粒金砂(中级)

请问一下楼主有具体的填充代码吗?我想详细的了解一下 
 


回复
您需要登录后才可以回帖 登录 | 注册

最新文章 更多>>
    关闭
    站长推荐上一条 1/10 下一条

    About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

    站点相关: 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

    北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

    电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2021 EEWORLD.com.cn, Inc. All rights reserved
    快速回复 返回顶部 返回列表