我正在使用RSA算法生成密文,并且它正常工作。但问题是,我生成的密文非常高。
例如:
纯文本:249488213
生成到,
密文:94489103D862769B7AE21EA42C2D400A584D0F919BBCAE2450AD1BE57EAC64E4A2F75FAB9F8FA25BCBC12AAAE58F43CCB071DC002332FF4C736F4DA96A36C3ED
对于我的用例而言太大了,因为它将我的纯文本文件的文件大小增加到大约2.5倍。
所以我担心的是,我们可以将密文的长度减少到某个最小长度(尽管我们使用了密钥大小),或者是否有任何其他非对称算法可以帮助我实现这一目标。
感谢任何帮助。感谢。
答案 0 :(得分:2)
RSA加密被描述为
c = m^e mod N,
其中c
是密文,m
是原始邮件,e
是公共指数(通常为65537),N
是公共模数。
因此,c
总是小于N
,但在大多数情况下都与它相同。当然,您可以选择N
和m
来获得较小的c
,但这显然会导致加密变弱,并且每条消息都需要一个特殊密钥。
可能与其他不对称密码系统存在同样的问题。较短的密文更容易恢复。但是您可以使用AES,它可以在计数器模式下生成与原始消息大小相同的密文。这揭示了攻击者的消息大小。