Шифрование AES обрезает текст в режиме CFB

Я пытаюсь прочитать из файла и зашифровать данные, используя AES в режиме CFB без заполнения

' AES/CFB /NoPadding'. IV имеет длину 16 байт.

Учитывая, что AES по умолчанию работает с 16-байтовыми блоками, я бы подумал об использовании схемы заполнения, если бы использовал CBC или любой другой режим, кроме CFB. CFB по существу не требует заполнения для открытого текста.

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

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

Чего я не понимаю, так это того, что при использовании CFB мне не нужно дополнять данные... правильно! Тогда почему 16-байтовый размер блока AES по умолчанию вступает в действие и усекает данные?

6
задан Rohan 14 June 2012 в 07:51
поделиться