我正在摆弄,并创建一个混合加密系统,该系统使用对称密钥对数据进行美学256-CBC加密,并使用公钥/私钥对使用RSA-OAEP封装/封装对称密钥。
目前,我只是简单地生成一个随机256位密钥,将得到填充和包装的RSA-OAEP。
我在RFC 5990中偶然发现了RSA-KEM,我喜欢这样的事实:我可以通过HKDF从它派生加密密钥和iv (以及许多其他密钥)。HKDF是Web中支持的算法,但random说我应该使用“简单RSA”来加密密钥派生的随机元素,这是W3C规范中没有提到的算法。
我是否可以用RSA-OAEP加密用于密钥派生的随机元素(甚至不需要填充),或者是否存在任何安全问题?我应该坚持我目前的实现吗?
发布于 2018-05-08 01:04:43
您可能应该坚持当前的实现。当然,如果您还需要生成一个IV,则始终可以将它包含到OAEP加密中。你可以在OAEP中加入一个种子,你可以把它放到任何KDF中,得到一个键和IV。
RSA-KEM的优点是它相对容易实现,因此是安全的.然而,RSA-OAEP也被认为是安全的,如果实现正确的话。
如果在256位或2048位以上执行KDF,则没有什么不同,因此没有理由选择RSA-KEM而不是OAEP,因为它会创建更大的种子。
https://crypto.stackexchange.com/questions/58934
复制相似问题