PBKDF2 | |
---|---|
Utvecklare | RSA-säkerhet [d] |
PBKDF2 (härlett från den engelska lösenordsbaserade nyckelhärledningsfunktionen ) är en lösenordsbaserad nyckelgenereringsstandard . Det är en del av PKCS #5 v2.0 ( RFC 2898 ). Ersatte PBKDF1, som begränsade längden på den genererade nyckeln till 160 bitar.
PBKDF2 använder en pseudo-slumpmässig funktion för att generera nycklar. Längden på den genererade nyckeln är inte begränsad (även om nyckelutrymmets effektiva kardinalitet kan begränsas av egenskaperna hos den tillämpade pseudo-slumpmässiga funktionen). Användning av PBKDF2 rekommenderas för nya program och produkter. En kryptografisk hashfunktion , chiffer, HMAC kan väljas som pseudo-slumpmässig .
I Ryska federationen regleras användningen av PBKDF2-funktionen av standardiseringsrekommendationer R 50.1.111-2016 "Lösenordsskydd för nyckelinformation" [1] , medan det rekommenderas att använda HMAC- insättningsgenereringsfunktionen baserad på Stribog keyless hashing fungera som en pseudo-slumpmässig funktion ( GOST R 34.11 ).
Allmän bild av PBKDF2-anropet:
Algoritmalternativ:
Beräkningsförlopp:
1. l - antalet block med längd hLen i nyckeln (avrundning uppåt), r - antalet byte i det sista blocket:
2. För varje block, tillämpa funktion F med parametrarna P , S , c och blocknummer:
F definieras som en XOR ( )-operation på de första c iterationerna av PRF som appliceras på P och föreningen av S och blocknumret, skrivet som ett 4-byte big-endian heltal .
3. Att kombinera de mottagna blocken är nyckeln DK . r bytes tas från det sista blocket.
Ett av målen med att skapa PBKDF2 var att göra det svårare att bruteforce-lösenord. På grund av de många inblandade PRF-beräkningarna är nyckelgenereringshastigheten låg. Till exempel för WPA-PSK med parametrar [2] .
70 nycklar per sekund uppnåddes för Intel Core2 och cirka 1 tusen för Virtex-4 FX60 FPGA [3] . Som jämförelse kan nämnas att de klassiska LANMAN-lösenordshashningsfunktionerna har en brute force rate på omkring hundratals miljoner val per sekund [4] .
Hash-funktioner | |
---|---|
generell mening | |
Kryptografisk | |
Nyckelgenereringsfunktioner | |
Kontrollnummer ( jämförelse ) | |
Hashes |
|