#cocoa #encryption #aes #salt
#какао #шифрование #aes #соль
Вопрос:
Итак, я внедрил соли и IV, но расшифровка теперь немного глючит. Конечно, мне нужны и соль, и IV для расшифровки, но пользователь не может ввести это… Мне нужно иметь возможность хранить как соль, так и IV в зашифрованном файле, а затем извлекать соль и IV, когда пользователь расшифровывает файл. Как бы я это сделал? Как я буду хранить и извлекать эти данные?
Ответ №1:
Как сказал Питер, вектор инициализации и соль для получения ключа должны храниться вместе с зашифрованным файлом, в заголовке или тому подобном.
Вместо того, чтобы создавать свой собственный формат файлов ad-hoc для зашифрованного хранилища, взгляните на формат сообщений OpenPGP (используемый как PGP, так и GnuPG, и, возможно, другими программами). Это указано в RFC 4880. Скорее всего, вам не придется реализовывать все это, но возьмите те части, которые вам нужны для вашего приложения.
В качестве дополнительного бонуса пользователь может использовать PGP / GPG (с правильными параметрами и паролем / ключом) для расшифровки данных, если ваша программа каким-то образом перестанет работать.
Ответ №2:
Сохраните их вместе с зашифрованным текстом. Вам нужно будет придумать подходящий формат файла, в котором это можно сделать; архиватор с ключом упростит это.
Комментарии:
1. Да, я понял это, но как мне создать свой собственный формат файла?