PBKDF2 | |
---|---|
Fejlesztők | RSA biztonság [d] |
A PBKDF2 (az angol jelszó-alapú kulcs-levezetési függvényből származik ) egy jelszó-alapú kulcsgeneráló szabvány . A PKCS #5 v2.0 ( RFC 2898 ) része. A PBKDF1 helyére került, amely 160 bitre korlátozta a generált kulcs hosszát.
A PBKDF2 pszeudo-véletlen függvényt használ a kulcsok generálásához. A generált kulcs hossza nincs korlátozva (bár a kulcstér effektív számosságát korlátozhatják az alkalmazott pszeudo-véletlen függvény tulajdonságai). Új programok és termékek esetén a PBKDF2 használata javasolt. Egy kriptográfiai hash függvény , titkosítás, HMAC választható pszeudo-véletlenként .
Az Orosz Föderációban a PBKDF2 funkció használatát az R 50.1.111-2016 „A kulcsfontosságú információk jelszavas védelme” [1] szabványosítási ajánlás szabályozza, míg a Stribog kulcs nélküli kivonatoláson alapuló HMAC beszúrásgeneráló funkció használata javasolt. pszeudo-véletlen függvényként működik ( GOST R 34.11 ).
A PBKDF2 hívás általános képe:
Algoritmus opciók:
A számítás folyamata:
1. l - a hLen hosszúságú blokkok száma a kulcsban (felfelé kerekítés), r - a bájtok száma az utolsó blokkban:
2. Minden blokkhoz alkalmazza az F függvényt P , S , c paraméterekkel és blokkszámmal:
Az F XOR ( ) műveletként van definiálva a P - re alkalmazott PRF első c -iterációin, valamint S és a blokkszám unióján, 4 bájtos big-endian egész számként írva .
3. A kapott blokkok kombinálása a kulcs DK . r bájtot veszünk az utolsó blokkból.
A PBKDF2 létrehozásának egyik célja az volt, hogy megnehezítsék a jelszavak brutális erőszakos kiszabását. A sok érintett PRF számítás miatt a kulcsgenerálási sebesség alacsony. Például WPA-PSK-hoz [2] paraméterekkel .
Az Intel Core2 esetében 70, a Virtex-4 FX60 FPGA esetében pedig körülbelül 1 ezret értek el [3] . Összehasonlításképpen, a klasszikus LANMAN jelszó -kivonatoló függvények brutális kényszere körülbelül több száz millió választási lehetőség másodpercenként [4] .
Hash függvények | |
---|---|
Általános rendeltetésű | |
Kriptográfia | |
Kulcsgenerálási funkciók | |
Csekkszám ( összehasonlítás ) | |
Hashes |
|