在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 11000|回复: 28

[原创] RSA加密的填充方式

[复制链接]
发表于 2021-3-12 10:05:43 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
与对称加密算法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算法的芯片目前就是时钟这种填充方式。如果填充规则不符合要求,建议用户使用芯片加密前,先自行填充。
2.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字节。
3.RSA_PKCS1_OAEP_PADDING填充模式
RSA_PKCS1_OAEP_PADDING填充模式是PKCS#1推出的新填充方式,安全性最高,和前面RSA_PKCS1_PADDING的区别就是加密前的编码方式不一样

发表于 2021-3-12 16:37:58 | 显示全部楼层
MARK一下,挺不错说的很清楚


发表于 2021-3-12 16:45:22 | 显示全部楼层
要是明文长度大于模长怎么处理啊。
 楼主| 发表于 2021-3-12 16:50:11 | 显示全部楼层


ds252673381 发表于 2021-3-12 16:45
要是明文长度大于模长怎么处理啊。


分组加密,超过模长就先切割分组,最后一组补足128字节

发表于 2021-3-12 17:10:13 | 显示全部楼层
他们公司哪款产品支持这种功能呢?
发表于 2021-3-12 17:26:18 | 显示全部楼层


Lity2016 发表于 2021-3-12 17:10
他们公司哪款产品支持这种功能呢?


LKT4304、LKT4202N好像都支持RSA
发表于 2021-3-13 08:54:30 | 显示全部楼层
你可以去他们官网看看,他们有专业的售后咨询,服务很专业。
发表于 2021-3-13 15:15:48 | 显示全部楼层
怎么才能联系上他们的技术呢??我去百度一下。
头像被屏蔽
发表于 2021-3-13 16:59:30 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
头像被屏蔽
发表于 2021-3-13 17:01:26 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-24 12:57 , Processed in 0.022267 second(s), 6 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表