如果您不期望重复的结果,欧洲央行是一个安全的选择吗?
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 它显示了欧洲央行的问题。
一般来说,使用其他模式比使用其他模式更容易
解决欧洲央行的弱点 担心您是否考虑了所有可能的情况。【讨论】:
以上是关于如果您不期望重复的结果,欧洲央行是一个安全的选择吗?的主要内容,如果未能解决你的问题,请参考以下文章