Я довольно плохо знаком с шифрованием C ++ и блочным шифром, и в настоящее время я нахожусь в процессе написания функции расшифровки для AES (16-байтовые начальные / 16-байтовые блоки). Все идет хорошо, но мой общий размер данных не всегда кратен размеру моего блока. Мне интересно, как лучше всего обрабатывать оставшиеся данные в конце моих данных.
Я использую Crypto ++ для библиотеки AES.
Функция ProcessBlock()
принимает массив символов ввода и вывода. Я предполагаю, что они ожидают, что они будут достаточно большими, как размер блока.
Как лучше всего обработать все 16-байтовые блоки в блочном шифре, а затем обработать оставшиеся данные?