컴퓨터는 본래 정해진 명령어에 따라 예측 가능하게 동작하는 결정론적(Deterministic) 기계입니다. 그렇다면 컴퓨터 프로그램은 과연 어떻게 '예측 불가능한 무작위 번호'를 생성할 수 있을까요? 복권 및 보안 시스템의 핵심인 **난수 생성기(Random Number Generator, RNG)**의 세계를 살펴봅니다.

1. 의사 난수(PRNG) vs 진성 난수(TRNG)

  • 의사 난수 생성기 (Pseudo-Random Number Generator, PRNG): 수학적 공식(예: 메르센 트위스터)에 초기 시드(Seed) 값을 입력하여 무작위처럼 보이는 수열을 계산합니다. 시드 값을 알면 다음 숫자를 정확히 예측할 수 있다는 한계가 있습니다.
  • 진성 난수 생성기 (True Random Number Generator, TRNG): 열 잡음, 방사성 붕괴, 공기 대류 등 자연계의 물리적 무작위 현상(Entropy)을 측정하여 숫자를 생성합니다. 완전히 예측이 불가능한 완벽한 무작위성을 가집니다.

2. 럭키앤뷰티 랩의 암호학적 난수 생성(Crypto-RNG) 방식

본 사이트의 로또 6/45 추첨 엔진은 단순한 Math.random() 대신 웹 표준 암호화 API인 window.crypto.getRandomValues()를 사용합니다. 이는 운영체제의 엔트로피 풀(Entropy Pool)을 활용하여 암호학적으로 안전한 난수를 생성하므로 인위적인 조작이나 편향이 전혀 발생하지 않습니다.