Anna希望发送一个随机排列的消息,该消息只有5个字,即
INPUT, GET, HTTP, OUTPUT, POST
喜欢
INPUTGETOUTPUTPOSTGETHTTPHTTPINPUTGET
每个字母占用1个字节,通过在邮件末尾加0,整个邮件将对齐为 128位的整数倍。
在发送完消息后,安娜将它从头到尾分成几个128位(16字节= 16个字母)纯文本块,例如
INPUTGETOUTPUTPO, STGETHTTPHTTPINP, UTGET00000000000
随机选择2个纯文本块P1和P5,并使用相同的128位密钥来获得密码块C1 = P1 xor key
C5 = P5 xor key
。
现在假设我是一个对手。我知道上述所有加密算法,并且拦截了2个密文块CA和CB ,并且可以确定2个密文块是由相同的密钥K1 生成的。 strong>。
现在的问题是如何使用上述信息解密密钥和2个纯文本块。 我尝试了很多方法,但想法全都被打破了。我非常感谢帮助我的想法和意见。
答案 0 :(得分:0)
这是two-time pad的版本。我相信这是一个竞赛问题,所以只给您提示。
X或两个密文
PP = CA x-or CB = PA x-or key x-or PB x-or key = PA x-or PB
现在通过滑动将您有限的文字说OUTPUT
应用于x-or或与此PP并看到x-or揭示了其他一些内容。如果看到一个,现在您将获得OUTPUT
在PA中的位置。现在,您也可以在PB中找到一些内容。继续...