Как раздать init.вектор с данными, зашифрованными с помощью симметричного шифра? - PullRequest
0 голосов
/ 22 ноября 2011

Я хочу предоставить пользователю услугу шифрования некоторых данных с помощью симметричного шифра в файл.Пользователь просто предоставляет ключ, и он / она может предоставить вектор инициализации для шифра.

Есть ли стандарт, как должен выглядеть файл?Имеет смысл заполнить файл зашифрованными данными и показать соответствующий вектор инициализации в диалоговом окне.Кому-то может показаться разумным, что вектор инициализации должен храниться в файле с зашифрованными данными.

Для меня важно то, что результат полезен для пользователя и ему / ей не понадобитсяпотрудиться с корректировкой результата.

Спасибо за комментарий!

Ответы [ 3 ]

2 голосов
/ 22 ноября 2011

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

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

Я рекомендую формат сообщения OpenPGP, как определено в RFC 4880 (или некотором его подмножестве, если вам не нужны все функции). Это также имеет то преимущество, что ваши клиенты могут затем дешифровать ваши файлы с помощью любой реализации OpenPGP (например, pgp или gpg), если ваша программа как-то перестает работать (конечно, только если у них есть ключ / пароль).

2 голосов
/ 23 ноября 2011

Обычной практикой является предоставление IV как первого блока файла зашифрованного текста.Таким образом, получатель просто обрабатывает первые 8 байтов (DES) или 16 байтов (AES) как IV, а остальную часть файла - как фактический зашифрованный текст.

Используйте тот же формат для IV, что и при использованиидля зашифрованного текста: Base64, шестнадцатеричные, байтовые данные или что-то еще.

1 голос
/ 22 ноября 2011

все будет в порядке, если вы храните IV вместе с зашифрованными данными в файле ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...