电子代码簿(ECB)模式应用

时间:2013-10-09 06:10:45

标签: security ecb

在大多数地方都有关于什么是ECB的描述,但没有关于它的实际用法。 我无法找到ECB的用途。

ECB模式的有用应用是什么? (实时申请或任何其他)

1 个答案:

答案 0 :(得分:3)

不,欧洲央行绝不应该在实践中使用任何后果。

可能有可能找到人为的例子,但实时应用程序之类的东西不应该是其中之一。

电子代码簿是其他安全操作模式(CBC,CTR等)的基础操作。但是,因为它是确定性的,所以它在语义上不受攻击者的保护。我的意思是什么语义安全?基本上,根据密文,攻击者无法获得有关您的明文(除了长度)的更多信息。

但是,在使用ECB加密的密文时,可以获得有关明文的一些信息 - 也就是说,您可以判断何时重复一个块。对称密钥加密形成从明文到密文和背面的一对一映射。给定密钥,算法和数据块,最终结果将始终相同。

这对您的加密数据意味着什么?好吧,想象一下你有两个块的数据。攻击者可以重新排序这两个区块,你就不会更聪明了。由于两个块都已正确加密,因此尽管攻击者可以对结果数据进行某种控制,但它们仍会被正确解密。这也意味着如果攻击者知道一个有效的阻止,他可以替换它并重新播放同一个消息。

此外,还有一些操作模式与ECB的性能差不多。例如,计数器模式(CTR)通过加密递增计数器来工作。假设计数器没有换行并且没有使用相同的密钥(当你有128位时不太困难),加密计数器的数据块将不会重复。现在,您有一个伪随机字节流,您可以使用它对数据进行异或。初始计数器的开销为16字节,所有数据的开销为xor。如果您无法承担对您的数据进行异或,那么我不确定您是否能够首先加密。

什么是人为的例子?

好吧,如果您的数据不重复,或者您不关心某人是否可以识别(基本上是指纹)数据块,那么ECB似乎可能没问题。此外,您可能希望MAC数据,以便它不会被篡改,除非您实际上不介意看到重播或重新排序的消息。 ECB只需要同步一个密钥而不需要初始化向量,因此它可能用于替换一些数据,这些数据当前是一个具有完全相同长度的blob的纯文本消息。然而,即便如此,你只会让某人更难阅读这条消息。