난수의 씨앗

youtu.be The Lava Lamps That Help Keep The Internet Secure

엄밀히 말하면 컴퓨터는 난수를 생성하지 못한다. 단순히 정해진 알고리즘에 따라 값을 출력할 뿐.

그러니까 어떤 숫자를 입력했을 때 정해진 알고리즘에 따라 난수처럼 ‘보이는’ 수열을 출력할 뿐이고, 그 시작 숫자를 시드(seed, 씨앗)라고 부르는 것으로 알고 있다.

그러니까 시드값이 같으면 결과값도 같아지는데, 그래서 시드값을 예측할 수 없도록 여러 방법을 쓴다. 대표적인 게 밀리초 단위의 현재 시각 같은 걸 시드값으로 쓰는 건데….

클라우드플레어에서는 재밌고 기발한 방법을 쓰는구나.

샌프란시스코 사무실 로비 벽에 라바 램프 100개쯤을 세워 두고 카메라로 찍는다고 한다. 램프 속 왁스가 흘러가는 모양은 누구도 예측할 수 없으니, 그 사진을 다른 무작위 값과 섞어 시드를 만드는 데 쓴다고.

comments