У меня есть 5 различных строк, которые я хочу использовать в качестве ключа. К ним относятся:Как использовать короткие строки для использования в качестве ключа AES?
asuspcgame, dragonZ, whiterice, ball, document
Я хочу, чтобы выполнить шифрование с использованием EVP OpenSSL, как это: https://www.openssl.org/docs/man1.0.2/crypto/EVP_EncryptInit.html
Однако я понял, что пример использует ключ фиксированного размера (16 символов для AES_128).
unsigned char key[] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};
EVP_EncryptInit_ex(&ctx, EVP_idea_cbc(), NULL, key, iv);
Мой вопрос: Как заставить мои строки всегда иметь фиксированный размер 16 символов?
Я не видел никаких функций от EVP, которые могли бы заставить мои строки стать фиксированным ключом.
Современная функция деривации [HKDF] (https://tools.ietf.org/html/rfc5869). Как только вы извлекаете-и-расширяете, запускайте вывод через какую-то память, как и Scrypt, чтобы сделать грубую работу более болезненной. Вы также можете запустить его, хотя PBKDF2 и друзей. – jww