密码库LibTomCrypt学习记录——(2.2)分组密码算法的工作模式——ECB模式(Electronic Codebook mode)

 

ECB(Electronic Codebook mode)是加密模式,加解密比较简单。各个块之间相互独立,互不影响,因此便于并行计算。

参考文献

  1. NIST SP 800-38A
  1. ECB加解密

ECB 加密: Cj = CIPHK(Pj) for j = 1 … n.

ECB 解密: Pj = CIPH -1K(Cj) for j = 1 … n.

ECB模式需要用到解密函数。

ECB模式

     ECB模式中,在相同的密钥下相同的明文块被加密将得到相同的密文,但别的模式不会出现这样的情况。在实际的某些应用中有的数据块很可能是相同的。因此它不能很好的隐藏数据,无法提供严格的数据保密性。由于这一特性,ECB不用于密码协议中。下面的例子显示了ECB模式的这一特征。原始图像(左图)通过ECB模式可能会被加密成中图,而非ECB模式(如CBC,CTR或其它更安全的模式)通常会将其加密成右图(至少看起来与随机噪声一样杂乱无章)。

原图

ECB加密

伪随机的非ECB加密

ECB模式不能很好的隐藏数据

  1. LibTomCrypt与ECB

在aes.c可以看到ECB被直接绑定为AES的基本加解密

#define SETUP        rijndael_setup

#define ECB_ENC         rijndael_ecb_encrypt

#define ECB_DEC         rijndael_ecb_decrypt

#define ECB_DONE  rijndael_done

#define ECB_TEST  rijndael_test

#define ECB_KS      rijndael_keysize

也就是说在调用加密算法对某个分组的数据做加解密时,分别调用ecb_encrypt和ecb_decrypt。

猜你喜欢

转载自blog.csdn.net/samsho2/article/details/84870468