Рейтинг:0

Можем ли мы определить размер n-байт до шифрования по AES-128?

флаг sk

Я пишу программу на питоне для шифрования файлов. Эта программа берет последующие 1024*1024 (1 мегабайт) фрагментов данных из файла и шифрует их с помощью AES-128. Это выполняется в цикле, пока все данные в файле не будут зашифрованы. Проблема в том, что размер каждого 1 мегабайта данных увеличивается при их шифровании.

Что мне нужно, так это способ определить новый размер фрагмента для каждого 1 мегабайта после его шифрования.

Рейтинг:1
флаг in

Да, вы можете определить величину, на которую будет расти ваш файл, т. е. насколько зашифрованный текст будет расширяться по сравнению с открытым текстом. Однако это в меньшей степени определяется блочным шифром, чем то, что определяется блочный шифр режим работы.

Очень часто шифрование в режиме CBC является режимом работы по умолчанию для низкоуровневых криптографических API. В этом случае — поскольку ваш фрагмент данных кратен размеру блока AES (16 байтов) — расширение зашифрованного текста представляет собой один полный блок из 16 байтов. Если перед зашифрованным текстом стоит префикс IV, он увеличится еще на 16 байтов. Расчет размера заполнения CBC: N - (L % N) где N — размер блока, а L — размер фрагмента открытого текста, оба значения в байтах.

Другие режимы, такие как режим счетчика (CTR), не используют заполнение, но они могут хранить IV или одноразовый номер вместе с зашифрованным текстом. Аутентифицированный зашифрованный текст, такой как AES-GCM, может также хранить тег аутентификации для обеспечения целостности и подлинности сообщения.

Конечно, если вы используете высокоуровневый API или протокол, то все ставки сняты; вы должны заглянуть в протокол, чтобы узнать, насколько расширяются файлы.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.