2011-11-02 176 views
1

帮助,任何人都可以给我一个RSA/CBC的Java实现?审计表示RSA/ECB/PKCS1Padding太弱,无法投入法庭。 (难道他挑战的Java PKI实际上呢?他建议AES ...) 我一无所知充气城堡,告诉我,如果我能插上。Java RSA/CBC加密实现

http://bouncy-castle.1462172.n4.nabble.com/RSA-CBC-encoding-td1465404.html

+1

有没有这样的事情作为RSA/CBC。你可能误解了审计,或者审计员是白痴。或两者。 –

+0

@GregS为什么没有RSA/CBC这样的东西?我的印象是CBC使用任何密码。 –

+0

@Pwngulator:它可以处理任何*块*密码。理论上讲,即使对于RSA,您也可以定义类似CBC的模式,但它确实没有多大意义,并且在任何地方都没有实现这样的事情。然而,作为一种智力练习,您可以考虑如何使用RSA定义类似CBC模式的东西。 –

回答

3

我认为这是原生的支持JDK 。请参阅http://download.oracle.com/javase/6/docs/technotes/guides/security/StandardNames.html

但是AES和RSA是两种非常不同的算法,它们通常不会用于相同类型的问题。您通常会在握手时使用RSA来关联AES密钥,并使用AES来加密其余的对话。

+1

您对RSA交换AES密钥的建议很好。我觉得解释可以帮助: https://www.owasp.org/index.php/Digital_Signature_Implementation_in_Java “当创建一个对称密码加密的明文信息,使用‘AES/CBC/PKCS5Padding’,然后选择一个每个明文消息都是随机的IV,而不是简单地使用“AES”,最后使用“AES/ECB/PKCS5Padding”。ECB模式对于普通的明文是非常弱的(可以对随机比特进行加密,这就是为什么它是确定使用RSA。)“ –