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