485 / 691MIX-H

Entropy Mixing

엔트로피 혼합

Entropy Mixing은 비밀값 생성을 위해 입력을 결합합니다. 효과는 예측 불가능성, 의존 관계, 구체적인 메커니즘에 달려 있으며, 소스 수와 해시 길이만으로 안전성이 결정되지는 않습니다.

엔트로피 혼합은 여러 입력을 공통 상태나 출력으로 처리하는 것입니다. 제공된 데이터, 입증된 엔트로피, 이후의 결정론적 확장을 구분해야 합니다. 인터페이스 이름이 둘이라고 독립적인 소스가 둘인 것은 아닙니다.

NIST SP 800-90B는 서로 의존하는 소스의 결합 엔트로피를 추정하기 어려울 수 있다고 설명합니다. 패킷 도착 시각과 디스크 접근 시각은 관련될 수 있습니다. 따라서 문서화된 모델 없이 개별 추정치를 단순 합산할 수 없습니다. [NIST SP 800-90B — Additional noise sources]

RFC 4086은 XOR를 단순 혼합의 예로 사용합니다. 독립적인 균등 입력은 결과의 균등성을 유지하지만, 같은 입력의 복사본은 X XOR X = 0을 만듭니다. 이는 의존 관계를 설명하는 예이며 지갑 제작 절차가 아닙니다. [RFC 4086 — Mixing and randomness requirements]

강한 혼합은 기존 불확실성을 집중시킬 수 있지만 알려진 입력의 결정론적 해시는 여전히 예측 가능합니다. RFC 4086은 혼합과 확장을 구분합니다. 출력 길이나 알려진 상수의 추가는 그만큼의 새 엔트로피를 입증하지 않습니다. [RFC 4086 — Mixing and randomness requirements]

NIST SP 800-90B는 추가 잡음 입력을 주 소스에 이어 붙여 검토된 컨디셔닝을 거치도록 허용하지만, 이 방식에서는 추가 엔트로피를 인정하지 않습니다. 이는 해당 평가의 규칙이지 다른 소스가 결코 도움이 되지 않는다는 주장이 아닙니다. [NIST SP 800-90B — Additional noise sources]

OpenSSL 3.5의 RAND_add()는 num 바이트를 혼합하고 randomness는 0부터 num까지 바이트 단위로 엔트로피를 추정합니다. 버퍼 길이만으로 그 추정치를 정당화할 수 없습니다. 기본 생성기는 보통 시스템 소스로 자동 초기화하고 다시 시드합니다. [OpenSSL 3.5 — RAND_add and FIPS reseeding]

OpenSSL 3.5 문서에 따르면 FIPS 모드에서 애플리케이션 데이터는 추가 입력일 뿐 신뢰된 엔트로피 소스가 아닙니다. 이를 섞어도 완전한 재시드로 인정되지 않습니다. 따라서 RAND_add() 호출만으로 그러한 갱신을 입증할 수 없습니다. [OpenSSL 3.5 — RAND_add and FIPS reseeding]

RFC 5869는 HKDF-Extract와 HKDF-Expand를 구분합니다. 전자는 입력 엔트로피를 집중시키고 후자는 필요한 길이를 도출합니다. info 매개변수는 출력을 애플리케이션 문맥에 연결하며, 좋은 초기 재료를 대신하거나 새 엔트로피를 입증하지 않습니다. [RFC 5869 — HKDF extraction, expansion and independence]

검토는 입력 출처, 의존 관계, 공격자 능력과 구체적인 메커니즘을 확인해야 합니다. RFC 5869는 독립성과 솔트 조작을 명시적으로 다룹니다. 소스 목록이나 무작위로 보이는지 확인하는 시험만으로 소스 고장 후에도 구조가 안전함을 입증할 수 없습니다. [RFC 5869 — HKDF extraction, expansion and independence]

더 정확히 이해하려면 이 항목과 함께 다음도 읽어 보세요 Cryptographic Entropy, CSPRNG, True Random Number Generator, Seed Generation. 다음 항목에서도 이 글을 참조합니다 Dice Roll Entropy, True Random Number Generator.

DOC · 001NIST SP 800-90B — Additional noise sources명세 ↗DOC · 002RFC 4086 — Mixing and randomness requirements명세 ↗DOC · 003OpenSSL 3.5 — RAND_add and FIPS reseeding문서 ↗DOC · 004RFC 5869 — HKDF extraction, expansion and independence명세 ↗
1차 출처 우선 · 투자 조언이 아닙니다