2

我正在嘗試使用AES進行加密/解密,然後我嘗試了CBC & ECB模式 我得到了所有三個加密輸出!這是怎麼回事?
它可能沒有錯,但我只是不知道會發生什麼。如果它們都產生相同的密碼,那麼有什麼模式呢?它是時間還是性能的複雜性?AES和它的密碼模式

你能解釋一下AES和它的密碼模式之間的區別嗎?默認密碼模式是什麼?或者你可以給我任何引用的Cuz MSDN不夠清晰

謝謝

+0

維基百科的文章http://en.wikipedia.org/wiki/Block_cipher_modes_of_operation –

+0

較長的輸入那麼你的暗號的塊長度?由於這些模式控制着輸入的時間長度,所以一個塊被加密(參見http://en.wikipedia.org/wiki/Block_cipher_modes_of_operation)。對於只有一個塊不同的模式可以給出相同的結果(取決於IV當然) – Grizzly

+0

@Grizzly我想嘗試像我的名字:)沒有足夠長的時間來看我的差異,我想。謝謝 – Katia

回答

3

CBC和ECB模式的方式,當你要加密的數據是大於一個塊(128位使用對稱加密算法AES)。因此,如果您要加密符合一個塊的數據,那麼CBC和ECB模式將產生相同的密文(假設您在使用CBC模式時使用的是空IV)。如果您正在加密的數據大於一個塊的大小,或者您使用的是非空的IV,並且您看到相同數據的CBC和ECB加密完全相同,那麼您的代碼中出現錯誤。

這在維基百科條目中有很好的解釋。

http://en.wikipedia.org/wiki/Block_cipher_modes_of_operation