RSA加解密中必须考虑到的密钥长度、明文长度和密文长度问题。明文长度需要小于密钥长度,而密文长度则等于密钥长度。因此当加密内容长度大于密钥长度时,有效的RSA加解密就需要对内容进行分段。
这是因为,RSA算法本身要求加密内容也就是明文长度m必须0<m<密钥长度n。如果小于这个长度就需要进行padding,因为如果没有padding,就无法确定解密后内容的真实长度,字符串之类的内容问题还不大,以0作为结束符,但对二进制数据就很难,因为不确定后面的0是内容还是内容结束符。而只要用到padding,那么就要占用实际的明文长度,于是实际明文长度需要减去padding字节长度。我们一般使用的padding标准有NoPPadding、OAEPPadding、PKCS1Padding等,其中PKCS#1建议的padding就占用了11个字节。
这样,对于1024长度的密钥。128字节(1024bits)-减去11字节正好是117字节,但对于RSA加密来讲,padding也是参与加密的,所以,依然按照1024bits去理解,但实际的明文只有117字节了。
所以如果要对任意长度的数据进行加密,就需要将数据分段后进行逐一加密,并将结果进行拼接。同样,解码也需要分段解码,并将结果进行拼接。

相关推荐
一种网络传输信息加密解密系统研制的方法
RSA Key Generation in DS5250
低功耗蓝牙的安全性研究
C语言试玩RSA加密解密
PGP 简介
RSA加密算法及其改进算法的研究和实现
基于嵌入式的实时测控数据加密传输及压缩模块设计
基于证书的RSA签名系统的设计与实现
RSA算法特点及应用简述
基于嵌入式的实时测控数据加密传输及压缩模块设计
安全增强的基于RSA可验证门限签名方案
浅谈RSA数字签名技术在综合船桥系统中的应用
让频谱分析更高效,澄清RSA使用中的一些误解
低功耗乘法器在信息安全中的应用设计
让频谱分析更高效,澄清RSA使用中的一些误解
Enea与UBiqube联合打造基于uCPE 端到端的WAN服务自动化方案
加密算法,护我安全之RSA算法