PBKDF2-HMAC-SHA-256
Password-based key derivation with one iteration and 64 output bytes, checked against RFC 7914.
Overview & Cryptographic Context
PBKDF2 (Password-Based Key Derivation Function 2), standardized in PKCS #5 v2.1 (RFC 8018) and NIST SP 800-132, applies a pseudorandom function (here HMAC-SHA-256) c times in an iterated XOR chain over a password P, a salt S, and a 32-bit big-endian block counter INT(i):
Ti = F(P, S, c, i) = U1 ⊕ U2 ⊕ … ⊕ Uc, U1 = PRF(P, S ‖ INT(i))
Because HMAC-SHA-256 outputs 32 bytes per block, requesting a 64-byte (dkLen = 64) derived key requires computing two independent blocks T1 ‖ T2 with counters 0x00000001 and 0x00000002. This workflow verifies the normative PBKDF2-HMAC-SHA-256 step from RFC 7914 §11 with Password = "passwd", Salt = "salt", c = 1, and dkLen = 64.
Pipeline Architecture & Wiring Flow
- Password & Salt Ingress (
Workflow Input): Supplies the UTF-8 byte representations of"passwd"(6 B) and"salt"(4 B). - Key Stretching (
PBKDF2 Key Derivation): Configured withhashAlgorithm = "SHA-256",iterations = 1, andkeyLength = 64. - Derived Key Output (
Workflow Output): Outputs the 64-byte (512-bit)DerivedKey.
Nodes & Configuration
| Node | Node Role & Key Parameters | Count |
|---|---|---|
| Workflow Input | Supplies Password and Salt | 1 |
| PBKDF2 Key Derivation | Configured with hashAlgorithm = "SHA-256", iterations = 1, keyLength = 64 | 1 |
| Workflow Output | Collects the 64-byte DerivedKey | 1 |
Inputs, Outputs & Test Vector Verification
Verification Source: RFC 7914 §11 (P="passwd", S="salt", c=1, dkLen=64)
Inputs
| Name | Type | Value (Hex) |
|---|---|---|
Password | bytes (6 B, ASCII "passwd") | 706173737764 |
Salt | bytes (4 B, ASCII "salt") | 73616c74 |
Expected Outputs
| Name | Type | Value (Hex) |
|---|---|---|
DerivedKey | bytes (64 B) | 55ac046e56e3089fec1691c22544b605f94185216dde0465e68b9d57c20dacbc49ca9cccf179b645991664b39d77ef317c71b845b1e30bd509112041d3a19783 |