난수
특정한 배열 순서나 규칙을 가지지 않는 연속적인 임의의 수
의사난수
컴퓨터에 의해서 만들어지는 난수
아주 긴 주기를 가지고 있는 숫자 열
임의성
균일분포: 수열의 비트 분포가 균일, 0과 1의 출현빈도가 거의 동일해야함
독립성: 수열의 어느 부분 수열도 다른 부분 수열로부터 추정될 수 없음
비예측성
수열의 잇따른 다음 수의 순서에 대해 예측이 불가능해야함
TRING(True Random Number Generator, 진 난수 생성기)
실제적으로 랜덤한 소스를 입력으로 사용
키보드 입력 타이밍 패턴 및 마우스 움직임
디스크의 전기적 활동, 시스템 클럭의 순간 값
PRING(Pseudo Random Number Generator, 의사 난수 생성기)
고정값 seed를 입력받아 결정적 알고리즘을 사용하여 출력 비트열 생성
제한이 없는 비트열 생성하는데 사용
(알고리즘과 시드를 알고 있는 공격자는 비트열 재생성 가능)
PRF(Pseudo Random Function, 의사난수함수)
고정된 길이의 의사 난수 비트열을 생산하는데 사용
PRING 요구 사항
seed를 알지못하는 공격자가 의사 난수열을 결정할 수가 없어야함
임의성: 생성된 비트 스트림이 결정적일지라도 랜덤하게 보여야함
균일성: 난수 또는 의사 난수 비트열의 생성에 있어서 0과 1은 거의 동일하게 존재
확장성: 비트열이 랜덤하면 무작위로 추출된 어떤 비트열도 랜덤해야함
일관성: 생성기의 동작은 초기값 전반에 대해 일관되어야함