Рассмотрим файл, который будет зашифрован библиотекой C #, которую я напишу, состоящую из 64-байтового HMAC, за которым сразу следуют зашифрованные данные, зашифрованные с помощью AES 256. 16-байтовый IV, 32-байтовый ключ и 64-байтовый Ключ инициализации HMACSHA512 будет получен из Rfc2898DeriveBytes с помощью однострочного пароля, введенного пользователем (4096 итераций и единственная соль из random.org).
Есть ли какие-либо негативные последствия для безопасности этого проекта?
Я вышел за борт? (это, с 64-байтовым ключом инициализации или 4096 итерациями)
Я хочу иметь возможность дешифровать любые данные, чтобы использовать встроенный HMAC для проверки правильности пароля (то есть, что «дешифрованный файл является исходным файлом»). В частности, я стараюсь избегать ошибок, таких как «Заполнение недопустимо и не может быть удалено». Есть идеи, как это сделать?