是ECB如果你不希望重复的结果,一个安全的选择?(Is ECB a safe option if y

2019-10-17 06:00发布

我要加密使用的Rijndael-256(文字已经被压缩而在此之前转换为base64)文本长的段落。

这是非常不可能两个是相同的。 但是,如果他们碰巧是,将添加一个随机密钥到文本的开始或结束其固定(无论它们是否是相同的),万一用户写同样的文字吗?

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

或者是这样的:(使用Base64 ......不准确,只是一个例子)

_Hello world_ = ahjkIOn25o

_To echo "Hello world,"_ = qw90klnN2_ahjkIOn25o_kL3

_Hello world is the_ = _ahjkIOn25o_hjAB27

所以,如果有人他们的文本中短语隐藏的,它总是输出相同ECB那块,无论是在文字还有什么,还是那句话的文本中的位置?

Answer 1:

我会建议使用像CBC。 所有你需要做的就是增加IV。

所以,如果有人他们的文本中短语隐藏的,它总是输出相同ECB那块,无论是在文字还有什么,还是那句话的文本中的位置?

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

因此,它取决于隐藏的短语是多久以及它如何定位块的内部。 只有当块的全部内容是一样的,其结果将是相同的。

我会说这是更适用于两种情况:

  • 你有大量的结构化数据的(如实施例的图像或视频)
  • 您可以使用相同的密钥来加密多个消息(这相当于大量的数据)。

无论这种情况下,可能允许攻击者找出一些关于你的内部结构。

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

一般来说,它更容易使用另一种模式,而不是

  • 围绕欧洲央行的弱点工作
  • 担心你是否考虑到所有可能的情况。


文章来源: Is ECB a safe option if you don't expect duplicate results?