Как сохранить соль и IV в файле cocoa?

#cocoa #encryption #aes #salt

#какао #шифрование #aes #соль

Вопрос:

Итак, я внедрил соли и IV, но расшифровка теперь немного глючит. Конечно, мне нужны и соль, и IV для расшифровки, но пользователь не может ввести это… Мне нужно иметь возможность хранить как соль, так и IV в зашифрованном файле, а затем извлекать соль и IV, когда пользователь расшифровывает файл. Как бы я это сделал? Как я буду хранить и извлекать эти данные?

Ответ №1:

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

Вместо того, чтобы создавать свой собственный формат файлов ad-hoc для зашифрованного хранилища, взгляните на формат сообщений OpenPGP (используемый как PGP, так и GnuPG, и, возможно, другими программами). Это указано в RFC 4880. Скорее всего, вам не придется реализовывать все это, но возьмите те части, которые вам нужны для вашего приложения.

В качестве дополнительного бонуса пользователь может использовать PGP / GPG (с правильными параметрами и паролем / ключом) для расшифровки данных, если ваша программа каким-то образом перестанет работать.

Ответ №2:

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

Комментарии:

1. Да, я понял это, но как мне создать свой собственный формат файла?