2011-11-02 1577 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。)「 –