PBKDF2 | |
---|---|
Udviklere | RSA-sikkerhed [d] |
PBKDF2 (afledt af den engelske adgangskodebaserede nøgleafledningsfunktion ) er en adgangskodebaseret nøglegenereringsstandard . Det er en del af PKCS #5 v2.0 ( RFC 2898 ). Erstattet PBKDF1, som begrænsede længden af den genererede nøgle til 160 bit.
PBKDF2 bruger en pseudo-tilfældig funktion til at generere nøgler. Længden af den genererede nøgle er ikke begrænset (selvom den effektive kardinalitet af nøglerummet kan være begrænset af funktionerne i den anvendte pseudo-tilfældige funktion). Brugen af PBKDF2 anbefales til nye programmer og produkter. En kryptografisk hashfunktion , cipher, HMAC kan vælges som pseudo-tilfældig .
I Den Russiske Føderation er brugen af PBKDF2-funktionen reguleret af standardiseringsanbefalinger R 50.1.111-2016 "Adgangskodebeskyttelse af nøgleinformation" [1] , mens det anbefales at bruge HMAC -indsættelsesgenereringsfunktionen baseret på Stribog nøglefri hashing fungere som en pseudo-tilfældig funktion ( GOST R 34.11 ).
Generel visning af PBKDF2-opkaldet:
Algoritme muligheder:
Beregningsfremskridt:
1. l - antallet af blokke med længde hLen i nøglen (afrunding op), r - antallet af bytes i den sidste blok:
2. Anvend funktion F for hver blok med parametrene P , S , c og bloknummer:
F er defineret som en XOR ( ) operation på de første c iterationer af PRF anvendt til P og foreningen af S og bloknummeret, skrevet som et 4-byte big-endian heltal .
3. Kombination af de modtagne blokke er nøglen DK . r bytes tages fra den sidste blok.
Et af målene med at skabe PBKDF2 var at gøre det sværere at brute force adgangskoder. På grund af de mange involverede PRF-beregninger er nøglegenereringshastigheden lav. For eksempel for WPA-PSK med parametre [2] .
70 nøgler i sekundet blev opnået for Intel Core2 og omkring 1 tusind for Virtex-4 FX60 FPGA [3] . Til sammenligning har de klassiske LANMAN password hashing- funktioner en brute force rate på omkring hundreder af millioner af valg pr. sekund [4] .
Hash funktioner | |
---|---|
generelle formål | |
Kryptografisk | |
Nøglegenereringsfunktioner | |
Tjek nummer ( sammenligning ) | |
Hashes |
|