2011-09-29 73 views
0

我正在嘗試使用Java對蠻力AES解密。密碼文本是160個十六進制字符。我知道128位AES加密密鑰的最後一半(全0)。我怎樣才能做一個循環來測試Java中前半部分使用字節數組的所有排列?用於AES解密的Java字節

我希望這是有道理的。

感謝

回答

1

64嵌套循環,每個從0到255這將需要一段時間才能運行;-)我建議你計算或推斷究竟有多長。你可能會很驚訝。

+2

是不是有一個缺陷,可以脫掉幾位?仍然需要你一段時間,但它應該敲幾百萬年。事實上,有一個 - http://web.townsendsecurity.com/bid/41904/AES-Encryption-Flaw-Calm-Down – Matt

+1

實際上,因爲它是一個128位密鑰(不是128字節),其中一半是已知的,你只需要8個這樣的嵌套循環,這會更快。 (對於沒有並行化的現成計算機,仍然可能太長。) –

+0

@PaŭloEbermann是的,哎呀! – EJP