True Random Number Generator는 저장한 상태만 확장하는 대신 물리적 원천에서 무작위성을 얻습니다. 잡음 원천, 샘플링, 조정 처리, 앱 인터페이스는 서로 다른 부분입니다. 하드웨어 기원만으로 균등하거나 독립적인 출력 비트가 보장되지는 않습니다.
NIST SP 800-90B는 잡음 원천, 선택적 조정 처리, 상태 검사로 구성된 엔트로피 원천을 평가합니다. 대상은 생성한 바이트 수만이 아니라 근거를 갖춘 샘플의 불확실성입니다. 물리 현상 이름만으로 이런 추정치가 나오지는 않습니다. [NIST SP 800-90B — Entropy sources, conditioning and health tests]
조정 처리는 편향을 줄이고 가용 엔트로피를 짧은 출력에 집중할 수 있습니다. NIST SP 800-90B는 입력과 메커니즘에 따라 주장할 수 있는 출력 엔트로피를 제한합니다. 무작위처럼 보이는 해시 자체가 원래 샘플의 예측 불가능성을 입증하지는 않습니다. [NIST SP 800-90B — Entropy sources, conditioning and health tests]
NIST SP 800-90B의 Repetition Count Test와 Adaptive Proportion Test는 반복과 비정상적인 샘플 빈도를 감시합니다. 보편적인 안전성 증명은 아닙니다. 지속적인 고장을 감지한 뒤 원천은 정상적으로 출력을 계속 제공해서는 안 됩니다. [NIST SP 800-90B — Entropy sources, conditioning and health tests]
NIST SP 800-90B는 평가를 특정 원천의 기술적·동작 조건과 연결합니다. 재시작 검사는 긴 연속 기록을 보완합니다. 한 수집 표본의 성공이 모든 장치, 환경, 펌웨어 변경을 자동으로 포괄하지는 않습니다. [NIST SP 800-90B — Entropy sources, conditioning and health tests]
Intel DRNG 가이드는 결정적 생성기 출력을 읽는 RDRAND와 초기화를 위한 조정된 엔트로피 값을 제공하는 RDSEED를 구분합니다. 하드웨어 명령이라고 반드시 가공하지 않은 물리적 잡음을 직접 읽는 것은 아닙니다. [Intel DRNG guide — RDRAND, RDSEED and CF]
Intel은 RDRAND와 RDSEED 모두 CF를 확인하도록 요구합니다. 1은 결과가 있음을, 0은 없음을 뜻합니다. 대상 레지스터의 숫자 0 자체는 성공 검사가 아닙니다. 명령 지원과 개별 호출 성공은 다른 문제입니다. [Intel DRNG guide — RDRAND, RDSEED and CF]
Linux hw_random 문서는 이 문자 장치 인터페이스에서 /dev/hwrng 데이터에 품질 검사를 하지 않으며 고장 난 하드웨어가 잘못된 데이터를 반환할 수 있다고 경고합니다. 장치를 읽는 것만으로 엔트로피 품질이나 앱의 안전한 통합이 증명되지는 않습니다. [Linux kernel — Hardware random number generator interface]
NIST SP 800-90C는 엔트로피 원천과 생성 메커니즘을 완전한 구성으로 결합합니다. 지갑 평가에서는 실제 부품, 버전, 검사, 고장 상태, 후속 처리를 확인해야 합니다. 원천 인증만으로 지갑 전체를 평가하거나 나중의 백업을 보호할 수는 없습니다. [NIST SP 800-90C — Complete RBG constructions]
더 정확히 이해하려면 이 항목과 함께 다음도 읽어 보세요 Cryptographic Entropy, Random Number Generator, CSPRNG, Entropy Mixing. 다음 항목에서도 이 글을 참조합니다 Entropy Mixing.