上面有一篇大致介绍了几种AES算法的模式,其中有些名词没有涉及到,今天看到一篇文章,更好地解答了一些疑问。
一般给出的例子,包括key, plaintext, inputblock, outputblock, Ciphertext. 主要是区分plaintext and inputblock, 和outputblock and ciphertext.给出个图片就什么都懂了。
下面是CBC模式的算法结构图

也就是明文plaintext和输入到加解密单元的块数据不同而已。那么同样道理可以知道对于ecb模式而言,这两个是相同的

这样可以说明,如果ECB模式的明文出现重复(按块最小单位重复),那么密文也应该是重复的。而CBC模式需要参考以前的向量,所以即使明文重复了,密文也不会重复。
按照这样的结构图,就应该很明确,输入明文是多大,输出也应该是多大才对。但是我下载的一些加解密单元好像秘文都比明文要大,不知道他们算法上是怎么实现的。
如果要了解其他的更多模式和码流例子,参考
http://cryptome.org/bcm/sp800-38a.htm
本文通过对比CBC和ECB两种AES加密模式,详细解释了明文与输入块、输出块与密文之间的区别,并通过结构图直观展示两种模式下密文是否重复的原理。
2810

被折叠的 条评论
为什么被折叠?



