我想使用Rijndael-256加密文本的长段落(文本已经压缩并在此之前转换为base64)。
两者不太可能相同。但是,如果它们恰好是,那么在文本的开头或结尾添加一个随机密钥可以保护它(不管它们是否相同),以防万一用户写相同的文本?
如果我确保没有100%相同的结果,如果你不会得到重复的结果,ECB是否安全?
或者是这样的:(使用base64 ......不准确,只是一个例子)
_Hello world_ = ahjkIOn25o
_To echo "Hello world,"_ = qw90klnN2_ahjkIOn25o_kL3
_Hello world is the_ = _ahjkIOn25o_hjAB27
因此,如果有人在其文本中隐藏了一个短语,那么无论文本中的其他内容是什么,还是短语在文本中的位置,它总是输出相同的ECB?
答案 0 :(得分:2)
我建议使用像CBC这样的东西。您所要做的就是添加IV。
因此,如果有人在其文本中隐藏了一个短语,那么无论文本中的其他内容是什么,还是短语在文本中的位置,它总是输出相同的ECB?
两个完全相同的明文块将成为完全相同的密文块。
因此,它取决于隐藏短语的长度以及它在块内的位置。只有当块的整个内容相同时,结果才会相同。
我认为它更适用于两种情况:
这种情况都可能让攻击者弄清楚你的内部结构。
我建议你看一下:http://en.wikipedia.org/wiki/Block_cipher_modes_of_operation#Electronic_codebook_.28ECB.29 它显示了ECB的问题。
一般来说,使用其他模式比使用
更容易