Шифрование AES - ключ против IV

Приложение, над которым я работаю, позволяет пользователю шифровать файлы. Файлы могут быть любого формата (электронная таблица, документ, презентация и т.д.).

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

Алгоритм AES требует два различных параметра для шифрования, ключ и вектор инициализации (IV).

Я вижу три варианта создания ключевого файла:

  1. Встроить жестко закодированный IV в приложение и сохранить ключ в ключевом файле.
  2. Встроить жестко закодированный ключ в приложение и сохранить IV в файле ключа.
  3. Сохраните и ключ, и IV в файле ключа.

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

Похоже, что все три варианта достигнут одной и той же конечной цели. Однако я хотел бы получить ваше мнение о том, каким должен быть правильный подход.

61
задан sashoalm 22 October 2016 в 07:39
поделиться

1 ответ

IV используется для увеличения безопасность через случайность, но это не означает, что используется всем алгоритмом, т.е. enter image description here

, вещь приема состоит в том, какой длины IV должен быть? Обычно это - тот же размер как размер блока или размер шифра. Например, AES имела бы 16 байтов для IV. Кроме того, тип IV может также быть выбран, т.е. eseqiv, seqiv, chainiv...

0
ответ дан 24 November 2019 в 17:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: