Content deleted Content added
I am Santiago Herrera Manjarrez (sha1) of the PATTEN. Incrypted/s=Santiago h=Herrera a=dycrypted=AAA=MANJARREZ}}=ALIEN1/ Tags: Reverted Visual edit Mobile edit Mobile web edit |
|||
(6 intermediate revisions by 5 users not shown) | |||
Line 1:
{{Short description|Function that derives secret keys from a secret value}}
{{more footnotes|date=July 2013}}
{{Use dmy dates|date=January 2016}}
[[File:KDF chain.png|300px|thumb|right
In [[cryptography]], a '''key derivation function''' ('''KDF''') is a cryptographic algorithm that derives one or more [[key (cryptography)|secret key]]s from a secret value such as a master key, a [[password]], or a [[passphrase]] using a [[pseudorandom function]] (which typically uses a [[cryptographic hash function]] or [[block cipher]]).<ref>{{cite book|author=Bezzi, Michele|chapter=Data privacy |editor=Camenisch, Jan|title=Privacy and Identity Management for Life|publisher=Springer|year=2011|
==History==
The first{{citation needed|date=June 2015}} deliberately slow (key stretching) password-based key derivation function was called "[[crypt (C)|crypt]]"
Although high throughput is a desirable property in general-purpose hash functions, the opposite is true in password security applications in which defending against brute-force cracking is a primary concern. The growing use of [[Massively parallel|massively-parallel]] hardware such as [[Graphics processing unit|GPUs]], [[Field-programmable gate array|FPGAs]], and even [[Application-specific integrated circuit|ASICs]] for brute-force cracking has made the selection of a suitable algorithms even more critical because the good algorithm should
In June 2017, The U.S. National Institute of Standards and Technology (NIST) issued a new revision of their digital authentication guidelines, NIST SP 800-63B-3,<ref name=sp800-63B />{{rp|5.1.1.2}} stating that: "Verifiers SHALL store memorized secrets [i.e. passwords] in a form that is resistant to offline attacks. Memorized secrets SHALL be salted and hashed using a suitable one-way key derivation function. Key derivation functions take a password, a salt, and a cost factor as inputs then generate a password hash. Their purpose is to make each password guessing trial by an attacker who has obtained a password hash file expensive and therefore the cost of a guessing attack high or prohibitive."
Line 46:
# [[scrypt]] if Argon2id is unavailable
# [[bcrypt]] for legacy systems
# [[PBKDF2]] if [[FIPS-140]] compliance is required
== References ==
|