主要内容
异或与一次性密码本
我们为什么必须使用 XOR?
我们做一次性密码本时用 AND、OR 还是 XOR 真的重要吗?答案是肯定的,而且了解为什么也很重要。如果你还记得前一篇文章,AND 有 75% 输出 0 的可能性和 25% 输出 1 的可能性。 而 OR 有 25% 输出 0 的可能性和 75% 输出 1 的可能性。 而 XOR 操作法有 50% 的可能性输出 0 或者 1.
让我们看一个图示例子,通过 为图片加密 来看 AND、OR 与 XOR 不同的混合效果。
图片有几千个微小的彩色方形,叫做像素。图片中的每一个像素,正如之前一篇文章所说,可以被表达为 24 位的顺序。让我们把这个称为 明码文本图片 (或者信息)。
首先让我们看看用一串 随机位 来对图片中的每一位进行 AND 会怎么样。
AND
注意原来的信息大部分都还能看到。这在任何随机移位 1 被运用,或者明码是 0 的时候发生,:
记者让我们看看用一串 随机位 来对图片中的每一位进行 OR 会怎么样。
OR
注意原来的信息大部分都还能看到。这在任何随机移位 0 被运用,或者明码是1 的时候发生:
最后,让我们看看用一串 随机位 来对图片中的每一位进行 XOR 会怎么样。
(请击鼓... ...)
XOR
查尔斯去哪儿了?
注意明码只在 50% 的时候 能看到, 结果就是 噪音 因为每一个像素 一样可能是 0 或 1.
这个图片 没有关于原来的图片的信息。如果我们没有提供移位顺序,返回到原图片是 不可能的 。你可以尝试每一个可能的顺序,但是那样的结果会是每一个可能的图片!这样,你如何知道是巴贝奇?一样可能是你或 任何可以想象到的东西 的图片。
注意明码只在 50% 的时候 能看到, 结果就是 噪音 因为每一个像素 一样可能是 0 或 1.
这个图片 没有关于原来的图片的信息。如果我们没有提供移位顺序,返回到原图片是 不可能的 。你可以尝试每一个可能的顺序,但是那样的结果会是每一个可能的图片!这样,你如何知道是巴贝奇?一样可能是你或 任何可以想象到的东西 的图片。