PBKDF2 | |
---|---|
Vývojáři | RSA Security [d] |
PBKDF2 (odvozeno z anglické funkce pro odvození klíče na základě hesla) je standard pro generování klíčů založený na hesle . Je součástí PKCS #5 v2.0 ( RFC 2898 ). Nahrazen PBKDF1, který omezil délku generovaného klíče na 160 bitů.
PBKDF2 používá pro generování klíčů pseudonáhodnou funkci. Délka vygenerovaného klíče není omezena (ačkoli efektivní mohutnost klíčového prostoru může být omezena vlastnostmi použité pseudonáhodné funkce). Použití PBKDF2 se doporučuje pro nové programy a produkty. Kryptografickou hashovací funkci , šifru, HMAC lze vybrat jako pseudonáhodné .
V Ruské federaci je použití funkce PBKDF2 upraveno standardizačními doporučeními R 50.1.111-2016 „Ochrana klíčových informací heslem“ [1] , přičemž je doporučeno používat funkci generování vložení HMAC na základě bezklíčového hashování Stribog fungovat jako pseudonáhodná funkce ( GOST R 34.11 ).
Celkový pohled na volání PBKDF2:
Možnosti algoritmu:
Průběh výpočtu:
1. l - počet bloků délky hLen v klíči (zaokrouhlení nahoru), r - počet bajtů v posledním bloku:
2. Pro každý blok použijte funkci F s parametry P , S , c a číslem bloku:
F je definována jako operace XOR ( ) na prvních citacích PRF aplikovaných na P a sjednocení S a čísla bloku, zapsané jako 4bajtové big-endian celé číslo .
3. Kombinace přijatých bloků je klíčem DK . r bytů je převzato z posledního bloku.
Jedním z cílů při vytváření PBKDF2 bylo ztížit hrubou sílu hesel. Vzhledem k mnoha zapojeným PRF výpočtům je rychlost generování klíčů nízká. Například pro WPA-PSK s parametry [2] .
70 klíčů za sekundu bylo dosaženo pro Intel Core2 a asi 1 tisíc pro Virtex-4 FX60 FPGA [3] . Pro srovnání, klasické funkce hašování hesel LANMAN mají rychlost hrubé síly kolem stovek milionů voleb za sekundu [4] .
Hashovací funkce | |
---|---|
obecný účel | |
Kryptografický | |
Funkce generování klíčů | |
Kontrolní číslo ( srovnání ) | |
Hashe |
|