假设钥匙是长度为10的字符串,完全随机 我们使用密钥来对大量完全随机长度的10个字符串进行xor 如果加密的字符串被泄露,是否可以恢复密钥?
答案 0 :(得分:4)
如果将使用相同密钥的两个密文进行异或,则删除所有密钥信息,并且可以恢复关于明文的信息。如果你的明文是随机的,那么这不会太多,但有些是可以恢复的。如果明文是有意义的,那么可以恢复更多的信息。
C1 = P1 XOR K
C2 = P2 XOR K
C1 XOR C2 =(P1 XOR K)XOR(P2 XOR K)= P1 XOR P2
这就是为什么One Time Pad必须是 One Time Pad。使用相同的随机密钥两次使其易碎。谷歌“Venona”是一个真实的例子。
答案 1 :(得分:2)
没有
如果输入数据完全随机,则通过XOR应用完全随机键不会产生任何有意义的模式。结果仍然是随机的,没有任何信息可以从随机性中收集。
XOR未被用作加密机制的原因通常是已知的明文攻击,它不适用于随机语料库。
答案 2 :(得分:2)
是!
字符串可能是随机的,但它们仍然会遵循某种形式的字符编码(ascii,utf,ebcdic等等),因此只有某些字节才有效。
攻击者可以循环遍历可能的密钥,从而折扣导致无效ascii(或w / e)的明文的密钥。这可以一次完成一个关键字符,因此它不是26 ^ 10,而是26 * 10(对于26个字符的字母)。
这是一种不安全的加密方案。
答案 3 :(得分:0)
这听起来像是一次性打击垫,除了你说相同的键将用于大量的字符串。现在字符串也是完全随机的,但是它们的内容是以未加密的形式存在的吗?