로또 번호 생성기, 게임 아이템 드랍, 암호화 키... 모두 '랜덤'에 의존합니다. 그런데 컴퓨터는 진짜 랜덤을 만들 수 있을까요? 무료 랜덤 번호 생성기로 직접 확인해보세요.
의사 난수(PRNG) vs 진성 난수(TRNG)
의사 난수 (PRNG)
- •수학 알고리즘으로 생성
- •시드(seed)값이 같으면 같은 수열
- •빠르고 예측 가능 → 게임·시뮬레이션에 적합
- •예: Math.random(), Java Random
진성 난수 (TRNG)
- •물리적 현상(열잡음, 방사선) 활용
- •완전히 예측 불가능
- •느리지만 진짜 랜덤 → 암호화 키에 필수
- •예: 하드웨어 보안 모듈(HSM)
분야별 랜덤 활용 방식
🔐 암호화
CSPRNG(암호학적으로 안전한 난수) 사용 — 예측 불가능성이 생명
🎰 로또·복권
물리적 기계(공 추첨) 또는 TRNG — 조작 방지를 위해 하드웨어 랜덤
🎮 게임 드랍률
PRNG로 충분 — 빠른 속도와 재현 가능성이 중요
📊 통계 시뮬레이션
PRNG + 고정 시드 — 같은 조건에서 재현 가능해야 함
💡 브라우저의 Math.random()은 PRNG라 암호화에 절대 사용 금지. 보안이 필요한 경우 crypto.getRandomValues()를 사용하세요.
일상의 결정에는 완벽한 랜덤이 필요하지 않습니다. SpinFlow 로또 번호 생성기나 주사위 굴리기로 재미있고 공정한 결정을 내려보세요.