【问题标题】:Knowing plaintext composition rules, encryption algorithms, and 2 ciphertext blocks, how to find plaintext and keys了解明文组合规则、加密算法和 2 个密文块,如何找到明文和密钥
【发布时间】:2018-10-31 12:28:11
【问题描述】:

安娜想发送一条随机排列的消息,只有5个单词,分别是

INPUT, GET, HTTP, OUTPUT, POST 

喜欢

INPUTGETOUTPUTPOSTGETHTTPHTTPINPUTGET

每个字母占1个字节,整个消息会通过在消息末尾加0来对齐到128位的整数倍。

Anna拿到要发送的消息后,将其从头到尾分成若干个128位(16字节=16个字母)的明文块,像

INPUTGETOUTPUTPO, STGETHTTPHTTPINP, UTGET00000000000

随机抽取2个明文块P1和P5,使用相同的128位密钥得到密码块C1 = P1 xor keyC5 = P5 xor key

现在假设我是一个对手。以上加密算法都知道了,截取了2个密文块CA和CB,可以判断出2个密文块是由同一个密钥K1生成的强>。

现在的问题是如何用上述信息解密密钥和2个明文块。 我尝试了很多方法,想法都被打破了。我非常感谢帮助我的想法和意见。

【问题讨论】:

    标签: cryptography


    【解决方案1】:

    这是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 上,并看到 x-or 揭示了其他一些内容。如果你看到一个,现在你得到OUTPUT 在 PA 的位置。现在你也可以在 PB 中找到一些。继续……

    【讨论】:

    • 谢谢。这个方法我试过了,但是最后有个问题我没搞清楚:在滑动的过程中,得到的OUTPUT的位置是PA还是PB。
    • 有了这两个你永远不会知道。首先,您现在只需要提取密钥流。说 PA,然后继续。
    猜你喜欢
    • 1970-01-01
    • 2018-05-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多