1

我想使用 Rijndael-256 加密长段文本(在此之前文本已被压缩并转换为 base64)。

两者不太可能相同。但是,如果它们碰巧是,是否会在文本的开头或结尾添加一个随机密钥来保护它(无论它们是否相同),以防万一用户编写相同的文本?

如果我确保没有结果是 100% 相同的,如果你不会得到重复的结果,欧洲央行是否安全?

还是这样的:(使用base64...不准确,只是一个例子)

_Hello world_ = ahjkIOn25o

_To echo "Hello world,"_ = qw90klnN2_ahjkIOn25o_kL3

_Hello world is the_ = _ahjkIOn25o_hjAB27

因此,如果有人在其文本中隐藏了一个短语,它总是会为该片段输出相同的 ECB,无论文本中还有什么,或者该短语在文本中的位置?

4

1 回答 1

2

我建议使用像CBC这样的东西。您所要做的就是添加 IV。

因此,如果有人在他们的文本中隐藏了一个短语,它总是会为该片段输出相同的 ECB,无论文本中还有什么,或者该短语在文本中的位置?

两个完全相同的明文块将成为完全相同的密文块。

因此,这取决于隐藏短语的长度以及它在块内的位置。只有当块的全部内容相同时,结果才会相同。

我想说它更适用于两种情况:

  • 您拥有大量结构化数据(例如图像或视频)
  • 您使用相同的密钥来加密多条消息(这会转化为大量数据)。

这两种情况都可能使攻击者了解您的内部结构。

我建议看看这个:http ://en.wikipedia.org/wiki/Block_cipher_modes_of_operation#Electronic_codebook_.28ECB.29 它显示了欧洲央行的问题。

一般来说,使用其他模式比使用其他模式更容易

  • 解决欧洲央行的弱点
  • 担心您是否考虑了所有可能的情况。
于 2012-09-16T19:29:25.457 回答