// chikrii_algorithm_strategic_labprovided as internal research — read-only
root@chikrii-lab:~/chikrii-lab/rng-engineering/rng-entropy-limit.md

엔트로피 기반 난수 생성기의 물리적 한계: 하드웨어 RNG와 의사 난수의 공학적 경계선

1. 결정론 기계가 만드는 ‘가짜 우연’

컴퓨터는 본질적으로 결정론적 기계입니다. 동일한 입력에 대해 항상 동일한 출력을 산출하도록 설계된 튜링 머신의 후예가 어떻게 ‘무작위성(Randomness)’이라는 비결정론적 현상을 만들어낼 수 있을까요. 이 모순은 현대 소프트웨어 공학이 반세기 넘게 씨름해 온 핵심 난제입니다. 모니터 화면 너머로 보이는 무작위한 숫자의 흐름 이면에는, 결정론을 비결정론으로 위장하기 위한 거대한 수학적 장치가 숨어 있습니다.

대부분의 시스템은 의사 난수 생성기(Pseudo-Random Number Generator, PRNG)를 사용합니다. Mersenne Twister, Xorshift, PCG 같은 알고리즘은 초기 시드(Seed) 값을 바탕으로 통계적으로 무작위처럼 보이는 수열을 생성합니다. 이들은 주기가 2^19937−1에 이를 만큼 길고, 대부분의 통계 검정을 통과합니다. 그러나 치명적 약점이 존재합니다. 시드만 알면 전체 수열을 완벽하게 재현할 수 있다는 점입니다. NIST SP 800-22의 난수성 검증 표준을 통과한 PRNG조차도 이론적으로는 예측 가능성의 그림자를 벗어나지 못합니다.

과거 Softlab 시절부터 계승된 정밀성의 관점에서 보면, PRNG는 ‘편의를 위한 타협’에 가깝습니다. 빠르고, 재현 가능하고, 테스트하기 쉽습니다. 그러나 진짜 무작위성은 물리 세계의 엔트로피에서만 도출됩니다.

2. 하드웨어 RNG: 열잡음부터 양자 요동까지

하드웨어 난수 생성기(True RNG)는 물리적 엔트로피 소스를 디지털 비트로 샘플링합니다. Intel의 RDRAND 명령어는 실리콘 내부의 열 잡음(Thermal Noise)을 측정하고, AMD의 RDSEED는 링 오실레이터의 메타 안정성을 활용합니다. 더 고급 시스템은 방사성 붕괴(Alpha Decay), 광자의 양자 요동(Quantum Fluctuation), 심지어 용암 램프의 물리적 운동까지 샘플링 원천으로 사용합니다. Cloudflare의 LavaRand 프로젝트가 대표적 사례입니다. 이들 소스의 공통점은 단 하나, 예측 불가능성이 물리 법칙으로 보장된다는 것입니다.

그러나 하드웨어 RNG에도 공학적 한계가 존재합니다. 엔트로피 풀(Entropy Pool)의 고갈, 샘플링 편향(Bias), 온도 변화에 따른 드리프트, 전자기 간섭에 의한 상관 증가 등 수많은 변수가 출력의 순도를 오염시킵니다. 공급 속도도 문제입니다. 하드웨어 소스는 초당 수 Kbps에서 수 Mbps 수준의 엔트로피만 생성할 수 있어, 초당 기가바이트의 난수를 요구하는 현대 시스템에 직접 공급하기에는 턱없이 부족합니다. 이 때문에 실무에서는 하드웨어 엔트로피를 PRNG의 시드로 공급하는 하이브리드 구조(CSPRNG, Cryptographically Secure PRNG)가 표준으로 자리잡았습니다.

Engineering Checklist: 엔트로피 무결성 4요소

  • Min-Entropy 측정: 최소 엔트로피 값이 비트당 0.9 이상인지 검증
  • Health Test: SP 800-90B 규격의 연속 건강성 테스트 통과 여부
  • Reseeding Interval: 시드 재설정 주기가 암호학적 임계치 이내인지 확인
  • Whitening Function: 편향된 원시 비트스트림을 균등 분포로 변환하는 후처리 함수의 적용

3. 왜 이 레이어가 중요한가

RNG 엔진의 품질은 단순한 기술 문제가 아닙니다. 그것은 시스템 전체의 공정성, 보안성, 신뢰성을 결정하는 ‘근본 레이어(Foundation Layer)’입니다. 암호키 생성, 세션 토큰, 솔트 값, 초기화 벡터 ― 모든 보안 메커니즘의 출발점이 바로 난수이기 때문입니다. 단 한 곳의 엔트로피 취약점이 전체 시스템의 신뢰 체인을 무너뜨릴 수 있습니다. 작은 자극에도 급격히 반응하는 인지 시스템의 맥락에서 보면, 무작위성 품질이 사용자 경험과 보안 모두에 미치는 영향은 결코 과소평가될 수 없습니다.

2006년 Debian OpenSSL 사건은 이 원칙을 잔혹하게 입증했습니다. 한 줄의 잘못된 주석 처리로 엔트로피 소스가 프로세스 ID 하나로 축소되었고, 2년 동안 생성된 수백만 개의 암호키가 이론적으로 해독 가능한 상태가 되었습니다.

Chikrii Lab의 Zero-Trust 원칙은 여기서 출발합니다. 우리는 시스템의 RNG 레이어 엔트로피 출처를 역추적하며, 통계적 무결성이 공학적으로 증명될 수 있는 구조만을 신뢰합니다. 진짜 무작위성은 보이지 않는 곳에서 시스템 전체의 정당성을 떠받치는 기초 공학입니다.