我在我的项目中使用RSA加密技术,需要将字节数组加密为长度小于密钥长度(我使用2048位密钥)的加密字节数组。 当我使用C#中的RSACryptoServiceProvider类时,它总是将其加密为长度为密钥长度的字节数组(256字节)。 我知道我不能将其加密为比密钥更长的长度,但是,我能否将其加密为更小的长度(与原始未加密的字节数组长度相同)?
我在我的项目中使用RSA加密技术,需要将字节数组加密为长度小于密钥长度(我使用2048位密钥)的加密字节数组。 当我使用C#中的RSACryptoServiceProvider类时,它总是将其加密为长度为密钥长度的字节数组(256字节)。 我知道我不能将其加密为比密钥更长的长度,但是,我能否将其加密为更小的长度(与原始未加密的字节数组长度相同)?
在加密之前填充明文以达到密钥大小是必要的,以保护免受某些密码分析攻击,因此对于RSA实现(尤其是面向普通用途的实现),省略这一步骤是没有意义的。