2

密钥大小为 1024 的 RSA 加密系统的大小限制为 117 字节,可用于加密。这是用于加密对象。任何人都可以提出替代解决方案吗?

4

3 回答 3

1

使用 AES 等对称算法加密对象,然后使用 RSA 加密用于加密对象的密钥。这将为您提供 RSA/公钥加密的好处,但可以自由加密比 RSA 密钥大小更多的数据。

对于它的价值,这是大多数公钥加密协议使用的那种方案(如 PGP/GPG)

于 2013-04-03T17:46:37.663 回答
1

通常,使用 TripleDES、AES 或 Camellia 等对称密码对批量数据进行加密和身份验证。由于您要确保数据不被篡改,因此请尽可能选择 GCM 或 EAX 等模式,而不是 CBC(与单独的身份验证原语配对)等模式。然后使用公钥/私钥对加密对称密钥。

您可以将大消息分解为较小的消息,然后对较小的消息进行加密。在这种情况下,您在 ECB 模式下操作非对称密码 (RSA)(如果我没记错的话)。应用密码学手册 (HAC)对这种做法提出警告。

此外,无需过多详细说明,请尝试匹配安全级别。因此,如果您使用的是 AES-128,请使用 3072 位的 RSA 模数。作为对立面,许多人认为没有必要这样做。

于 2013-04-03T18:06:34.057 回答
0

你遇到了这个限制,因为 1024 是位数。将它除以 8 得到 128。然后从中减去 11,因为使用了 PKCS#1 填充,你得到你的数字 - 117。

无论如何,正如其他人所指出的那样,通常所做的是加密随机生成的对称密钥,然后使用它来加密/解密内容。

于 2013-04-03T18:54:08.993 回答