两个时间垫攻击

Two Time Pad Attack


目前我正在做密码学的在线挑战。一个挑战是破解 "One Time Pad"。我想请你们给个提示。我现在坚持了一段时间。

密文如下所示:

4de61dd9dab5e0701f5e664ff522de12bd588051da4d3f62df
3c3303e696139af0280308f5720d5e45efaa03bc6d37d84294
06b25cded0e2fb74045f681bd4378a5bba10901fd6513b2cc0
343c0aa3c6138df02d1f46e63a090d07f3b602bc653bcd5ad1
00fa5890c4f0e062175d2348bd30c25dbb44c951c0503f6fd8
3d3114b28e1390b4611146e53a091c45f8bc01f56f2ac1459f
07be1dc2ccf8fc67131a3355f326c957ba438403cc03362adf
213b14b5ca5290b537155aa1680d0b54eff916bc7e3fcc06d1
15fc5990c1f4e574565b665cf22cce12ac5e8a04d24b7a3dca
3b3a09abc60191a533134da17c070c07eeb803fd207efc4294
54f552dccdb5fd64115d234fbd2ad912eb7d841fc142372adc
3c324684871599b92f0340ee68065c09

(每行密码有 50 个字符 btw)
我知道垫子有 50 个字符长。所以它被使用了大约 11.7 次。 我也在网上做了很多研究,所以我知道

M = 留言 | P =垫| C = 密码

所以我将第一行与第二行进行了异或运算(我假设它已额外转换为十六进制)。结果如下:

71d51e3f4ca67a80375d6eba872f805752f283edb77ae7204b

在此之后,我将其转换为 ASCII 并收到:

qÕ?L¦z7]nº/WRòí·zç K

所以我知道这里有问题,尽管如此我还是尝试用我的结果解密第一行并希望我能得到结果。
但令人惊讶的是,结果是

VæÙÚµàp^rOõ"Þ½XQÚM?bß

我做错了什么?解决这一挑战的可能方法是什么?互联网上对我没有任何帮助。

提前致谢:)

您正在查看十六进制字符。两个十六进制字符是一个字节。一个字节是一个 ASCII 字符。在我看来,您必须同时乘坐 1 号线和 2 号线(等等)。字节中的值似乎也表明了这一点。也就是说,这个密码已经被使用了大约5.8次。

4de61dd9dab5e0701f5e664ff522de12bd588051da4d3f62df3c3303e696139af0280308f5720d5e45efaa03bc6d37d84294
06b25cded0e2fb74045f681bd4378a5bba10901fd6513b2cc0343c0aa3c6138df02d1f46e63a090d07f3b602bc653bcd5ad1
00fa5890c4f0e062175d2348bd30c25dbb44c951c0503f6fd83d3114b28e1390b4611146e53a091c45f8bc01f56f2ac1459f
07be1dc2ccf8fc67131a3355f326c957ba438403cc03362adf213b14b5ca5290b537155aa1680d0b54eff916bc7e3fcc06d1
15fc5990c1f4e574565b665cf22cce12ac5e8a04d24b7a3dca3b3a09abc60191a533134da17c070c07eeb803fd207efc4294
54f552dccdb5fd64115d234fbd2ad912eb7d841fc142372adc3c324684871599b92f0340ee68065c09

请注意,对值进行异或运算的结果不会生成 ASCII;它将导致 M1 XOR M2。现在,如果两者都是数字则 '1' XOR '2' 将转换为 31 XOR 32(十六进制)或 00110001 XOR 00110010(二进制),这将导致 00000011(二进制)、03(十六进制)或ASCII 中不可打印的控制字符 End-of-Text