减少从 RSA 算法生成的密文长度



我正在使用RSA算法生成密码文本,它工作正常。但问题是,我生成的密文非常高。

例如:

纯文本 : 249488213

生成到,

密文 : 94489103D862769B7AE21EA42C2D400A584D0F919BBCAE2450AD1BE57EAC64E4A2F75FAB9F8FA25BCBC12AAAE58F43CCB071DC002332FF4C736F4DA96A36C3ED

这对于我的用例来说太大了,因为它将我的纯文本文件的文件大小增加到大约 2.5 倍。

所以我担心的是,我们是否可以将密文的长度减少到某个最小长度(尽管我们使用密钥大小),或者是否有任何其他非对称算法可以帮助我实现这一目标。

任何帮助,不胜感激。谢谢。

RSA 加密被描述为

c = m^e mod N,

其中c是密文,m是原始消息,e是公共指数(通常为 65537),N是公共模数。

因此,c总是小于N,但在大多数情况下与它的顺序相同。当然,您可以选择Nm来获得一个小c,但这显然会导致加密变弱,并且每条消息都需要一个特殊的密钥。

可能,同样的问题将出现在其他非对称密码系统上。较短的密文更容易恢复。但是您可以使用 AES,它可以在计数器模式下生成与原始消息大小相同的密文。这会向攻击者显示消息的大小。

最新更新