Skip to main content
QUICK REVIEW

[논문 리뷰] Design and Implementation of a High Quality and High Throughput TRNG in FPGA

Cristian Klein, Octavian Creţ|ArXiv.org|2009. 06. 25.
Algorithms and Data Compression참고 문헌 5인용 수 6
한 줄 요약

이 논문은 다수의 레지스터 오실레이터(RO)를 사용하여 잡음이 발생하는 출력을 XOR하고 고정 주파수 클럭으로 샘플링하여 고성능, 고속도 진짜 난수 생성기(TRNG)를 FPGA에 구현한 내용을 제시한다. 설계는 왜곡된 입력에서 난수를 추출하기 위해 내성 함수(resilience function)를 적용하여 자원 사용을 최소화하면서도 암호학적으로 안전한 출력을 얻으며, DieHard 및 TestU01와 같은 표준 통계 테스트를 모두 통과한다.

ABSTRACT

This paper focuses on the design and implementation of a high-quality and high-throughput true-random number generator (TRNG) in FPGA. Various practical issues which we encountered are highlighted and the influence of the various parameters on the functioning of the TRNG are discussed. We also propose a few values for the parameters which use the minimum amount of the resources but still pass common random number generator test batteries such as DieHard and TestU01.

연구 동기 및 목표

  • 저비용 FPGA, 특히 Xilinx Spartan 3E에 적합한 고품질, 고속도 TRNG를 설계하기 위해.
  • Jitter 안정성, 자원 효율성, 엔트로피 추출과 같은 FPGA 기반 TRNG의 실용적 구현 과제를 해결하기 위해.
  • 통계적 난수성과 표준 테스트 배터리 준수를 보장하면서 자원 사용을 최소화하는 최적의 매개변수 값(d, r, n, l)을 규명하기 위해.
  • 외부 부품 없이 자원 제약이 있는 FPGA에서 안전한 암호학적 응용을 가능하게 하기 위해.

제안 방법

  • 다양한 주파수를 가진 다수의 레지스터 오실레이터(RO)를 사용하여 잡음이 발생하는 출력을 생성하고, 이가 주로 엔트로피의 근원이 된다.
  • RO의 출력을 XOR하여 평탄한 영역 대비 잡음이 발생하는 전이 비율을 높인다.
  • 고정 주파수 클럭이 XOR된 출력을 샘플링하여 결정론적이고 비결정론적 비트가 혼합된 스트림을 생성한다.
  • 내성 함수가 샘플된 비트를 처리하여 일부 입력 비트가 예측 가능하더라도 고품질의 난수를 추출한다.
  • 설계에는 클럭 분频기(d)와 내성 함수 깊이(r)가 포함되어 있어 처리량과 난수 품질을 제어한다.
  • 처리량, 자원 사용량, 통계적 품질의 균형을 이루기 위해 매개변수 조정(n = RO 수, l = 각 RO의 길이, d = 클럭 분주기, r = 내성 깊이)을 수행한다.

실험 결과

연구 질문

  • RQ1저비용 FPGA에서 자원 사용을 최소화하면서도 고속도, 고품질 TRNG를 어떻게 구현할 수 있는가?
  • RQ2FPGA 기반 TRNG의 통계적 품질과 처리량에 영향을 주는 핵심 매개변수(d, r, n, l)는 무엇인가?
  • RQ3레지스터 오실레이터 수(n)를 늘일 경우 출력의 엔트로피와 예측 가능성은 어떻게 변화하는가?
  • RQ4다수의 RO와 샘플링을 조합할 때 내성 함수가 왜곡된 입력에서 난수를 효과적으로 추출할 수 있는가?
  • RQ5FPGA 기반 TRNG에서 처리량, 자원 사용량, 통계적 품질 간의 상충 관계는 무엇인가?

주요 결과

  • d=0, r=2, n=20, l=3 조건에서 최대 12,500 Kbps의 처리량을 달성하며, DieHard 및 TestU01를 포함한 모든 표준 통계 테스트를 통과한다.
  • 레지스터 오실레이터 수(n)를 늘일수록 잡음이 발생하는 전이 비율이 크게 향상되어 난수 품질이 향상된다.
  • 내성 함수 깊이(r)는 매우 중요하다: r=0으로 설정할 경우 160개의 RO가 있더라도 상관관계가 있는 비트가 생성되어 난수 테스트에 실패한다.
  • 클럭 분주기(d)는 동일한 평탄한 영역을 반복적으로 샘플링하는 것을 방지하기 위해 충분히 크게 설정되어야 하며, d=0일 경우 r가 작을 경우 높은 상관관계가 발생한다.
  • RO 길이(l)는 출력 품질에 미미한 영향을 미치지만, 온도 변화에 따른 잡음 유지 보장을 위해 l≥3를 권장한다.
  • 8개의 병렬 샘플러를 사용하고 각 샘플러에 20개의 RO를 할당(총 160개)하며 내성 함수를 사용하지 않은(r=0) 경우조차도 난수 테스트에 실패한다. 이는 내성 함수가 고품질 출력을 얻기 위해 필수적임을 입증한다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.