Какой ключевой объект должен быть принят этой функцией?
Массив байтов.
как бы вы получили это из пароля случайной длины пользователя?
Обычной практикой является использование функций получения ключей на основе пароля (PBKDF), таких как PBKDF2, Bcrypt, Argon2, BalloonHash и т. д. Имейте в виду, что они не могут увеличить надежность ввода. Поэтому пользователь должен выбрать хороший пароль с достаточной надежностью, такой как пароль, сгенерированный методом dicewire.
В некоторых приложениях, таких как шифрование диска, для шифрования диска генерируется единый случайный ключ, который шифруется на основе ключа, полученного из паролей пользователя. Тем не менее, безопасность зависит от качества пароля.
Кроме того, материал ключа может быть источником обмена ключами, такого как DHKE, в этом случае функция создания ключа, такая как HKDF, должна применяться к материалу ключа для получения ключа AES (байты).
Будет ли PKCS7 уже запущен, чтобы ключ был дополнен?
Ни в коем случае, это не безопасно. Если вы разрабатываете библиотеку, отклоните ввод пользователя (программистов), если он короче целевого размера ключа.
показывает ли это, что фактически введенный пользователем ключ является частью расписания ключей или все ключи в расписании получены из фактического необработанного ключа ввода пользователя?
Пароль пользователя должен быть обработан с помощью PBKDF для получения ключа. Расписанию ключей требуется массив ключей, размер которого зависит от предпочтительного AES (128 192 256). ключевой график не различает качество ключевого материала и это не является частью его дизайна. Ответственность за качество ключевого материала лежит на пользователе и библиотеках. Библиотеки, которые шифруют, должны были обрабатывать пароли с хорошим PBKDF и вводить выходные данные в расписание ключей. Этот процесс должен быть независимым от пользователя, за исключением некоторого предупреждения о качестве пароля.
Все в одном;
- Получите пароль от пользователя и предупредите пользователя, если пароль короткий.
- получить желаемый массив байтов ключа из пароля с помощью PBKDF
- Предоставьте ключевому расписанию производный ключевой массив байтов.