2

是否可以使用 xor 获取用于加密字符序列的密钥?

例子

假设我有以下字符串:1456,所以:

  • 1 - 49 ascii - 00110001 二进制
  • 4 - 52 ascii - 00110100 二进制
  • 5 - 53 ascii - 00110101 二进制
  • 6 - 54 ascii - 00110110 二进制

钥匙:100

然后我执行以下操作:1 ^ 100(以二进制表示:00110001 ^ 01100100),并得到以下结果:“UPQR”,我怎么知道我使用 xor 中的密钥 100 加密“1456”得到“UPQR”作为结果。

提前致谢!

4

3 回答 3

3

如果您知道原始序列和编码序列,那么对于每个组件,它必须是

original[i] ^ encoded[i] == key

如果您不知道原始内容,那么您将不得不尝试使用每个可能的键,看看结果是否有意义(对于一些意义的定义)。

于 2012-05-18T01:46:25.867 回答
1

注意 Wikipedia 关于XOR cipher的评论

就其本身而言,使用恒定的重复密钥,一个简单的 XOR 密码可以通过频率分析轻松破解。

尽管如果密钥是消息的大小(并且是随机的,并且只使用一次),那么您就有一个一次性的 pad。那是牢不可破的,期间。虽然它对大多数人来说太麻烦了。

于 2012-05-18T01:52:31.713 回答
0

如果您处于密码破解的位置,那么您绝对应该查看Sinkov 的基本密码分析和盖恩斯的密码分析:密码及其解决方案的研究。这两本书都深入探讨了Vigenère Cipher的密钥恢复,这与 XOR 操作的顺序应用非常相似。

于 2012-05-18T01:52:17.733 回答