CyberGlossary

Криптография

Функция деривации ключа (KDF)

Также известно как: KDF, Деривация ключа

Определение

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

Функция деривации ключа (Key Derivation Function, KDF) получает на вход секретный материал — пароль, общий секрет Diffie-Hellman или существующий мастер-ключ — и формирует один или несколько криптографически стойких ключей фиксированной длины. KDF делятся на два семейства: парольные KDF, специально сделанные медленными и memory-hard (Argon2id, scrypt, bcrypt, PBKDF2), и KDF типа extract-and-expand для входов с высокой энтропией (HKDF, RFC 5869). HKDF используется в TLS 1.3, Signal, WireGuard и Noise для получения нескольких сеансовых ключей из одного общего секрета на базе HMAC. Хорошая KDF принимает соль и опциональную строку контекста (info), обеспечивая разделение доменов производных ключей, чтобы ключи разных контекстов не были связаны или взаимозаменяемы.

Примеры

  • В TLS 1.3 HKDF-Extract+Expand используется для получения секретов рукопожатия и трафика.
  • Argon2id выводит 32-байтовый AES-ключ из парольной фразы пользователя для разблокировки зашифрованного хранилища.

Связанные термины