如果您不期望重复的结果,欧洲央行是一个安全的选择吗?

Posted

技术标签:

【中文标题】如果您不期望重复的结果,欧洲央行是一个安全的选择吗?【英文标题】:Is ECB a safe option if you don't expect duplicate results? 【发布时间】:2012-09-08 20:18:19 【问题描述】:

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

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

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

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

_Hello world_ = ahjkIOn25o

_To echo "Hello world,"_ = qw90klnN2_ahjkIOn25o_kL3

_Hello world is the_ = _ahjkIOn25o_hjAB27

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

【问题讨论】:

您为什么考虑在正常模式下使用 ECB?我还没有看到 ECB 是最佳模式选择的情况。 没有IV,你就无法实现语义安全,这通常是一个理想的属性。 【参考方案1】:

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

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

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

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

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

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

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

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

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

解决欧洲央行的弱点 担心您是否考虑了所有可能的情况。

【讨论】:

以上是关于如果您不期望重复的结果,欧洲央行是一个安全的选择吗?的主要内容,如果未能解决你的问题,请参考以下文章

显示 UDF 结果 [重复]

如果期望的行为是让查询自动添加新列,可以选择 * 吗? [复制]

jQuery:使用变量作为选择器[重复]

如果央行发行数字货币,你还会选择支付宝和微信吗?

央行数字货币可以摆脱对SWIFT的依赖吗?

bios中安全芯片需要打开吗