我有三条消息,每条消息都是异或编码的,每个密钥用于这个异或密码的每条消息。
我还有一个额外的信息:我知道e_1\oplus e_2的解码内容等于e_3的解码内容。
如何解决这个问题,才能得到密钥并解码消息的内容?
发布于 2020-07-01 04:53:52
我在这方面有点新,所以可能有更好的方法来解决这个问题,但我就是这样解决的。如果我理解得对,给出的额外参数如下:
(也就是说,e1 xor的解码内容与e2的解码内容等于e3的解码内容)
括号只提供可读性,因此方程在没有它们的情况下是相同的。这意味着我们有\mathtt{}{e}_{1} \oplus k \oplus {e}_{2} \oplus k = e_{3} \oplus k
左手边有两个"\mathtt{}\oplus k"'s‘,所以他们可以被移除以得到以下信息:
右手边也可以用\mathtt{}m_{3}代替,以表示解密的\mathtt{}e_{3}:
给出了\mathtt{}e_{1}和\mathtt{}e_{2},通过对它们进行xoring我们可以得到:
\mathtt{}{m}_{3} = 1101001100和我们也知道:
现在我们有了\mathtt{}m_{3}和\mathtt{}e_{3},现在我们可以解决\mathtt{}k:
现在您可以对所有3条加密消息进行解码:
希望这能帮上忙。
发布于 2020-07-01 05:03:15
这个问题是关于按位排他-或运算符(也称为XOR或\oplus)的属性,它在密码学中非常常见。它是同名的和注意到的位算子的位算子异或,哪个真值表是
位算子对长度相同的位串进行操作,并将布尔运算符应用于输入中的等秩位,从而形成输出中的位。因此,按位XOR运算符只对输入的每个位应用上述表。8-bit位字符串的示例:
位XOR运算符\oplus继承了位运算符\oplus的属性:
前三个属性是国内法 (等效:操作)的交换群 (等效: Abelian群)的属性。
最后一个属性使组成为布尔群。具体来说,n位的位字符串的布尔组,注意到\left(\{0,1\}^n,\oplus\right)。
这个问题是针对11国集团( n of 11)的。它归结为写一个方程的语句,并通过应用指定的属性来解决这些问题。如果一个人陷入困境,在评论中有提示,在其他答案中有一个可行的解决方案。
https://crypto.stackexchange.com/questions/80774
复制相似问题