초록
정보보안 응용에 적합한 self-timed 링 (ring) 기반 TRNG (true random number generator)의 경량 하드웨어 설계에 관해 기술한다. TRNG의 하드웨어 복잡도를 줄이기 위해 피드백 구조의 엔트로피 추출기를 제안하였으며, 이를 통해 링 스테이지 수를 최소화 하였다. 본 논문의 FSTR-TRNG는 동작 주파수와 엔트로피 추출 회로를 고려하여 링 스테이지 수가 11의 배수가 되도록 결정되었으며, 링 발진기가 등간격 모드로 진동할 수 있도록 토큰 (token)과 버블(bubble) 개수의 비를 결정하였다. FSTR-TRNG는 FPGA 디바이스에 구현하여 난수 생성 동작을 검증하였다. Spartan-6 FPGA 디바이스에 구현된 FSTR-TRNG로부터 2,000만 비트의 데이터를 추출하여 NIST SP 800-22에 규정된 통계학적 무작위성 테스트를 수행한 결과, 15개의 테스트가 모두 기준을 만족하는 것으로 확인되었다. Spartan-6 FPGA 디바이스로 합성한 FSTR-TRNG는 46 슬라이스로 구현이 되었으며, 180 nm CMOS 표준셀로 합성하는 경우에는 약 2,500 등가 게이트로 구현되었다.
A lightweight hardware design of self-timed ring based true random number generator (TRNG) suitable for information security applications is described. To reduce hardware complexity of TRNG, an entropy extractor with feedback structure was proposed, which minimizes the number of ring stages. The number of ring stages of the FSTR-TRNG was determined to be a multiple of eleven, taking into account operating clock frequency and entropy extraction circuit, and the ratio of tokens to bubbles was determined to operate in evenly-spaced mode. The hardware operation of FSTR-TRNG was verified by FPGA implementation. A set of statistical randomness tests defined by NIST 800-22 were performed by extracting 20 million bits of binary sequences generated by FSTR-TRNG, and all of the fifteen test items were found to meet the criteria. The FSTR-TRNG occupied 46 slices of Spartan-6 FPGA device, and it was implemented with about 2,500 gate equivalents (GEs) when synthesized in 180 nm CMOS standard cell library.