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

博客

RSA算法明文长度介绍

热度 10已有 884 次阅读2021-11-18 14:46 | 加密芯片, 密钥


RSA算法一次能加密的文长度与密钥长度成正比,如RSA 1024实际可加密的明文长度最大是1024bits如果小于这个长度怎么办?就需要进行数据补齐(padding,因为如果没有padding,用户无法确分解密后内容的真实长度字符串之类的内容问题还不大,以0作为结束符,但对二进制数据就很难理解,因为不确定后面的0是内容还是内容结束符。
只要用到padding,那么就要占用实际的明文长度于是才有117字节的说法即下面这种常见的说法:len_in_byte(raw_data) = len_in_bit(key)/8 -11,如1024bit的密钥,一次能加密的内容长度为 1024/8 -11 = 117 byte。

我们一般使用的padding标准有NoPPadding、OAEPPadding、PKCS1Padding等,其中PKCS#1建议的padding就占用了11个字节。对于RSA加密来讲,padding也是参与加密的,所以实际的明文只有117字节了。
关于PKCS#1 padding规范可参考:RFC2313 chapter 8.1,我们在把明文送给RSA加密器前,要确认这个值是不是大于位长,也就是如果接近位长,那么需要先padding再分段加密。除非我们是“定长定量自己可控可理解”的加密不需要padding。

各种 padding 对输入数据长度的要求:  

私钥加密:  

RSA_PKCS1_PADDING         RSA_size-11  

RSA_NO_PADDING              RSA_size-0  

RSA_X931_PADDING            RSA_size-2  

公钥加密  

RSA_PKCS1_PADDING       RSA_size-11  

RSA_SSLV23_PADDING       RSA_size-11  

RSA_X931_PADDING           RSA_size-2  

RSA_NO_PADDING               RSA_size-0  

RSA_PKCS1_OAEP_PADDING      RSA_size-2 * SHA_DIGEST_LENGTH-2 

 


路过

鸡蛋

鲜花

握手

雷人

发表评论 评论 (20 个评论)

回复 kessy1 2021-11-18 15:10
RSA算法安全性高吗?很难破解吗?
回复 zntsbkhhh 2021-11-19 09:21
RSA算法运用了数学“两个大的质数相乘,难以在短时间内将其因式分解”的这么一套看似简单事实上真的是很困难的一个数学难题,所以它的安全性是不容置疑的。
回复 Test_wf 2021-11-19 10:05
如果数据量比较大,是不是需要多次调用加密呢,还是有其它操作
回复 miniminimini 2021-11-19 10:17
可以推荐一款支持RSA算法的加密芯片吗?
回复 QL87 2021-11-22 11:32
以前听朋友提起过凌科芯安的RSA算法加密芯片 你可以去他家官网咨询一下
回复 ?-о 2021-11-23 15:07
听说LKT4305芯片用着不错,可以试试
回复 tyl2010 2021-11-23 16:41
不同行业中如何选择1024和2048呢?比如我是想做个产品中的数据加密,能否用到RSA呢?
回复 小屁孩123 2021-11-23 17:07
根据文章内容,公钥的填充方式是比私钥填充方式多吗?
回复 sunxiang0506 2021-11-23 17:11
填充后都是大数计算,加密速度是不是相对较慢
回复 tyl2010 2021-11-23 17:16
有具体的实现方法吗?我想参考一下
回复 QL87 2021-11-24 10:07
有了RSA算法,芯片才会更安全哈
回复 kessy1 2021-11-24 11:34
RSA算法是不是密钥长度越长其算法就越安全?
回复 wang0327 2021-11-24 14:12
密钥长度是越长安全性越好,但是加密解密所需时间越长。
回复 Test_wf 2021-11-24 15:57
能不能研究出一种秘钥长度越短,加解密所需时间越短的算法,迫在眉睫了
回复 xiaoyuhzou1228 2021-11-24 16:58
芯片级的应用是不是只有专用芯片才能支持RSA算法?毕竟需要大量的运算。
回复 zntsbkhhh 2021-11-25 09:02
RSA算法的兼容性比较广,能够适用于各种不同的系统之中,比起如今的一些新算法,RSA算法的兼容性令其在真正使用的过程之中更加方便,不会出现各种各样不同的限制。
回复 miniminimini 2021-11-25 09:11
对于RSA加密来讲,padding也是参与加密的,才知道
回复 xiaoyuhzou1228 2021-11-25 09:46
LCS芯片怎么样啊没用过
回复 ?-о 2021-11-25 09:49
它家芯片安全性高,防抄系数高,性价比高,价格优惠,会有一对一的技术服务,
回复 小屁孩123 2021-11-25 17:14
楼主写的真好,,这么实用的文章,顶楼主

facelist

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

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