【问题标题】:Can AES generate arbitrary ciphertext by choosing plaintext and key? [closed]AES可以通过选择明文和密钥来生成任意密文吗? [关闭]
【发布时间】:2021-03-13 23:13:08
【问题描述】:

我所有的困惑都来自以下示例:

key='c086e08ad8ee0ebe7c2320099cfec9eea9a346a108570a4f6494cfe7c2a30ee1'.decode('hex')
IV='78228d4760a3675aa08d47694f88f639'.decode('hex')
pad=lambda S: S+chr(16-len(S)%16)*(16-len(S)%16)
from Crypto.Cipher import AES
cipher=AES.new(key,AES.MODE_CBC,IV)
msg='NO, NOT SECRET!'
cip=cipher.encrypt(pad(msg))

那么 cip 就是“这是秘密吗??”。所以,我不知道这是纯属巧合还是有某种算法可以通过正确选择密钥和明文来生成我想要的密文。

【问题讨论】:

标签: aes


【解决方案1】:

这有点谜,不是吗?诀窍是首先使用分组密码解密IS THIS SECRET?? 字符串。然后,骗子可以通过更改 IV 来更改生成的随机“明文”。查看 CBC 模式以了解具体方法。

最后,骗子只需要在密文中添加一个加密的填充块。好的,由于这可能是您需要弄清楚的任务,请尝试自己创建这样一个奇怪的密文,并将其解密为您自己的特殊消息。

【讨论】:

    猜你喜欢
    • 2016-11-21
    • 2018-05-31
    • 2012-11-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多