1. 난수 생성의 중요성과 CSPRNG
난수(Random Number)는 예측 불가능한 값으로 암호화, 보안, 게임, 시뮬레이션에 필수적입니다. 일반 난수 생성기는 의사 난수(Pseudo-Random)로 알고리즘으로 생성되어 시드값을 알면 예측 가능합니다. 보안이 중요한 경우 CSPRNG(Cryptographically Secure Pseudo-Random Number Generator)를 사용해야 합니다. PHP의 random_bytes(), random_int()는 CSPRNG로 /dev/urandom이나 CryptGenRandom을 사용합니다. JavaScript는 crypto.getRandomValues()를 제공하며 브라우저의 엔트로피 소스를 활용합니다. 일반 Math.random()은 보안에 부적합하므로 토큰, 세션 ID, 암호화 키 생성 시 절대 사용하면 안 됩니다.