异或加密攻击向量

发布于 2025-01-07 03:33:36 字数 89 浏览 0 评论 0原文

假设密钥是一个长度为 10 的字符串,完全随机。
我们使用密钥对大量完全随机长度 10 的字符串进行异或。
如果加密的字符串被泄露,密钥可以恢复吗?

Lets say the key is a string of length 10, perfectly random.
We use the key to xor a large quantity of perfectly random length 10 strings.
Can the key be recovered if the encrypted strings are compromised?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

洛阳烟雨空心柳 2025-01-14 03:33:36

如果使用相同密钥的两个密文被异或在一起,则所有密钥信息都将被删除,并且可以恢复有关明文的信息。如果明文是随机的,那么不会太多,但有些是可以恢复的。如果明文有意义,那么将可以恢复更多信息。

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”查看现实生活中的例子。

If two cyphertexts which use the same key are XOR'ed together then all key information is removed, and it is possible to recover information about the plaintexts. If you plaintexts are random, then that will not be much, but some will be recoverable. If the plaintexts are meaningful then a lot more information will be recoverable.

C1 = P1 XOR K

C2 = P2 XOR K

C1 XOR C2 = (P1 XOR K) XOR (P2 XOR K) = P1 XOR P2

That is why the One Time Pad must be a One Time Pad. Using the same random key twice makes it breakable. Google "Venona" for a real life example.

鹿港巷口少年归 2025-01-14 03:33:36

不会。

如果输入数据是完全随机,则通过 XOR 应用完全随机密钥不会产生任何有意义的模式。结果仍然是随机的,并且无法从随机性中收集到任何信息。

XOR 不用作加密机制的原因是众所周知的明文攻击,它不适用于随机语料库。

No.

If the input data are completely random, then applying a completely random key via XOR doesn't produce any meaningful patterns. The result is still random, and no information can be gleaned from randomness.

The reason XOR isn't used as an encryption mechanism is generally known-plaintext attacks, which do not apply against a random corpus.

逆光飞翔i 2025-01-14 03:33:36

是的!

字符串可能是随机的,但它们仍然遵循某种形式的字符编码(ascii、utf、ebcdic 等),因此只有某些字节有效。

攻击者可以循环遍历可能的密钥,忽略导致无效 ascii(或 w/e)明文的密钥。这可以一次完成一个关键字符,因此它不是 26^10,而是 26*10(对于 26 个字符的字母表)。

这是一种不安全的加密方案。

Yes!

The strings might be random but they will still follow some form of character encoding (ascii, utf, ebcdic, etc...) and so only certain bytes will be valid.

An attacker can loop through possible keys discounting the ones that result in plaintext that is not valid ascii(or w/e). This can be done one key-character at a time and so it's not 26^10, but 26*10 (for a 26 character alphabet).

This is an unsafe encryption scheme.

一抹苦笑 2025-01-14 03:33:36

这听起来像是一次性本,除了您所说的同一键将用于大量字符串这一事实。现在字符串也将是完全随机的,但它们的内容是否以未加密的形式已知?

It sounds like a one time pad, except for the fact that you said that the same key would be used for a large quantity of strings. Now the strings would also be perfectly random, but are their content known in unencrypted form?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文