1

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

ECB模式有哪些有用的应用?(实时应用程序或任何其他)

4

1 回答 1

3

不,欧洲央行不应该在实践中用于任何有后果的事情。

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

电子密码本是其他安全操作模式(CBC、CTR 等)的基础操作;然而,因为它是确定性的,所以它在语义上对攻击者并不安全。我是什么意思语义安全?基本上,它的想法是,在给定密文的情况下,对手无法获得有关您的明文(除了其长度)的更多信息。

但是,如果给定一些使用 ECB 加密的密文,则可以获得有关您的明文的一些信息——即,您可以判断一个块何时重复。对称密钥加密形成从明文到密文并返回的一对一映射。给定一个密钥、一个算法和一个数据块,最终结果将始终相同。

这对您的加密数据意味着什么?好吧,假设您有适合两个块的数据。攻击者可以对这两个块重新排序,而你不会更聪明。因为这两个块都被正确加密,所以尽管攻击者对你的结果数据有某种控制权,但它们将被正确解密。这也意味着,如果攻击者知道一个有效的块,他可以将其替换回去并再次重播相同的消息。

此外,有些操作模式的性能几乎与 ECB 一样好。例如,计数器模式 (CTR) 通过加密递增计数器来工作。假设计数器不换行并且不使用相同的密钥重用(当你有 128 位时不会太难),来自加密计数器的数据块不会重复。现在你有了一个伪随机字节流,你可以用它来异或你的数据。初始计数器有 16 个字节的开销,所有数据都有一个异或。如果您负担不起对数据进行异或运算,那么我不确定您首先如何负担得起加密费用。

什么是人为的例子?

好吧,如果您的数据不重复或者您不在乎是否有人可以识别(基本上是指纹)数据块,欧洲央行似乎没问题。此外,您可能希望对数据进行 MAC 处理,以免被篡改,除非您实际上不介意看到重播或重新排序的消息。ECB 确实只需要同步一个密钥而不需要初始化向量,因此它也许可以用来替换一些当前是具有完全相同长度的 blob 的纯文本消息的数据。但是,即使那样,您也只会使某人更难阅读该消息。

于 2013-10-09T06:51:59.527 回答