TOC |
|
This document contains test vectors for the Public-Key Cryptography Standards (PKCS) #5 Password Based Key Derivation Function 2 (PBKDF2) with the Hash-based Message Authentication Code (HMAC) Secure Hash Algorithm (SHA-1) pseudorandom function.
This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as “work in progress.”
This Internet-Draft will expire on February 17, 2011.
Copyright (c) 2010 IETF Trust and the persons identified as the document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License.
1.
Introduction
2.
PBKDF2 HMAC-SHA1 Test Vectors
3.
Acknowledgements
4.
Copying conditions
5.
Security Considerations
6.
IANA Considerations
7.
References
7.1.
Normative References
7.2.
Informative References
§
Author's Address
TOC |
The Public-Key Cryptography Standards (PKCS) #5 (Kaliski, B., “PKCS #5: Password-Based Cryptography Specification Version 2.0,” September 2000.) [RFC2898] Password Based Key Derivation Function 2 (PBKDF2) is used by several protocols to derive encryption keys from a password.
For example, Salted Challenge Response Authentication Mechanism (SCRAM) (Newman, C., Menon-Sen, A., Melnikov, A., and N. Williams, “Salted Challenge Response Authentication Mechanism (SCRAM) SASL and GSS-API Mechanisms,” July 2010.) [RFC5802] uses PBKDF2 with Hash-based Message Authentication Code (HMAC) (Krawczyk, H., Bellare, M., and R. Canetti, “HMAC: Keyed-Hashing for Message Authentication,” February 1997.) [RFC2104] and Secure Hash Algorithm (SHA-1) (National Institute of Standards and Technology, “Secure Hash Standard,” April 1995.) [FIPS.180‑1.1995].
Test vectors for the algorithm were not included in the original specification, but are often useful for implementers. This document addresses this shortcoming.
TOC |
Below the input strings are encoded using ASCII (American National Standards Institute, “Coded Character Set - 7-bit American Standard Code for Information Interchange,” 1986.) [ANSI.X3‑4.1986]. The sequence "\0" (without quotation marks) means a literal ASCII NUL value (1 octet).
Input: P = "password" (8 octets) S = "salt" (4 octets) c = 1 dkLen = 20 Output: DK = 0c 60 c8 0f 96 1f 0e 71 f3 a9 b5 24 af 60 12 06 2f e0 37 a6 (20 octets)
Input: P = "password" (8 octets) S = "salt" (4 octets) c = 2 dkLen = 20 Output: DK = ea 6c 01 4d c7 2d 6f 8c cd 1e d9 2a ce 1d 41 f0 d8 de 89 57 (20 octets)
Input: P = "password" (8 octets) S = "salt" (4 octets) c = 4096 dkLen = 20 Output: DK = 4b 00 79 01 b7 65 48 9a be ad 49 d9 26 f7 21 d0 65 a4 29 c1 (20 octets)
Input: P = "password" (8 octets) S = "salt" (4 octets) c = 16777216 dkLen = 20 Output: DK = ee fe 3d 61 cd 4d a4 e4 e9 94 5b 3d 6b a2 15 8c 26 34 e9 84 (20 octets)
Input: P = "passwordPASSWORDpassword" (24 octets) S = "saltSALTsaltSALTsaltSALTsaltSALTsalt" (36 octets) c = 4096 dkLen = 25 Output: DK = 3d 2e ec 4f e4 1c 84 9b 80 c8 d8 36 62 c0 e4 4a 8b 29 1a 96 4c f2 f0 70 38 (25 octets)
Input: P = "pass\0word" (9 octets) S = "sa\0lt" (5 octets) c = 4096 dkLen = 16 Output: DK = 56 fa 6a a7 55 48 09 9d cc 37 d7 f0 34 25 e0 c3 (16 octets)
TOC |
Barry Brachman and Love Hörnquist Åstrand confirmed the test vectors (using independent implementations) and pointed out a mistake in the salt octet length count.
TOC |
This document should be considered a Code Component, and is thus effectively available under the BSD license.
TOC |
None.
TOC |
None.
TOC |
TOC |
[ANSI.X3-4.1986] | American National Standards Institute, “Coded Character Set - 7-bit American Standard Code for Information Interchange,” ANSI X3.4, 1986. |
[RFC2104] | Krawczyk, H., Bellare, M., and R. Canetti, “HMAC: Keyed-Hashing for Message Authentication,” RFC 2104, February 1997 (TXT). |
[RFC2898] | Kaliski, B., “PKCS #5: Password-Based Cryptography Specification Version 2.0,” RFC 2898, September 2000 (TXT). |
[FIPS.180-1.1995] | National Institute of Standards and Technology, “Secure Hash Standard,” FIPS PUB 180-1, April 1995. |
TOC |
[RFC5802] | Newman, C., Menon-Sen, A., Melnikov, A., and N. Williams, “Salted Challenge Response Authentication Mechanism (SCRAM) SASL and GSS-API Mechanisms,” RFC 5802, July 2010 (TXT). |
TOC |
Simon Josefsson | |
SJD AB | |
Hagagatan 24 | |
Stockholm 113 47 | |
SE | |
Email: | simon@josefsson.org |
URI: | http://josefsson.org/ |