Почему не получается расшифровать текст? >>> bs = AES.block_size
>>> pad = lambda s: s + (bs - len(s) % bs) * chr(bs - len(s) % bs)
>>> key = "password1234".encode() # to bytes
>>> aes_1 = AES.new(md5(key).digest(), AES.MODE_CFB, bytes([random.randint(0,0xFF) for i in range(16)]))
>>> aes_2 = AES.new(md5(key).digest(), AES.MODE_CFB, bytes([random.randint(0,0xFF) for i in range(16)]))
>>> d_text = pad("texttexttexttext blablablah")
>>> e_text = aes_1.encrypt(d_text)
>>> aes_1.decrypt(e_text)
b'\n\xce\x85\xeb\x8aK-\xd6\xbe\x9e\xafj;\xf9\x1e. blablablah\x05\x05\x05\x05\x05'
>>> aes_2.decrypt(e_text)
b'texttexttexttext blablablah\x05\x05\x05\x05\x05'
Вопрос: почему aes_1, которым текст был зашифрован, не смог этот текст расшифровать, а aes_2 смог? Все кроме начального вектора у них одинаковое, т.е что-бы расшифровать текст - IV нужно рандомизировать? Почему тогда нигде об этом не написано? Или так плохо читал/гуглил?
UPD: погугил еще, почитал о режимах подробнее, понял почему не получается расшировать, попробовал еще раз - теперь и aes_1 и aes_2 выдает мусор вместо текста. ЧЯДНТ?

21 Авг 2019 в 07:14
213 +1
0
Ответы
Нет ответов
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 83 038 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир