Я хочу зашифровать 128-битный ключ AES с помощью парольной фразы. Максимальное количество символов парольной фразы — 16. Можно ли зашифровать ключ? Какой алгоритм подходит для шифрования ключа?
как зашифровать ключ AES с помощью парольной фразы?
comment
Не используйте пароль в качестве ключа AES. Используйте KDF на основе пароля (в основном медленный хэш с солью), чтобы получить ключ из пароля. PBKDF2 является распространенным выбором.
- person CodesInChaos   schedule 15.01.2015
Ответы (1)
Я не буду комментировать, хорошая это идея или нет, поскольку я не думаю, что вы дали нам достаточно информации для этого.
Но «стандартный» способ сделать это — хешировать кодовую фразу с помощью MD5, SHA1 и т. д. Вы также можете добавить немного секретной соли, чтобы сделать ее более безопасной.
Таким образом, шифрование становится
salt = "MY SECRET SALT TEXT"
plaintext = AES_KEY
key = sha1(passphrase + salt)
ciphertext = AES(key,plaintext)
Теперь зашифрованный текст — это зашифрованная версия ключа AES.
person
mox1
schedule
15.01.2015
SHA1 или MD5 не являются стандартным способом. PBKDF2 нужно использовать с огромным количеством итераций.
- person Artjom B.; 15.01.2015