
5월 22일 SK텔레콤은 삼성전자와 함께 5G 스마트폰 ‘갤럭시 A 퀀텀’을 출시했다. 겉모습은 기존 갤럭시 A 시리즈와 거의 비슷해 보이지만, ‘퀀텀’이라는 단어가 붙은 이유가 있다. 양자난수생성기(QRNG·Quantum Random Number Generator) 칩셋이 들어 있어서다. SK텔레콤은 “QRNG 칩셋이 ‘진짜’ 난수를 생성한다”고 설명했다. 그렇다면 이제껏 이용된 난수는 ‘가짜’ 난수였을까.
의사 난수 vs. 진짜 난수
통신, 전자금융거래 등 각종 정보통신기술(ICT)에서 보안용 암호를 생성하기 위해서는 무작위 숫자 배열이 필요하다. 이처럼 숫자 배열의 패턴이나 규칙이 없는 숫자의 나열을 난수(random number)라고 부른다.
정육면체 주사위 하나를 던져서 나온 수를 순서대로 기록한다고 할 때, 이 숫자 배열은 어떤 규칙도 없다. 다음에 어떤 숫자가 나올지도 모른다(물론 숫자 1~6 중 하나를 찍을 순 있겠지만). 이처럼 예측할 수 없는 숫자 나열이 바로 난수다.
난수는 보안에 필요한 암호키 외에도 온라인 RPG(역할수행게임)에서 아이템을 무작위로 발생시킬 때, 음원 서비스 애플리케이션(앱)이 랜덤 재생 기능을 실행할 때 등 다양한 용도로 쓰인다. 뿐만 아니라 기후변화 시뮬레이션, 작물 수확량 예측, 금융 시장 예측 모델, 심지어 핵무기의 지하 폭발 탐지 등의 확률을 측정할 때도 난수가 사용된다.
난수는 예측이 불가능한 만큼 생성 방법이 결정돼 있지 않다. 그래서 고전적으로는 수학 알고리즘을 만들고, ‘시드’라고 불리는 초기값만 입력한 뒤 무작위하게 ‘보이는’ 난수를 생성했다. 이런 난수를 진짜 난수와 구별해 의사(pseudo) 난수라고 한다.
의사 난수는 비교적 만들기 쉽고, 간단한 난수가 필요할 때 유용하다. 하지만 아쉬운 점이 있다. 복잡한 수식에 따라 만들지만, 수식이 노출되면 난수를 예측할 수 있다. 또 난수생성기를 만드는 사람이 초기값을 정해서 입력한다는 문제도 있다.
그래서 등장한 것이 더 좋은 품질의 진짜(true) 난수다. 이는 시드조차 완전히 ‘랜덤’하게 추출하는 방식을 쓴다. 가령 컴퓨터 메모리 열 감지기에 나오는 수치 끝자리, 특정 기계음에서 발생하는 노이즈 수치 등 절대 예측할 수 없는 수를 시드로 이용하는 것이다. 현재 우리가 사용하는 시스템 대부분이 이런 진짜 난수를 이용하고 있다.

빛 알갱이로 초당 2000여 개 양자 난수 생성
최근에는 우주배경복사(CMB·Cosmic Microwave Background), 양자역학 현상 등 예측할 수 없는 자연 현상을 이용해 난수를 생성하기도 한다. 그리고 난수를 생성할 재료로 양자(quantum)를 이용한 게 바로 양자난수생성기다. 양자난수생성기에 쓰이는 양자역학적 성질은 빛의 무작위성을 이용한 방식과 방사성동위원소의 자연 붕괴 현상을 이용한 방식이 대표적이다.
2018년 미국 국립표준기술원(NIST) 연구팀은 빛의 무작위성을 이용한 양자역학적 원리로 양자난수생성기를 개발했다. 연구팀은 특정 결정에 강한 레이저를 쪼였을 때 레이저 빛이 광자 쌍을 만들어내는 양자역학적 현상을 이용했다. 무작위로 0과 1의 비트를 생성하는 광자의 상태를 측정한 뒤 그 결과를 프로그램에 입력해 양자 난수를 생성한 것이다. doi: 10.1038/s41586-018-0019-0
최근 출시된 갤럭시 A 퀀텀은 이런 양자역학의 원리를 적용한 난수생성기를 작은 칩셋으로 만들어 스마트폰 안에 탑재한 것이다. 이 또한 빛의 무작위성을 이용했다. SK텔레콤이 갤럭시 A 퀀텀에 탑재한 QRNG 칩셋은 레이저 대신 발광다이오드(LED) 광원에서 방출된 광자를 이용했다. 양자난수생성기와 함께 내장된 이미지 센서가 방출된 광자를 감지한다.
SK텔레콤은 홈페이지를 통해 “일정 시간 동안 센서의 일정 면적에서 감지되는 광자의 개수는 무작위하게 발생하는데, 이를 이용해 난수를 생성한다”며 “QRNG 칩셋은 이 과정을 통해 초당 2000여 개의 양자 난수를 추출하며, 추출할 때마다 난수의 개수가 바뀐다”고 밝혔다.