키 유도 · 패스워드 RFC 8018 / NIST SP 800-132 RFC 7914 §11 검증됨

PBKDF2-HMAC-SHA-256

반복 1회, 출력 64바이트의 패스워드 기반 키 유도이며 RFC 7914로 검증했다.

앱에서 열기 .ncw 내려받기

개요 및 암호학적 배경

PBKDF2(Password-Based Key Derivation Function 2)는 PKCS #5 v2.1(RFC 8018)과 NIST SP 800-132로 표준화되어 있습니다. 의사난수 함수(여기서는 HMAC-SHA-256)를 패스워드 P, 솔트 S, 32비트 빅엔디언 블록 카운터 INT(i)에 대해 c번 반복하고, 그 결과를 XOR로 누적합니다.

Ti = F(P, S, c, i) = U1 ⊕ U2 ⊕ … ⊕ Uc,   U1 = PRF(P, S ‖ INT(i))

HMAC-SHA-256은 블록당 32바이트를 내므로, 64바이트(dkLen = 64) 키를 요청하면 카운터 0x00000001과 0x00000002로 독립된 블록 T1 ‖ T2를 계산해야 합니다. 이 워크플로우는 RFC 7914 §11의 PBKDF2-HMAC-SHA-256 규범 단계를 Password = "passwd", Salt = "salt", c = 1, dkLen = 64로 검증합니다. 반복 횟수 c가 1이므로 시험 벡터 확인용일 뿐이며, 실제 패스워드 보호에는 훨씬 큰 반복 횟수가 필요합니다.

파이프라인 배선 구조와 단계별 흐름

Workflow Input (Password, Salt) ──► PBKDF2 Key Derivation (SHA-256, c=1, 64 B) ──► Workflow Output (DerivedKey 64B)
  1. 패스워드와 솔트 입력(Workflow Input): "passwd"(6 B)와 "salt"(4 B)의 UTF-8 바이트열을 공급합니다.
  2. 키 스트레칭(PBKDF2 Key Derivation): hashAlgorithm = "SHA-256", iterations = 1, keyLength = 64로 설정합니다.
  3. 유도 키 출력(Workflow Output): 64바이트(512비트) DerivedKey를 출력합니다.

노드 구성 및 설정

노드역할과 주요 매개변수개수
Workflow InputPassword와 Salt 공급1
PBKDF2 Key DerivationhashAlgorithm = "SHA-256", iterations = 1, keyLength = 64로 설정1
Workflow Output64바이트 DerivedKey 수집1

노드 레퍼런스 →

입출력 명세 및 시험 벡터 검증

검증 출처: RFC 7914 §11 (P="passwd", S="salt", c=1, dkLen=64)

입력

이름타입값 (Hex)
Passwordbytes (6 B, ASCII "passwd")706173737764
Saltbytes (4 B, ASCII "salt")73616c74

기대 출력

이름타입값 (Hex)
DerivedKeybytes (64 B)55ac046e56e3089fec1691c22544b605f94185216dde0465e68b9d57c20dacbc49ca9cccf179b645991664b39d77ef317c71b845b1e30bd509112041d3a19783