Encryption 无IV的AES循环流化床解密

Encryption 无IV的AES循环流化床解密,encryption,aes,Encryption,Aes,我似乎无法打破这个密码 密文:O289WYTZJPSJNXAIEEQSLFCF7LYXN2RZ77ICOE5D2MKY= 键:z5hD4/pit9ickytpdgdwq== from base64 import b64encode from Crypto.Cipher import AES from Crypto.Random import get_random_bytes data = "Flag to encrypt: GMC{xxxxxxxxxx}" key = g

我似乎无法打破这个密码

密文:O289WYTZJPSJNXAIEEQSLFCF7LYXN2RZ77ICOE5D2MKY=

键:z5hD4/pit9ickytpdgdwq==

from base64 import b64encode
from Crypto.Cipher import AES
from Crypto.Random import get_random_bytes

data = "Flag to encrypt: GMC{xxxxxxxxxx}"

key = get_random_bytes(16)
with open('key.txt', 'w') as f:
    f.write(b64encode(key).decode('utf-8'))

cipher = AES.new(key, AES.MODE_CFB, segment_size=128)
ct_bytes = cipher.encrypt(data.encode('utf-8'))

with open('ciphertext.txt', 'w') as f:
    f.write(b64encode(ct_bytes).decode('utf-8'))
在全块CFB模式(CFB-128)中,错误的IV会损坏第一个明文块。在发布的示例中,第一个明文块仅包含明文的已知部分,因此后续未知部分可以使用任何IV进行解密。无论如何,由于第一个明文块和密文块是已知的,因此也可以重构真实IV。