PBKDF2

PBKDF2 a PBKDF1 (zkratky z anglického Password-Based Key Derivation Function) jsou v kryptografii dvě funkce pro odvození klíče. PBKDF1 je starší z nich, vytváří klíče o délce nejvýše 160 bitů a z praktického hlediska je nahrazena novější funkcí PBKDF2, u které je délka vytvářeného klíče teoreticky neomezená.

Schéma fungování PBKDF2

PBKDF2 je součástí standardu PKCS#5 společnosti RSA Security, od září 2000 také součástí standardu IETF ve formě RFC 2898[1] a od prosince 2010 ji doporučuje také americký Národní institut standardů a technologie (NIST).

Vstupem je pro PBKDF2 jednak heslo nebo heslová fráze, jednak sůl a počet požadovaných iterací, jednak požadovaná pseudonáhodná funkce, která má být v iteracích použita. Typicky se jedná o nějakou funkci typu HMAC. Formálně tedy lze PBKDF2 definovat jako funkci

DK=PBKDF2(PRF, Password, Salt, c, dkLen)

kde

  • PRF je požadovaná pseudonáhodná funkce
  • Password je heslo nebo heslová fráze
  • Salt je sůl
  • c je počet požadovaných iterací
  • dkLen je požadovaná délka klíče
  • DK je vytvořený klíč

Například standard IEEE 802.11i (takzvané WPA2) používá PBKDF2 se zadáním:

DK=PBKDF2(HMAC-SHA1, heslo, SSID, 4096, 256)

Odkazy

Reference

V tomto článku byl použit překlad textu z článku PBKDF2 na anglické Wikipedii.

  1. KALISKI, Burt. PKCS #5: Password-Based Cryptography Specification Version 2.0. Request for Comments [online]. 8. 2000. Čís. 2898. Dostupné online. ISSN 2070-1721. (anglicky) 

Externí odkazy

  • PKCS #5 v2.1 [online]. Dostupné v archivu pořízeném z originálu dne 2017-04-11. Je zde použita šablona {{Cite web}} označená jako k „pouze dočasnému použití“.
  • RFC2898 – Specifikace PKCS #5 v2.0.
  • RFC6070 – Testovací vektory pro PBKDF2 s HMAC-SHA1.
  • NIST Special Publication 800-132 Recommendation for Password-Based Key Derivation