Key Derivation · Password RFC 8018 / NIST SP 800-132 RFC 7914 §11 Verified

PBKDF2-HMAC-SHA-256

Password-based key derivation with one iteration and 64 output bytes, checked against RFC 7914.

Open in app Download .ncw

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

Workflow Input (Password, Salt) ──► PBKDF2 Key Derivation (SHA-256, c=1, 64 B) ──► Workflow Output (DerivedKey 64B)
  1. Password & Salt Ingress (Workflow Input): Supplies the UTF-8 byte representations of "passwd" (6 B) and "salt" (4 B).
  2. Key Stretching (PBKDF2 Key Derivation): Configured with hashAlgorithm = "SHA-256", iterations = 1, and keyLength = 64.
  3. Derived Key Output (Workflow Output): Outputs the 64-byte (512-bit) DerivedKey.

Nodes & Configuration

NodeNode Role & Key ParametersCount
Workflow InputSupplies Password and Salt1
PBKDF2 Key DerivationConfigured with hashAlgorithm = "SHA-256", iterations = 1, keyLength = 641
Workflow OutputCollects the 64-byte DerivedKey1

Node reference →

Inputs, Outputs & Test Vector Verification

Verification Source: RFC 7914 §11 (P="passwd", S="salt", c=1, dkLen=64)

Inputs

NameTypeValue (Hex)
Passwordbytes (6 B, ASCII "passwd")706173737764
Saltbytes (4 B, ASCII "salt")73616c74

Expected Outputs

NameTypeValue (Hex)
DerivedKeybytes (64 B)55ac046e56e3089fec1691c22544b605f94185216dde0465e68b9d57c20dacbc49ca9cccf179b645991664b39d77ef317c71b845b1e30bd509112041d3a19783