PBKDF2

PBKDF2

PBKDF2 (англ. Password-Based Key Derivation Function) — стандарт формирования ключа (англ.) на основе пароля. Является частью PKCS #5 v2.0 (RFC 2898). Заменил PBKDF1, который ограничивал длину порождаемого ключа 160 битами.

PBKDF2 использует псевдослучайную функцию для получения ключей. Длина генерируемого ключа не ограничивается (хотя эффективная мощность пространства ключей может быть ограничена особенностями применяемой псевдослучайной функции). Использование PBKDF2 рекомендовано для новых программ и продуктов. В качестве псевдослучайной может быть выбрана криптографическая хеш-функция, шифр, HMAC.

Содержание

Алгоритм

Общий вид вызова PBKDF2:

DK = PBKDF2 (PRF, P, S, c, dkLen)

Опции алгоритма:

  • PRF — псевдослучайная функция, с выходом длины hLen
  • P — мастер-пароль
  • S — соль (salt)
  • c — количество итераций, положительное целое число
  • dkLen — желаемая длина ключа (не более (2^32 — 1) * hLen)
  • Выходной параметр: DK — сгенерированный ключ длины dkLen

Ход вычислений:

1. l — количество блоков длины hLen в ключе (округление вверх), r — количество байт в последнем блоке:

 l = \lceil(dkLen / hLen) \rceil
 r = dkLen - (l - 1) * hLen

2. Для каждого блока применить функцию F с параметрами P — мастер пароль, S — соль, c — количество итераций, и номером блока:

                   T_1 = F (P, S, c, 1)
                   T_2 = F (P, S, c, 2)
                   ...
                   T_l = F (P, S, c, l)

F определена как операция xor (\oplus) над первыми c итерациями функции PRF, примененной к паролю P и объединению соли S и номеру блока, записанному как 4-байтовое целое с первым msb байтом.

                   F (P, S, c, i) = U_1 \oplus U_2 \oplus ... \oplus U_c
            U_1 = PRF (P, S || INT (i))
            U_2 = PRF (P, U_1)
            ...
            U_c = PRF (P, U_{c-1})

3. Объединение полученных блоков составляет ключ DK. От последнего блока берется r байт.

            DK = T_1 || T_2 ||  ...  || T_l<0..r-1>

Скорость работы

Одной из задач при создании PBKDF2 было усложнить перебор паролей. Благодаря множеству зацепленных вычислений PRF, скорость генерации ключа является небольшой. Например, для WPA-PSK с параметрами[1]

 DK = PBKDF2(HMAC-SHA1, passphrase, ssid, 4096, 256)

были достигнуты скорости перебора ключей 70 штук в секунду для Intel Core2 и около 1 тысячи на ПЛИС Virtex-4 FX60[2] Для сравнения, классические функции хеширования пароля LANMAN имеют скорость перебора около сотен миллионов вариантов в секунду[3]

Использование

Системы

Шифрование дисков

Примечания

Литература



Wikimedia Foundation. 2010.

Игры ⚽ Поможем написать курсовую

Полезное


Смотреть что такое "PBKDF2" в других словарях:

  • PBKDF2 — (Password Based Key Derivation Function) is a key derivation function that is part of RSA Laboratories Public Key Cryptography Standards (PKCS) series, specifically PKCS #5 v2.0, also published as Internet Engineering Task Force s RFC 2898. It… …   Wikipedia

  • dm-crypt — ist ein Kryptographie Modul des Device Mappers im Linux Kernel. Man kann mit dm crypt Daten mit verschiedenen Algorithmen ver und entschlüsseln, dies kann auf beliebige Gerätedateien (englisch: Devices) angewandt werden, in den meisten Fällen… …   Deutsch Wikipedia

  • bcrypt — bcrypt  адаптивная криптографическая хеш функция используемая для защищенного хранения паролей. Разработчики: Niels Provos и David Mazières. Функция основана на шифре Blowfish, впервые представлена на USENIX в 1999 году.[1] Для защиты от… …   Википедия

  • Key strengthening — In cryptography, key strengthening or key stretching refer to techniques used to make a possibly weak key, typically a password or passphrase, more secure against a brute force attack by increasing the time it takes to test each possible key.… …   Wikipedia

  • Password — For other uses, see Password (disambiguation). A password is a secret word or string of characters that is used for authentication, to prove identity or gain access to a resource (example: an access code is a type of password). The password… …   Wikipedia

  • Passphrase — A passphrase is a sequence of words or other text used to control access to a computer system, program or data. A passphrase is similar to a password in usage, but is generally longer for added security. Passphrases are often used to control both …   Wikipedia

  • Wi-Fi Protected Access — (WPA and WPA2) is a certification program administered by the Wi Fi Alliance to indicate compliance with the security protocol created by the Wi Fi Alliance to secure wireless computer networks. This protocol was created in response to several… …   Wikipedia

  • Key derivation function — KDF redirects here. For the Nazi organization, see Kraft durch Freude In cryptography, a key derivation function (or KDF) is a function which derives one or more secret keys from a secret value and/or other known information such as a password or …   Wikipedia

  • Salt (cryptography) — In cryptography, a salt consists of random bits, creating one of the inputs to a one way function. The other input is usually a password or passphrase. The output of the one way function can be stored rather than the password, and still be used… …   Wikipedia

  • Cryptography standards — There are a number of standards related to cryptography. Standard algorithms and protocols provide a focus for study; standards for popular applications attract a large amount of cryptanalysis. Contents 1 Encryption standards 2 Hash standards 3… …   Wikipedia


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»