数据通常使用对称密码加密,对称密钥通过使用收件人的非对称公钥进行加密而与接收方共享。NIST特别出版物800-56B,第2版第9节定义了RSA KTS-OAEP,以建立发送方和接收方之间的关键材料。是否真的需要使用RSA OAEP或RSA KTS-OAEP来建立发送方和接收方之间的密钥?
由于大多数情况下,对称密钥长度比非对称密钥长度(例如256 vs 2048 )要小得多。在发送方为每条消息随机生成新对称密钥的情况下,使用教科书RSA加密对称密钥是否安全?
由于随机生成的对称密钥不太可能重复,因此不需要使用RSA OAEP和RSA KTS-OAEP?
发布于 2022-04-21 08:37:02
不,没有必要,但:
但还有其他可能性:
特别是RSA-KEM可能很有用,因为您只需要一个随机数生成器和教科书RSA +某种方法来派生密钥(这可以是一些简单的密码散列)。
发布于 2022-04-20 19:09:38
使用小的公共指数将被排除在台面上。假设256-bit对称密钥k以e = 3为公共指数。如果我们天真地将k转换为整数,那么k^3将是一个\approx 768-bit数,因此是k^3 \bmod N = k^3。那么,任何能够拿到密文的人都可以轻松地解开密码。
类似地,如果你向太多不同的接收者发送了同样的密钥,那么小的公共指数会使你容易受到哈斯塔德的广播攻击--就像你用这些密钥来培育一群工人一样。
此外,密文是可以延展性的,这将导致上文所述的一些问题。
因此,这似乎是不明智的。所有这些问题都是可以解决的--或者不适用于特定的系统--但我更倾向于使用加密系统,这样可以减少对自己开枪的机会。
https://crypto.stackexchange.com/questions/99752
复制相似问题