[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

KR20080050220A - True random number generation device using oscillator sampling method - Google Patents

True random number generation device using oscillator sampling method Download PDF

Info

Publication number
KR20080050220A
KR20080050220A KR1020070057400A KR20070057400A KR20080050220A KR 20080050220 A KR20080050220 A KR 20080050220A KR 1020070057400 A KR1020070057400 A KR 1020070057400A KR 20070057400 A KR20070057400 A KR 20070057400A KR 20080050220 A KR20080050220 A KR 20080050220A
Authority
KR
South Korea
Prior art keywords
output
circuit
input
signal
oscillator
Prior art date
Application number
KR1020070057400A
Other languages
Korean (ko)
Other versions
KR101127961B1 (en
Inventor
박영수
박지만
전성익
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Publication of KR20080050220A publication Critical patent/KR20080050220A/en
Application granted granted Critical
Publication of KR101127961B1 publication Critical patent/KR101127961B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/588Random number generators, i.e. based on natural stochastic processes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/0005Modifications of input or output impedance
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/08Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using semiconductor devices
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/1733Controllable logic circuits
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/20Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits characterised by logic function, e.g. AND, OR, NOR, NOT circuits

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Power Engineering (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Oscillators With Electromechanical Resonators (AREA)
  • Manipulation Of Pulses (AREA)
  • Stabilization Of Oscillater, Synchronisation, Frequency Synthesizers (AREA)

Abstract

A device for generating a true random number by using an oscillator sampling method is provided to generate a true random number at low cost with low power consumption while fast generating the true random number by digitally designing the device and using an oscillator control function. A device(100) for generating a true random number includes a first oscillating circuit(110) providing output of oneself as data input; a second oscillating circuit(120) providing output of oneself as clock input; a POR(Power On Reset) circuit(130) providing output of oneself as reset input; a first D-flipflop(140) operating with the input of the data, clock, and reset; an inverter(160) inverting output of the second oscillating circuit; and a second D-flipflop(150) having output of the first D-flipflop as data input, output of the inverter as clock input, and operated by a reset signal applied from the outside to generate a true random number. The POR circuit provides an operation starting signal to the first and second oscillating circuits and provides a reset signal to the first D-flipflop.

Description

오실레이터 샘플링 방법을 이용한 실난수 발생 장치{True Random Number Generation Device using Oscillator Sampling Method}True Random Number Generation Device using Oscillator Sampling Method

도 1은 본 발명의 바람직한 일실시예에 따른 실난수 발생 장치의 구성을 나타낸 블록도,1 is a block diagram showing the configuration of a real random number generator according to an embodiment of the present invention;

도 2는 본 발명의 바람직한 다른 실시예에 따른 실난수 발생 장치의 구성을 나타낸 블록도,Figure 2 is a block diagram showing the configuration of a real random number generator according to another embodiment of the present invention,

도 3은 본 발명의 바람직한 일 실시예에 따라 실난수 발생 장치의 지터 회로를 도시한 블록도,3 is a block diagram showing a jitter circuit of the real-real water generator according to an embodiment of the present invention;

도 4는 본 발명의 바람직한 일 실시예에 따라 실난수 발생 장치의 발진 회로를 도시한 블록도,4 is a block diagram showing an oscillation circuit of a real-real water generator in accordance with a preferred embodiment of the present invention;

도 5는 본 발명의 바람직한 일 실시예에 따라 실난수 발생 장치의 POR 회로의 회로 구성도,5 is a circuit configuration diagram of a POR circuit of a real water generator according to a preferred embodiment of the present invention;

도 6은 본 발명의 바람직한 일 실시예에 따른 실난수 발생 장치의 신호별 타이밍도,6 is a signal timing diagram of a real random number generator according to an exemplary embodiment of the present invention;

도 7은 본 발명의 바람직한 일 실시예에 따른 반복 구조형의 병렬형 실난수 발생 장치를 도시한 블록도,7 is a block diagram showing a parallel real random number generator of a repeating structure according to an embodiment of the present invention,

도 8은 본 발명의 바람직한 일 실시예에 따른 리소스 공유형 실난수 발생 장치를 개념적으로 설명하기 위한 블록도, 그리고8 is a block diagram for conceptually explaining a resource sharing real random number generator according to an embodiment of the present invention; and

도 9는 본 발명의 바람직한 다른 실시예에 따른 리소스 공유형 실난수 발생 장치를 개념적으로 설명하기 위한 블록도이다.FIG. 9 is a block diagram conceptually illustrating a resource sharing real random number generating device according to another exemplary embodiment of the present invention.

*도면의 주요 부분에 대한 부호의 설명** Description of the symbols for the main parts of the drawings *

100 : 실난수 발생 장치 110 : 제 1 발진 회로100: real number generator 110: first oscillation circuit

120 : 제 2 발진 회로 130 : POR(Power-On-Reset) 회로120: second oscillation circuit 130: POR (Power-On-Reset) circuit

140 : 제 1 D-플립플롭 150 : 제 2 D-플립플롭140: first D-flip flop 150: second D-flip flop

160 : 인버터 170 : 지터 회로160: inverter 170: jitter circuit

180 : 제 3 발진 회로 180: third oscillation circuit

본 발명은 오실레이터 샘플링 방법을 이용한 실난수 발생 장치에 관한 것으로, 특히 IC 칩에 집적이 가능하며 오실레이터 샘플링 방법을 이용한 고속 동작 및 저전력 특성의 실난수 생성이 가능한 실난수 발생 장치에 관한 것이다. The present invention relates to a real number generator using an oscillator sampling method, and more particularly, to a real number generator capable of being integrated into an IC chip and capable of generating high-speed operation and low power characteristics using an oscillator sampling method.

일반적으로 난수 발생 장치는 실난수 발생 장치와 의사난수 발생 장치로 분 류된다. Generally, random number generators are classified into real number generator and pseudo random number generator.

통상적으로 의사난수 발생 장치는, 퍼스널 컴퓨터의 조립 난수 생성과 같이 논리 회로와 소프트웨어에 의하여 난수를 생성하는 방법을 사용하며, 소형 회로로 그 구현이 간단한 장점이 있으나, 동일한 시드(seed)는 동일 난수 생성시키므로 초기 상태가 알려지는 경우 용이하게 난수 예측이 가능하여 기밀보호의 관점에서 불충분한 단점을 가진다.Typically, a pseudo random number generator uses a method of generating random numbers by logic circuits and software, such as generating a random number of a personal computer, and has a simple advantage in that it is a small circuit, but the same seed has the same random number. Since the initial state is known, random numbers can be easily predicted, and thus have insufficient disadvantages in terms of confidentiality protection.

실난수 발생 장치는 물리적 현상 즉, 전기적으로는 저항체의 열잡음, 반도체에서의 쇼트 잡음(노이즈), 광학적으로 방사선의 발생파 등을 이용하여 난수를 생성하는 방법을 사용함으로, 의사난수 발생 방법보다 안전한 난수 생성을 보장하며, 증폭, 오실레이터 샘플링, 카오스 등과 같은 방법 및 기술로 구현되어 기밀보호가 뛰어난 장점을 가진다.The real random number generating device is safer than the pseudo random number generating method by using a method of generating random numbers using physical phenomena such as thermal noise of a resistor, short noise (noise) in a semiconductor, and optically generated wave of radiation. It guarantees random number generation and is implemented with methods and techniques such as amplification, oscillator sampling, chaos, etc.

그러나, 실난수 발생 장치는 상기 잡음 수준이 작아 난수 추출을 위해 잡음 수준을 높여야하는 경우, IC 미세화로 낮아지는 동작 전압 등으로 IC 칩 구현 적합성 등을 해결해야 하는 단점을 가진다. However, when the noise level is small and the noise level needs to be increased for the random number extraction, the real number generator has a disadvantage in that the IC chip implementation suitability is solved by the operating voltage lowered by IC refinement.

이와 같은 실난수 발생 장치의 구현 방법에 대해 살펴보면, 먼저 증폭 방법은 통상적으로 신호 증폭 수단과 AD 변환 수단으로 구성되어, 낮은 신호 수준을 증폭하는 기능을 수행한다.Looking at the implementation method of such a real number generator, first, the amplification method is typically composed of a signal amplification means and AD conversion means, and performs a function to amplify a low signal level.

그런데, 증폭 방법은 낮은 신호 수준을 높이기 위해 높은 게인(gain)의 증폭기를 필요로 하여, 신호 증폭에 의한 증폭기 회로 규모의 증가로 소비 전력 증가를 초래하며, 디지털 회로와의 격리 및 전원으로부터의 스파이크 노이즈 제어를 위한 큰 저항 및 커패시터를 필요로 하여 집적도를 저하시키는 문제점을 가진다.However, the amplification method requires a high gain amplifier to raise the low signal level, resulting in an increase in power consumption due to an increase in the amplifier circuit scale by signal amplification, isolation from digital circuits, and spikes from a power supply. It requires a large resistor and capacitor for noise control has a problem of lowering the integration.

다음으로, 오실레이터 샘플링 방법은 신호 발진 수단과 신호 샘플링 수단으로 구성된다. 여기서, 신호 발진 수단은 링 발진기와 같이 루프 상에 접속되는 복수 개의 지연 회로로 구성되며, 일예로 전압 제어 발진(VCO), 크리스탈 발진 등이 있으나 발진 회로의 특성으로 인한 소비전력의 증가와 난수 데이터의 주기성이 노출될 우려가 있다. Next, the oscillator sampling method is composed of signal oscillation means and signal sampling means. Here, the signal oscillation means is composed of a plurality of delay circuits connected on a loop like a ring oscillator. For example, voltage controlled oscillation (VCO), crystal oscillation, etc., but the increase in power consumption and random data due to the characteristics of the oscillation circuit. There is a fear that the periodicity of is exposed.

카오스 방법은, 카오스 처리 방법과 신호 이론을 적용한 수단으로 구성된다.The chaos method is composed of a chaos processing method and a means to which signal theory is applied.

실제로 난수 발생에 있어서 잡음의 수준은 낮기 때문에 매우 큰 감쇄 간섭은 난수 발생 장치의 출력 또는 엔트로피(통계적인 독립) 모두를 빼앗아 간다. In fact, because of the low level of noise in random number generation, very large attenuation interferences take away both the output or entropy (statistical independence) of the random number generator.

이에, 잡음 신호의 증폭과 샘플링은 증폭기가 피할 수 없는 대역 제한과 경계가 일반적으로 바이어스 되어 더욱 엔트로피를 감소시키며 고-엔트로피 비트의 고속 및 저 가격의 실현이 어렵다. 이러한 문제를 극복하기 위하여 카오스 처리 방법과 신호 이론을 적용한다. Thus, amplification and sampling of the noise signal generally biases the band limitations and boundaries that the amplifier cannot avoid, further reducing entropy and making it difficult to achieve high and low cost of high-entropy bits. To overcome this problem, chaos processing method and signal theory are applied.

그러나, 카오스 방법은 실난수 발생 장치의 잡음이 아날로그로 구현됨에 의해 아날로그 신호를 디지털화한 후 적용 알고리즘으로 후 처리하는 디지털 로직으로 구현된다. 따라서, 카오스 방법은 완전한 디지털 설계를 구현하지 못하는 단점과 함께 신속한 시스템 프로토타입 및 적은 규모의 제품 제작과 신기술로의 전이 용이의 가능성이 방해되어 하드웨어로의 구현 갭을 포함하여, 실난수 발생 장치를 제조함에 있어서 상기 갭에 의해 난수 발생 장치의 단가를 상승시키는 문제점을 가진다.However, the chaos method is implemented with digital logic that digitizes an analog signal and post-processes it with an application algorithm by the noise of the real number generator being implemented in analog. Thus, the Chaos method does not implement a complete digital design, but also impedes the possibility of rapid system prototyping and production of small scale products and the ease of transition to new technologies. In manufacturing, there is a problem of increasing the unit cost of the random number generator by the gap.

만약, 실난수 생성에 이용되는 물리적인 현상의 공통적인 문제인 복잡한 회로와 물리적/회로 크기를 해결하기 위하여 취약한 회로를 사용하지 않고 랜덤 특성을 가지는 불완전 전송(meta-stability), 위상 및/또는 주파수(phase and/or frequency) 이용 지터(jitter) 등을 적용할 경우, 전압 및 주파수(voltage & frequency) 변화 결합, 물리적 소스 검증과 전기적인 공격에 대한 저항 검증이 필요하다. 또한 서멀(thermal) 또는 산탄 잡음(shot noise)을 적용하여 개별적으로 또는 집적한 형태로 구현 가능하므로 진공관 산탄 잡음(vacuum tube shot noise), 방사성붕괴(radioactive decay), 네온 발광관(neon lamp discharge), 클럭 지터(clock jitter) 및 PC 하드 드라이버 변동(hard drive fluctuations) 등이 잡음원으로 사용 가능하나 실제 잡음원의 신호 수준은 매우 낮기 때문에 큰 감쇄 간섭은 엔트로피를 감소시킨다. 엔트로피를 향상시키기 위하여 디지털 비선형 필터링 또는 감쇄 압축(lossy compression) 등을 적용할 수 있으나 처리 속도(bit-rate)가 감소한다.In order to solve complex circuits and physical / circuit sizes that are a common problem of physical phenomena used to generate real numbers, incomplete transmission (meta-stability), phase and / or frequency (without using vulnerable circuits) Applying phase and / or frequency jitter requires combining voltage and frequency variations, verifying physical sources and verifying resistance to electrical attacks. In addition, thermal or shot noise can be applied individually or in an integrated form, enabling vacuum tube shot noise, radioactive decay, and neon lamp discharge. Although clock jitter and PC hard drive fluctuations can be used as noise sources, the large attenuation interference reduces entropy because the signal level of the actual noise source is very low. To improve entropy, digital nonlinear filtering or lossy compression may be applied, but the bit-rate is reduced.

한편, 상기와 같은 난수 발생 장치의 단점을 극복하고자, 증폭, 오실레이터 샘플링, 카오스 방법을 이용한 난수 발생 장치를 구현하려는 노력이 계속되고 있다. Meanwhile, in order to overcome the disadvantages of the random number generator as described above, efforts have been made to implement a random number generator using amplification, oscillator sampling, and chaotic methods.

이러한 노력 중에서의 하나가 Fairfield, Mortenson and Coulthart[참고 문헌 1]으로 고/저(high/low) 주파수의 샘플링하는 발진기, 바이어스를 제거하기 위한 패리티 필터, 스크램블하는 LFSR로 구성되었다. One such effort was Fairfield, Mortenson and Coulthart [Ref. 1], which consisted of a high / low frequency sampling oscillator, a parity filter to eliminate bias, and a scrambled LFSR.

또한 Intel[참고 문헌 2]은 열잡음의 증폭 수단으로 VCO와 샘플링하는 발진기로 구성되었다. Intel [Ref. 2] also consists of a VCO and an oscillator that samples as a means of amplifying thermal noise.

그리고 Stojanovski[참고 문헌 3] 등은 스위치 전류(switched current) 기술로 실난수 발생 장치를 구성하여 난수를 발생하도록 만드는 기술이다.Stojanovski et al. [3] is a technology that generates random numbers by configuring a real number generator using a switched current technique.

[참고문헌 1] R.C. Fair_eld, R.L. Mortenson, and K.B. Coulthart. An LSI Random Number Generator (RNG). In Advances in Cryptography: Proceedings of Crypto 84, pages 203.230. LNCS 0196, Springer-Verlag, 1984.[Reference 1] R.C. Fair_eld, R.L. Mortenson, and K.B. Coulthart. An LSI Random Number Generator (RNG). In Advances in Cryptography: Proceedings of Crypto 84, pages 203.230. LNCS 0196, Springer-Verlag, 1984.

[참고문헌 2] B. Jun and P. Kocher. The intel random number generator. White paper by Cryptographic Research Inc., 1999. [Reference 2] B. Jun and P. Kocher. The intel random number generator. White paper by Cryptographic Research Inc., 1999.

ftp://download.intel.com/design/security/rng/CRIwp.pdf.ftp://download.intel.com/design/security/rng/CRIwp.pdf.

[참고문헌 3] T. Stojanovski, J. Pil, and L. Kocarev. Chaos-based random number generators. Part II: practical realization. IEEE Transactions on Circuits and Systems . I: fundamental Theory and Application, 48(3):382.385, March 2001.[Reference 3] T. Stojanovski, J. Pil, and L. Kocarev. Chaos-based random number generators. Part II: practical realization. IEEE Transactions on Circuits and Systems. I: fundamental Theory and Application, 48 (3): 382.385, March 2001.

그러나 상기 노력 예에 따른 기술은 LFSR의 스크램블러로의 적용, 증폭과 샘플링의 복합사용과 SHA-1 기반 혼합 기능의 소프트웨어 구조, 아날로그 기반의 설계 등의 단점을 가진다. However, the technique according to the above-mentioned efforts has disadvantages such as application of LFSR to scrambler, combined use of amplification and sampling, software structure of SHA-1 based mixing function, and analog based design.

또한, 상기 예들에 따른 기술은 성능면에서도 저속임에 따라, 상기 노력 예 에 따른 기술은 모바일 기기 등에서 요구되는 저전력 실난수 발생 장치에는 적용되기 어려운 문제점이 있다.In addition, since the technique according to the examples is low in terms of performance, the technique according to the effort example has a problem that is difficult to apply to the low-power real-time random number generating apparatus required in a mobile device.

상기와 같은 문제점을 해결하기 위한 본 발명의 목적은 구현이 용이하고, 저전력 난수를 발생할 수 있는 오실레이터 샘플링 방법을 이용한 실난수 발생 장치를 제공하는데 있다.An object of the present invention for solving the above problems is to provide a real number generator using an oscillator sampling method that is easy to implement, and can generate a low power random number.

그리고, 상기와 같은 문제점을 해결하기 위한 본 발명의 다른 목적은 병렬형 실난수를 발생하는 오실레이터 샘플링 방법을 이용한 실난수 발생 장치를 제공하는데 있다.In addition, another object of the present invention for solving the above problems is to provide a real number generator using an oscillator sampling method for generating a parallel real number.

상기와 같은 목적을 달성하기 위한 본 발명의 일 실시예에 따른 오실레이터 샘플링 방법을 이용한 실난수 발생 장치는, 자체 출력을 데이터 입력으로 제공하는 제 1 발진 회로; 자체 출력을 클럭 입력으로 제공하는 제 2 발진 회로; 자체 출력을 리셋 입력으로 제공하는 POR(Power-On-Reset) 회로; 상기 데이터, 클럭 및 리셋을 입력으로 하여 동작하는 제 1 D-플립플롭; 상기 제 2 발진 회로의 출력을 인버팅하여 출력하는 인버터; 상기 제 1 D-플립플롭의 출력을 데이터 입력으로 하고, 상기 인버터의 출력을 클럭 입력으로 하며, 외부 인가되는 리셋 신호를 입력으로 동작하여 실난수를 발생시키는 제 2 D-플립플롭을 포함하되, 상기 POR 회로는 상기 제 1 및 제 2 발진 회로에 동작 개시 신호를 제공하고, 상기 제 1 D-플립플롭에 리셋 신호를 제공하는 것을 특징으로 한다.A real-real number generator using an oscillator sampling method according to an embodiment of the present invention for achieving the above object, the first oscillation circuit for providing its own output as a data input; A second oscillating circuit providing its own output as a clock input; Power-On-Reset (POR) circuitry providing its own output as a reset input; A first D flip-flop that operates with the data, clock, and reset as inputs; An inverter for inverting and outputting the output of the second oscillation circuit; A second D flip-flop that generates a real number by operating an output of the first D-flip flop as a data input, an output of the inverter as a clock input, and an externally applied reset signal as an input; The POR circuit provides an operation start signal to the first and second oscillator circuits and a reset signal to the first D-flip flop.

상기 제 1 및 제 2 발진 회로는, 입력을 반전시켜 출력하는 링발진기; 상기 링발진기의 출력과 외부 인가 신호를 입력으로 하여 발진 회로의 출력을 생성하는 NAND 게이트를 포함하되, 상기 NAND 게이트는 출력을 피드백하여 링발진기에 제공하는 것을 특징으로 한다.The first and second oscillator circuits include a ring oscillator for inverting and outputting an input; And an NAND gate configured to generate an output of the oscillation circuit by using the output of the ring oscillator and an external application signal as inputs, wherein the NAND gate feeds the output back to the ring oscillator.

상기 POR 회로는, 전원에 연결된 저항; 접지에 연결된 콘덴서를 포함하되, 상기 저항과 콘덴서는 직렬로 연결되어, 상기 직렬연결 지점을 출력 단자로 하는 것을 특징으로 한다.The POR circuit includes a resistor connected to a power supply; And a capacitor connected to ground, wherein the resistor and the capacitor are connected in series, so that the series connection point is an output terminal.

상기 POR 회로는, 임의의 지연 시간을 갖고 출력이 저(Low) 수준에서 고(High) 수준 또는 이와 반대의 동작을 수행하는 논리 모듈을 포함하는 것을 특징으로 한다.The POR circuit is characterized in that it comprises a logic module having an arbitrary delay time and whose output performs a high level at a low level or vice versa.

바람직하게 상기 실난수 발생 장치는, 반복된 구조로 병렬 구성되어 임의 비트 크기의 실난수를 발생시키는 것을 특징으로 한다.Preferably, the real random number generating device is configured in parallel in a repeated structure to generate a real number having a random bit size.

바람직하게 상기 실난수 발생 장치는, 상기 제 1 및 제 2 발진 회로, 상기 POR 회로 및 상기 인버터를 리소스 공유하고, 그 나머지가 반복된 구조로 병렬 구성되도록 하여, 임의 비트 크기의 실난수를 발생시키는 것을 특징으로 한다.Preferably, the real random number generator is configured to share the first and second oscillation circuit, the POR circuit, and the inverter, and to configure the rest in parallel in a repeated structure, thereby generating a random bit size random number. It is characterized by.

상기와 같은 목적을 달성하기 위한 본 발명의 다른 실시예에 따른 오실레이터 샘플링 방법을 이용한 실난수 발생 장치는, 자체 출력을 데이터 입력으로 제공 하는 지터 회로; 자체 출력을 클럭 입력으로 제공하는 제 2 발진 회로; 자체 출력을 리셋 입력으로 제공하는 POR 회로; 상기 POR 회로의 출력을 입력으로 하여 동작하고, 자체 출력을 상기 지터 회로의 동작 개시 신호로 제공하는 제 3 발진 회로; 상기 데이터, 클럭 및 리셋을 입력으로 하여 동작하는 제 1 D-플립플롭; 상기 제 2 발진 회로의 출력을 인버팅하여 출력하는 인버터; 상기 제 1 D-플립플롭의 출력을 데이터 입력으로 하고, 상기 인버터의 출력을 클럭 입력으로 하며, 외부 인가되는 리셋 신호를 입력으로 동작하여 실난수를 발생시키는 제 2 D-플립플롭을 포함하되, 상기 POR 회로는 상기 제 2 및 제 3 발진 회로에 동작 개시 신호를 제공하고, 상기 제 1 D-플립플롭에 리셋 신호를 제공하는 것을 특징으로 한다.According to another aspect of the present invention, an apparatus for generating a real number using an oscillator sampling method includes: a jitter circuit for providing its own output as a data input; A second oscillating circuit providing its own output as a clock input; A POR circuit providing its output as a reset input; A third oscillation circuit operating as an input of the output of the POR circuit and providing its own output as an operation start signal of the jitter circuit; A first D flip-flop that operates with the data, clock, and reset as inputs; An inverter for inverting and outputting the output of the second oscillation circuit; A second D flip-flop that generates a real number by operating an output of the first D-flip flop as a data input, an output of the inverter as a clock input, and an externally applied reset signal as an input; The POR circuit provides an operation start signal to the second and third oscillator circuits, and provides a reset signal to the first D-flip flop.

상기 지터 회로는, 반도체 집적회로 내에서 취득 가능한 열, 온도, 전류, 전압 및 주파수 중 적어도 하나를 입력하여 신호를 출력하는 잡음원; 상기 잡음원으로부터 출력된 신호를 증폭하여 디지털 신호를 생성하는 증폭기; 상기 증폭기에서 생성된 신호를 외부 입력 신호에 따라서 출력하는 버퍼를 포함하는 것을 특징으로 한다.The jitter circuit may include: a noise source for inputting at least one of heat, temperature, current, voltage, and frequency obtainable in a semiconductor integrated circuit and outputting a signal; An amplifier for amplifying the signal output from the noise source to generate a digital signal; And a buffer for outputting the signal generated by the amplifier according to an external input signal.

상기 제 2 및 제 3 발진 회로는, 입력을 반전시켜 출력하는 기능을 하는 링발진기; 상기 링발진기의 출력과 외부 인가 신호를 입력으로 하여 발진 회로의 출력을 생성하는 NAND 게이트를 포함하되, 상기 NAND 게이트는 출력을 피드백하여 링발진기에 제공하는 것을 특징으로 한다.The second and third oscillator circuits include a ring oscillator functioning to invert and output an input; And an NAND gate configured to generate an output of the oscillation circuit by using the output of the ring oscillator and an external application signal as inputs, wherein the NAND gate feeds the output back to the ring oscillator.

바람직하게 상기 실난수 발생 장치는, 반복된 구조로 병렬 구성되어 임의 비트 크기의 실난수를 발생시키는 것을 특징으로 한다.Preferably, the real random number generating device is configured in parallel in a repeated structure to generate a real number having a random bit size.

바람직하게 상기 실난수 발생 장치는, 상기 제 2 및 제 3 발진 회로, 상기 POR 회로, 상기 지터 회로 및 상기 인버터를 리소스 공유하고, 그 나머지가 반복된 구조로 병렬 구성되도록 하여, 임의 비트 크기의 실난수를 발생시키는 것을 특징으로 한다.Preferably, the real random number generator is configured to share the second and the third oscillation circuit, the POR circuit, the jitter circuit and the inverter, and the rest of which is configured in parallel in a repeated structure, the actual random bit size It is characterized by generating a random number.

이하 첨부된 도면을 참조하여 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있는 바람직한 실시 예를 상세히 설명한다. 다만, 본 발명의 바람직한 실시 예에 대한 동작 원리를 상세하게 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다. DETAILED DESCRIPTION Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. However, in describing in detail the operating principle of the preferred embodiment of the present invention, if it is determined that the detailed description of the related known function or configuration may unnecessarily obscure the subject matter of the present invention, the detailed description thereof will be omitted.

또한, 도면 전체에 걸쳐 유사한 기능 및 작용을 하는 부분에 대해서는 동일한 도면 부호를 사용한다.In addition, the same reference numerals are used for parts having similar functions and functions throughout the drawings.

도 1은 본 발명의 바람직한 일실시예에 따른 실난수 발생 장치의 구성을 나타낸 블록도이다. 1 is a block diagram showing the configuration of a real-real number generator according to an embodiment of the present invention.

도 1을 참조하면, 본 발명의 실난수 발생 장치(100)는 제 1 및 제 2 발진 회로(110, 120), POR(Power-On-Reset) 회로(130), 제 1 및 제 2 D-플립플롭(140, 150) 및 인버터(160)를 기본 요소로 구성될 수 있으며, TR(Test Reset) 신호를 입력으로, RN(Random Number) 신호를 출력으로 한다.Referring to FIG. 1, the real water generator 100 according to the present invention includes first and second oscillation circuits 110 and 120, power-on-reset circuit 130, and first and second D−. The flip-flops 140 and 150 and the inverter 160 may be configured as basic elements, and a TR (Test Reset) signal is input and an RN (Random Number) signal is output.

이와 같은 구성을 갖는 실난수 발생 장치(100)에서 POR 회로(130)는 전원이 투입되고 일정한 시간이 지난 후에 POR 신호를 발생하여, 발생되는 POR 신호를 제 1 및 제 2 발진회로(110, 120)와 제 1 D-플립플롭(140)에 제공하는 기능을 수행한다.In the real random number generator 100 having such a configuration, the POR circuit 130 generates a POR signal after a predetermined time after the power is turned on, and generates the generated POR signals through the first and second oscillation circuits 110 and 120. ) And the first D-flip-flop 140.

이에, 제 1 발진 회로(110)는 POR 회로(130)의 출력 신호인 POR 신호를 입력으로 하고, 출력(RO1((Ring-oscillator Output 1))을 제 1 D-플립플롭(140)의 데이터 입력으로 제공한다.Accordingly, the first oscillator circuit 110 receives the POR signal, which is the output signal of the POR circuit 130, and outputs the data of the first D-flip-flop 140 to the output RO1 ((Ring-oscillator Output 1)). Provide as input.

그리고, 제 2 발진 회로(120)는 POR 회로(130)의 출력 신호인 POR 신호를 입력으로 하고, 출력(RO2)을 제 1 D-플립플롭(140)의 클럭으로 제공한다.The second oscillation circuit 120 receives a POR signal, which is an output signal of the POR circuit 130, and provides an output RO2 as a clock of the first D-flip flop 140.

제 1 D-플립플롭(140)은 제 2 발진 회로(120)의 출력(RO2)을 클럭으로 하고 제 1 발진 회로(110) 출력(RO)을 데이터 입력으로 하여, 클럭이 상승 에지 트리거일 때 출력 단자 Q로 데이터를 출력한다. 또한, 제 1 D-플립플롭(140)은 리셋 단자에 입력되는 POR 신호 값에 따라서 제 1 D-플립플롭(140)의 값을 초기화된다.The first D-flip-flop 140 uses the output RO2 of the second oscillating circuit 120 as a clock and the output RO of the first oscillating circuit 110 as a data input so that the clock is a rising edge trigger. Output data to output terminal Q. In addition, the first D-flip-flop 140 initializes the value of the first D-flip-flop 140 according to the POR signal value input to the reset terminal.

제 2 D-플립플롭(150)은 제 1 D-플립플롭(140)의 출력을 데이터 입력으로 하고, 제 2 발진 회로(120)의 출력이 반전된 신호(RO2')를 클럭으로 하여 난수(RN)를 출력하는 기능을 수행한다. 또한, 제 2 D-플립플롭(150)은 리셋 단자에 입력되는 TR 신호 값에 따라서 상기 제 2 D-플립플롭(150)의 값을 초기화된다.The second D-flip-flop 150 uses the output of the first D-flip-flop 140 as a data input and uses a random number (i.e., a clock signal of the inverted signal RO2 'of which the output of the second oscillation circuit 120 is inverted. RN) outputs the function. In addition, the second D flip-flop 150 initializes the value of the second D flip-flop 150 according to the TR signal value input to the reset terminal.

한편, 인버터(160)는 제 2 발진 회로(120)의 출력을 반전하여 제 2 D-플립플롭(150)의 클럭으로 제공하는 기능을 수행한다.Meanwhile, the inverter 160 inverts the output of the second oscillation circuit 120 to provide the clock of the second D flip-flop 150.

도 2는 본 발명의 바람직한 다른 실시예에 따른 실난수 발생 장치의 구성을 나타낸 블록도이다.2 is a block diagram showing the configuration of a real random number generator according to another embodiment of the present invention.

도 2를 참조하면, 본 발명의 실난수 발생 장치(100)는 지터 회로(170), 제 2 및 제 3 발진 회로(120, 180), POR 회로(130), 제 1 및 제 2 D-플립플롭(140,150) 및 인버터(160)를 기본 요소로 구성될 수 있으며, TR 신호를 입력으로, RN 신호를 출력으로 한다.Referring to FIG. 2, the real water generator 100 of the present invention includes a jitter circuit 170, second and third oscillation circuits 120 and 180, a POR circuit 130, and first and second D-flips. The flops 140 and 150 and the inverter 160 may be configured as basic elements, and the TR signal is input and the RN signal is output.

먼저, 이와 같은 구성을 갖는 실난수 발생 장치(100)에서 POR 회로(130)는 전원이 투입되고 일정한 시간이 지난 후에 POR 신호를 발생하여, 제 2 및 제 3 발진 회로(120, 180)와 제 1 D-플립플롭(140)에 제공하는 기능을 수행한다.First, in the real temperature generator 100 having such a configuration, the POR circuit 130 generates a POR signal after a predetermined time passes after the power is turned on, and thus the second and third oscillation circuits 120 and 180 are formed. 1 D-flip flop 140 performs a function provided.

이에, 제 2 발진 회로(120)는 POR 회로(130)의 출력 신호인 POR을 입력으로 하고, 출력(RO2)을 제 1 D-플립플롭(140)의 클럭으로 제공하는 기능을 수행한다.Accordingly, the second oscillation circuit 120 receives a POR, which is an output signal of the POR circuit 130, and provides an output RO2 as a clock of the first D-flip flop 140.

그리고, 제 3 발진 회로(180)는 POR 회로(130)의 출력 신호인 POR을 입력으로 하고, 출력을 지터 회로(170)의 입력으로 제공하는 기능을 수행한다.The third oscillator circuit 180 performs a function of inputting POR, which is an output signal of the POR circuit 130, and providing an output to an input of the jitter circuit 170.

지터 회로(170)는 제 3 발진 회로(180)의 출력 신호를 입력으로 하고, 출력(JO)을 제 1 D-플립플롭(140)의 데이터 입력으로 제공한다. 이때, 출력(JO)은 통상적으로 상기 제 2 발진 회로(120)의 출력보다 빠른 주기의 파형이다.The jitter circuit 170 inputs the output signal of the third oscillation circuit 180 and provides an output JO as a data input of the first D-flip-flop 140. In this case, the output JO is typically a waveform having a faster cycle than the output of the second oscillation circuit 120.

제 1 D-플립플롭(140)은 제 2 발진 회로(120)의 출력(RO2)을 클럭으로 하고 지터 회로(170)의 출력(JO)을 데이터 입력으로 하여, 클럭이 상승 에지 트리거일 때 출력 단자 Q로 데이터를 출력한다. 또한, 제 1 D-플립플롭(140)은 리셋 단자에 입력되는 POR 신호 값에 따라서 제 1 D-플립플롭(140)의 값을 초기화된다.The first D-flip-flop 140 uses the output RO2 of the second oscillating circuit 120 as a clock and the output JO of the jitter circuit 170 as a data input, so that the clock is a rising edge trigger. Output data to terminal Q. In addition, the first D-flip-flop 140 initializes the value of the first D-flip-flop 140 according to the POR signal value input to the reset terminal.

제 2 D-플립플롭(150)은 제 1 D-플립플롭(140)의 출력을 데이터 입력으로 하 고, 제 2 발진 회로(120)의 출력이 반전된 신호(RO2')를 클럭으로 하여 난수(RN)를 출력하는 기능을 수행한다. 또한, 제 2 D-플립플롭(150)은 리셋 단자에 입력되는 TR 신호 값에 따라서 상기 제 2 D-플립플롭(150)의 값을 초기화된다.The second D flip-flop 150 uses the output of the first D flip-flop 140 as a data input, and uses the clock signal RO2 ′ where the output of the second oscillation circuit 120 is inverted as a clock. Performs the function of outputting (RN). In addition, the second D flip-flop 150 initializes the value of the second D flip-flop 150 according to the TR signal value input to the reset terminal.

한편, 인버터(160)는 제 2 발진 회로(120)의 출력을 반전하여 제 2 D-플립플롭(150)의 클럭으로 제공하는 기능을 수행한다.Meanwhile, the inverter 160 inverts the output of the second oscillation circuit 120 to provide the clock of the second D flip-flop 150.

다음으로, 도 1 및 도 2를 통해 살펴본 실난수 발생 장치(100)의 각 구성에 대해 도면을 참조하여 자세히 살펴보도록 한다.Next, each configuration of the real random number generator 100 described with reference to FIGS. 1 and 2 will be described in detail with reference to the accompanying drawings.

도 3은 본 발명의 바람직한 일 실시예에 따라 실난수 발생 장치의 지터 회로를 도시한 블록도이다.FIG. 3 is a block diagram illustrating a jitter circuit of a real water generator according to a preferred embodiment of the present invention.

도 3에 도시된 바와 같이, 도 2의 실난수 발생 장치(100)가 구성하는 지터 회로(170)는, 잡음원(171), 증폭기(172) 및 버퍼(173)로 구성될 수 있으며, 제 3 발진 회로의 출력 신호인 'Enable' 신호를 입력으로, JO(Jitter Output) 신호를 출력으로 한다. As illustrated in FIG. 3, the jitter circuit 170 configured by the real number generator 100 of FIG. 2 may include a noise source 171, an amplifier 172, and a buffer 173. Input 'Enable' signal which is an output signal of oscillation circuit and input JO (Jitter Output) signal.

지터 회로(170)에서 잡음원(171)은 칩내의 집적이 가능한 열(온도), 전류, 전압, 주파수 등을 입력하여 신호를 출력하는 기능을 수행하며, 증폭기(172)는 잡음원(171)으로부터 출력된 낮은 수준의 신호를 증폭하여 디지털 신호를 생성하는 기능을 수행한다. In the jitter circuit 170, the noise source 171 outputs a signal by inputting heat (temperature), current, voltage, frequency, and the like that can be integrated in a chip, and the amplifier 172 outputs from the noise source 171. A digital signal is generated by amplifying the low level signal.

버퍼(173)는 외부 입력 신호(Enable)에 따라서 증폭기(172)에서 생성된 디지털 신호를 출력하는 기능을 수행한다. 여기서, 외부 입력 신호인 'Enable'은 실난 수 발생 장치(100)의 동작에서 지터 회로(170)의 출력을 발생시키고, 실난수 발생 장치(100)의 동작 완료시에 지터 회로(170)의 출력을 차단시키는 특징을 갖는다. The buffer 173 performs a function of outputting a digital signal generated by the amplifier 172 according to an external input signal (Enable). Here, the external input signal 'Enable' generates the output of the jitter circuit 170 in the operation of the real number generator 100, and outputs the output of the jitter circuit 170 when the operation of the real number generator 100 is completed. Has a characteristic of blocking.

도 4는 본 발명의 바람직한 일 실시예에 따라 실난수 발생 장치의 발진 회로를 도시한 블록도이다.FIG. 4 is a block diagram illustrating an oscillation circuit of a real random water generator according to a preferred embodiment of the present invention.

도 4에 도시된 바와 같이, 상기 도 1 내지 도 2에서의 제 1, 제 2 및 제 3 발진 회로(120, 130, 180)는 링발진기(121)와 NAND 게이트(122)로 구성될 수 있으며, 'Enable' 신호를 입력으로, 'RO' 신호를 출력으로 한다. As shown in FIG. 4, the first, second, and third oscillator circuits 120, 130, and 180 in FIGS. 1 and 2 may include a ring oscillator 121 and a NAND gate 122. , 'Enable' signal is input and 'RO' signal is output.

여기서, 링발진기(121)는 입력을 반전시켜 출력하는 기능을 수행한다. Here, the ring oscillator 121 performs a function of inverting and outputting an input.

링발진기(121)의 입력은 NAND 게이트(122)의 출력 신호를 입력으로 하며, 링발진기(121)의 출력은 상기 NAND 게이트(122)의 입력 중 하나에 공급한다. The input of the ring oscillator 121 is an input signal of the NAND gate 122, and the output of the ring oscillator 121 is supplied to one of the inputs of the NAND gate 122.

이와 같은 링발진기(121)는 입력을 반전시킬 수 있는 기능을 가진 짝수 개의 논리 게이트, 일예로 인버터, NAND 게이트, NOR 게이트 등으로 구성될 수 있으나, 칩 내에 차지하는 면적, 전력 소비 등이 적은 인버터를 주로 구성한다. The ring oscillator 121 may be composed of an even number of logic gates having a function of inverting an input, for example, an inverter, a NAND gate, a NOR gate, and the like. It consists mainly.

한편, NAND 게이트(122)는 링발진기(121)의 출력과 외부 'Enable' 신호를 입력으로 하여 해당 발진회로의 출력(RO)을 생성한다. Meanwhile, the NAND gate 122 generates an output RO of the corresponding oscillator circuit by inputting the output of the ring oscillator 121 and the external 'Enable' signal.

그리고, NAND 게이트는 상기 'Enable' 신호에 따라서 링발진기(121)의 동작을 제어하는 기능을 수행한다. 일예로, NAND 게이트는 'Enable = 1' 인 경우에 다른 입력 신호를 반전시키며, 'Enable = 0' 인 경우에 항상 출력이 '1'로 유지되도록 하여 링발진기(121)의 동작을 제어할 수 있다. The NAND gate controls the operation of the ring oscillator 121 according to the 'Enable' signal. For example, the NAND gate inverts another input signal when 'Enable = 1', and when the 'Enable = 0', the output is always maintained at '1' to control the operation of the ring oscillator 121. have.

이와 같은 NAND 게이트는 'Enable' 신호의 값이 '1' 또는 '0' 일때 각각 신호 반전 또는 이전 출력 값 유지, 이와 반대로 이전 값 유지 또는 신호 반전의 결과를 출력하는 임의의 논리 게이트로 대체 가능할 수 있다.Such a NAND gate may be replaced by an arbitrary logic gate that outputs the result of signal inversion or previous output, or vice versa, when the value of the 'Enable' signal is '1' or '0', respectively. have.

도 5는 본 발명의 바람직한 일 실시예에 따라 실난수 발생 장치의 POR 회로의 회로 구성도이다.5 is a circuit configuration diagram of a POR circuit of a real-real water generator according to a preferred embodiment of the present invention.

도 5에 도시된 바와 같이, 상기 도 1 내지 도 2에서의 POR 회로(130)는 직렬로 연결된 저항(R)과 콘덴서(C)로 구성되어, 전원 투입 후 상기 저항(R)과 콘덴서(C)의 값에 의해 정해지는 시간(t)이 되면, 저항(R)과 콘덴서(C) 사이의 출력 POR이 저(Low) 수준에서 고(High) 수준으로 전환되도록 하는 기능을 수행한다.As shown in FIG. 5, the POR circuit 130 in FIGS. 1 to 2 includes a resistor R and a capacitor C connected in series, and after the power is turned on, the resistor R and the capacitor C When the time t is determined by the value of), the output POR between the resistor R and the capacitor C is switched from the low level to the high level.

여기서, 저항(R)과 콘덴서(C)의 값에 의해 정해지는 시간(t)은, 다른 실시예로 다른 회로를 이용하여 변경이 가능하다. 그 일예로서 수 비트의 카운터를 사용하여 특정한 값이 카운팅되는 시점까지를 't' 시간으로 정할 수 있으며, 임의의 지연 시간을 갖고 저수준에서 고수준 또는 이와 반대의 동작을 수행하는 논리 모듈을 직렬 연결된 저항(R)과 콘덴서(C) 구성으로 대체 가능하다.Here, the time t determined by the values of the resistor R and the capacitor C can be changed using another circuit in another embodiment. For example, a multi-bit counter can be used to determine the 't' time until a particular value is counted, and a resistor connected in series with a logic module that performs an arbitrary level of delay and a high level or vice versa. It can be replaced by the configuration of (R) and condenser (C).

도 6은 본 발명의 바람직한 일 실시예에 따른 실난수 발생 장치의 신호별 타이밍도이다.6 is a signal timing diagram of a real random number generator according to an exemplary embodiment of the present invention.

도 6을 참조하면, 도 1, 도 2 내지 도 5에서 전원(전원 전압 Vdd) 투입 후 실난수 발생 장치(100)로부터 발생되는 신호는, POR 회로(130)의 출력 POR, 지터 회로(170)의 출력 JO, 제 1 및 제 2 발진 회로(110, 120)의 출력 RO1, RO2 그리고 최종 출력 RN 신호를 포함한다.Referring to FIG. 6, the signals generated from the real random number generator 100 after the power supply (power supply voltage Vdd) is turned on in FIGS. 1 and 2 to 5 are output POR and jitter circuit 170 of the POR circuit 130. The output JO of the first and second oscillation circuit (110, 120) of the output RO1, RO2 and the final output RN signal.

도 6에서 시간 't'는 POR 회로(130)에 의하여 정해지는 시간이다.In FIG. 6, the time 't' is a time determined by the POR circuit 130.

그리고, 시간 't' 이후의 시간에서 제 1 발진 회로(120) 출력 'RO1'는 자체 회로 구성에 의하여 값이 정해지고, 지터 회로(170) 출력 'JO' 또한 제 3 발진 회로(180)의 출력에 따라서 그 값이 결정되기 때문에 타이밍도로 나타낼 수 없다. In addition, the first oscillator 120 outputs 'RO1' at a time after the time 't' is determined by its own circuit configuration, and the jitter circuit 170 output 'JO' is also set by the third oscillator circuit 180. Since the value is determined by the output, it cannot be represented as a timing diagram.

하지만, 제 2 발진 회로(120)의 출력인 'RO2'는 도 6의 클럭으로 발생되어 제 1 D-플립플롭(140)으로 제공되며, 제 2 D-플립플롭(150)의 출력인 'RN'은 상기 'RO2'의 하강 천이 구간에서 발생되는 난수 값으로 발생된다.However, 'RO2', which is the output of the second oscillation circuit 120, is generated as the clock of FIG. 6 and provided to the first D-flip-flop 140, and 'RN, which is the output of the second D-flip-flop 150. 'Is generated as a random number value generated in the falling transition section of the' RO2 '.

한편, 이와 같은 구성 및 구성 동작을 갖는 실난수 발생 장치(100)는 반복 구현되어 사용자가 원하는 크기의 실난수를 발생시킬 수 있다.On the other hand, the real number generator 100 having such a configuration and configuration operation is repeatedly implemented to generate a real number of the size desired by the user.

도 7은 본 발명의 바람직한 일 실시예에 따른 반복 구조형의 병렬형 실난수 발생 장치를 도시한 블록도이다. 7 is a block diagram illustrating an apparatus for generating a parallel real random number having a repeating structure according to an exemplary embodiment of the present invention.

도 7을 참조하면, 병렬형 실난수 발생 장치(100)는 전술된 도 1 내지 도 2의 실난수 발생 장치(100)를 반복적으로 이용하여 구현함으로써 사용자가 원하는 크기의 실난수를 생성할 수 있다. Referring to FIG. 7, the parallel real number generator 100 may generate a real number having a desired size by repeatedly implementing the real number generator 100 of FIGS. 1 and 2 described above. .

즉, 병렬형 실난수 발생 장치(100)는 일예로, 8개의 병렬 실난수 발생 장치(100)를 이용하여 도 7과 같이 8비트의 난수 RN0~RN7 값을 생성할 수 있다.That is, the parallel real random number generator 100 may generate, for example, 8-bit random numbers RN0 to RN7 using eight parallel real random number generators 100 as shown in FIG. 7.

그리고, 전술된 도 1 내지 도 2의 실난수 발생 장치(100)는 임의의 구성 요서들만이 리소스 공유되어 사용자가 원하는 크기의 실난수가 발생되도록 할 수 있다.In addition, the random realization generating device 100 of FIGS. 1 and 2 described above may share only certain components so that the real random number having a desired size can be generated.

도 8은 본 발명의 바람직한 일 실시예에 따른 리소스 공유형 실난수 발생 장치를 개념적으로 설명하기 위한 블록도이다.FIG. 8 is a block diagram conceptually illustrating a resource sharing real random number generating device according to an exemplary embodiment of the present invention.

도 8을 참조하면, 리소스 공유형의 실난수 발생 장치(200)는 각각 하나의 제 1 및 제 2 발진 회로(110, 120), POR 회로(130) 및 인버터(160)를 공유하여 사용하며, 상기 도 1 내지 도 7에서 나머지 회로의 구성 요소가 다수 블록(210)으로 구현되도록 함으로써 사용자가 원하는 크기의 실난수를 생성할 수 있다. Referring to FIG. 8, the resource sharing type real number generator 200 may share a single first and second oscillation circuit 110 and 120, a POR circuit 130, and an inverter 160, respectively. In FIGS. 1 to 7, the components of the remaining circuits may be implemented as a plurality of blocks 210 to generate a real random number having a desired size.

즉, 리소스 공유형 실난수 발생 장치(100)는 도 8과 같이, 제 1 및 제 2 발진 회로(110, 120), POR 회로(130) 및 인버터(160)를 제외한 나머지 구성 요소들이 출력 신호 RN0 ~ RN7 별로 각각 서로 다른 블록으로 구현되도록 하여, 원하는 크기의 실난수를 생성한다. That is, as shown in FIG. 8, the resource sharing type real number generator 100 has the remaining components except for the first and second oscillation circuits 110 and 120, the POR circuit 130, and the inverter 160. Realized random number of desired size by generating different blocks for each RN7.

도 9는 본 발명의 바람직한 다른 실시예에 따른 리소스 공유형 실난수 발생 장치를 개념적으로 설명하기 위한 블록도이다.FIG. 9 is a block diagram conceptually illustrating a resource sharing real random number generating device according to another exemplary embodiment of the present invention.

도 9를 참조하면, 리소스 공유형의 실난수 발생 장치(200)는 각각 하나의 지터 회로(170), POR 회로(130), 제 2 및 제 3 발진 회로(110, 120) 및 인버터(160)를 공유하여 사용하며, 상기 도 2 내지 도 7에서 나머지 회로의 구성 요소가 다수 블록(220)으로 구현되도록 함으로써 사용자가 원하는 크기의 실난수를 생성할 수 있다.Referring to FIG. 9, the resource sharing type real number generator 200 may include one jitter circuit 170, a POR circuit 130, second and third oscillation circuits 110 and 120, and an inverter 160, respectively. 2 and 7, the components of the remaining circuits may be implemented as a plurality of blocks 220 in FIG. 2 to FIG. 7 to generate a real random number having a desired size.

이상에서 설명한 본 발명은 전술한 실시 예 및 첨부된 도면에 의해 한정되는 것이 아니고, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경할 수 있다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 당업자에게 있어 명백할 것이다. The present invention described above is not limited to the above-described embodiments and the accompanying drawings, and it is common in the art that various substitutions, modifications, and changes can be made without departing from the technical spirit of the present invention. It will be apparent to those skilled in the art.

상기한 바와 같은 본 발명에 따른 오실레이터 샘플링 방법을 이용한 실난수 발생 장치는, 디지털 설계되고 발진기 제어 기능을 이용함으로, 그 구현이 용이하며, 고속, 저소비전력 및 저가격의 실난수를 발생할 수 있는 효과를 가진다.The real random number generator using the oscillator sampling method according to the present invention as described above is digitally designed and uses an oscillator control function, which is easy to implement, and has an effect of generating high speed, low power consumption, and low cost real number. Have

그리고, 상기한 바와 같은 본 발명에 따른 오실레이터 샘플링 방법을 이용한 실난수 발생 장치는, 반복 구조의 병렬형 또는 리소스 공유형으로 응용됨으로, 사용자가 원하는 크기의 실난수를 생성할 수 있는 효과를 가진다. The real number generator using the oscillator sampling method according to the present invention as described above has an effect of generating a real number having a desired size by being applied to a parallel type or a resource sharing type of a repeating structure.

Claims (11)

자체 출력을 데이터 입력으로 제공하는 제 1 발진 회로;A first oscillating circuit providing its own output as a data input; 자체 출력을 클럭 입력으로 제공하는 제 2 발진 회로;A second oscillating circuit providing its own output as a clock input; 자체 출력을 리셋 입력으로 제공하는 POR(Power-On-Reset) 회로;Power-On-Reset (POR) circuitry providing its own output as a reset input; 상기 데이터, 클럭 및 리셋을 입력으로 하여 동작하는 제 1 D-플립플롭;A first D flip-flop that operates with the data, clock, and reset as inputs; 상기 제 2 발진 회로의 출력을 인버팅하여 출력하는 인버터; 및An inverter for inverting and outputting the output of the second oscillation circuit; And 상기 제 1 D-플립플롭의 출력을 데이터 입력으로 하고, 상기 인버터의 출력을 클럭 입력으로 하며, 외부 인가되는 리셋 신호를 입력으로 동작하여 실난수를 발생시키는 제 2 D-플립플롭을 포함하되,A second D flip-flop that generates a real number by operating an output of the first D-flip flop as a data input, an output of the inverter as a clock input, and an externally applied reset signal as an input; 상기 POR 회로는 상기 제 1 및 제 2 발진 회로에 동작 개시 신호를 제공하고, 상기 제 1 D-플립플롭에 리셋 신호를 제공하는 것을 특징으로 하는 오실레이터 샘플링 방법을 이용한 실난수 발생 장치.And the POR circuit provides an operation start signal to the first and second oscillation circuits, and a reset signal to the first D-flip-flop. 제1항에 있어서, The method of claim 1, 상기 제 1 및 제 2 발진 회로는,The first and second oscillation circuit, 입력을 반전시켜 출력하는 링발진기; 및A ring oscillator for inverting and outputting an input; And 상기 링발진기의 출력과 외부 인가 신호를 입력으로 하여 발진 회로의 출력을 생성하는 NAND 게이트를 포함하되,It includes a NAND gate for generating the output of the oscillation circuit by the output of the ring oscillator and the external application signal, 상기 NAND 게이트는 출력을 피드백하여 링발진기에 제공하는 것을 특징으로 하는 오실레이터 샘플링 방법을 이용한 실난수 발생 장치.And the NAND gate feeds an output back to a ring oscillator, thereby providing a real oscillator sampling method. 제1항에 있어서, The method of claim 1, 상기 POR 회로는,The POR circuit, 전원에 연결된 저항; 및 A resistor connected to the power supply; And 접지에 연결된 콘덴서를 포함하되, Includes a capacitor connected to ground, 상기 저항과 콘덴서는 직렬로 연결되어, 상기 직렬연결 지점을 출력 단자로 하는 것을 특징으로 하는 오실레이터 샘플링 방법을 이용한 실난수 발생 장치.The resistor and the condenser are connected in series, the real number generator using an oscillator sampling method, characterized in that the series connection point as an output terminal. 제1항에 있어서, The method of claim 1, 상기 POR 회로는,The POR circuit, 임의의 지연 시간을 갖고 출력이 저(Low) 수준에서 고(High) 수준 또는 이와 반대의 동작을 수행하는 논리 모듈을 포함하는 것을 특징으로 하는 오실레이터 샘플링 방법을 이용한 실난수 발생 장치.An apparatus for generating a real number using an oscillator sampling method, comprising: a logic module having an arbitrary delay time and outputting from a low level to a high level or vice versa. 제1항에 있어서, The method of claim 1, 상기 실난수 발생 장치는,The real number generator, 반복된 구조로 병렬 구성되어 임의 비트 크기의 실난수를 발생시키는 것을 특징으로 하는 오실레이터 샘플링 방법을 이용한 실난수 발생 장치.Real number generator using an oscillator sampling method characterized in that the parallel structure is configured in a repeated structure to generate a real number of an arbitrary bit size. 제 1항에 있어서, The method of claim 1, 상기 실난수 발생 장치는,The real number generator, 상기 제 1 및 제 2 발진 회로, 상기 POR 회로 및 상기 인버터를 리소스 공유하고, 그 나머지가 반복된 구조로 병렬 구성되도록 하여, 임의 비트 크기의 실난수를 발생시키는 것을 특징으로 하는 오실레이터 샘플링 방법을 이용한 실난수 발생 장치.Using the oscillator sampling method, the first and second oscillator circuits, the POR circuit, and the inverter are shared in resources, and the rest of them are configured in parallel in a repeated structure to generate a real bit number having an arbitrary bit size. Real water generator. 자체 출력을 데이터 입력으로 제공하는 지터 회로;Jitter circuitry providing its own output as a data input; 자체 출력을 클럭 입력으로 제공하는 제 2 발진 회로;A second oscillating circuit providing its own output as a clock input; 자체 출력을 리셋 입력으로 제공하는 POR 회로;A POR circuit providing its output as a reset input; 상기 POR 회로의 출력을 입력으로 하여 동작하고, 자체 출력을 상기 지터 회로의 동작 개시 신호로 제공하는 제 3 발진 회로;A third oscillation circuit operating as an input of the output of the POR circuit and providing its own output as an operation start signal of the jitter circuit; 상기 데이터, 클럭 및 리셋을 입력으로 하여 동작하는 제 1 D-플립플롭;A first D flip-flop that operates with the data, clock, and reset as inputs; 상기 제 2 발진 회로의 출력을 인버팅하여 출력하는 인버터; 및An inverter for inverting and outputting the output of the second oscillation circuit; And 상기 제 1 D-플립플롭의 출력을 데이터 입력으로 하고, 상기 인버터의 출력을 클럭 입력으로 하며, 외부 인가되는 리셋 신호를 입력으로 동작하여 실난수를 발생시키는 제 2 D-플립플롭을 포함하되,A second D flip-flop that generates a real number by operating an output of the first D-flip flop as a data input, an output of the inverter as a clock input, and an externally applied reset signal as an input; 상기 POR 회로는 상기 제 2 및 제 3 발진 회로에 동작 개시 신호를 제공하고, 상기 제 1 D-플립플롭에 리셋 신호를 제공하는 것을 특징으로 하는 오실레이터 샘플링 방법을 이용한 실난수 발생 장치.And the POR circuit provides an operation start signal to the second and third oscillation circuits and a reset signal to the first D-flip-flop. 제7항에 있어서, The method of claim 7, wherein 상기 지터 회로는,The jitter circuit is, 반도체 집적회로 내에서 취득 가능한 열, 온도, 전류, 전압 및 주파수 중 적어도 하나를 입력하여 신호를 출력하는 잡음원;A noise source for inputting at least one of heat, temperature, current, voltage, and frequency obtainable in the semiconductor integrated circuit to output a signal; 상기 잡음원으로부터 출력된 신호를 증폭하여 디지털 신호를 생성하는 증폭기; 및An amplifier for amplifying the signal output from the noise source to generate a digital signal; And 상기 증폭기에서 생성된 신호를 외부 입력 신호에 따라서 출력하는 버퍼를 포함하는 것을 특징으로 하는 오실레이터 샘플링 방법을 이용한 실난수 발생 장치.And a buffer for outputting the signal generated by the amplifier according to an external input signal. 제7항에 있어서, The method of claim 7, wherein 상기 제 2 및 제 3 발진 회로는,The second and third oscillation circuit, 입력을 반전시켜 출력하는 기능을 하는 링발진기; 및A ring oscillator functioning to invert and output an input; And 상기 링발진기의 출력과 외부 인가 신호를 입력으로 하여 발진 회로의 출력을 생성하는 NAND 게이트를 포함하되,It includes a NAND gate for generating the output of the oscillation circuit by the output of the ring oscillator and the external application signal, 상기 NAND 게이트는 출력을 피드백하여 링발진기에 제공하는 것을 특징으로 하는 오실레이터 샘플링 방법을 이용한 실난수 발생 장치.And the NAND gate feeds an output back to a ring oscillator, thereby providing a real oscillator sampling method. 제7항에 있어서, The method of claim 7, wherein 상기 실난수 발생 장치는,The real number generator, 반복된 구조로 병렬 구성되어 임의 비트 크기의 실난수를 발생시키는 것을 특징으로 하는 오실레이터 샘플링 방법을 이용한 실난수 발생 장치.Real number generator using an oscillator sampling method characterized in that the parallel structure is configured in a repeated structure to generate a real number of an arbitrary bit size. 제7항에 있어서, The method of claim 7, wherein 상기 실난수 발생 장치는,The real number generator, 상기 제 2 및 제 3 발진 회로, 상기 POR 회로, 상기 지터 회로 및 상기 인버터를 리소스 공유하고, 그 나머지가 반복된 구조로 병렬 구성되도록 하여, 임의 비트 크기의 실난수를 발생시키는 것을 특징으로 하는 오실레이터 샘플링 방법을 이용한 실난수 발생 장치.The second and third oscillator circuit, the POR circuit, the jitter circuit and the inverter, the resource sharing, and the rest is configured in parallel in a repeated structure, the oscillator characterized in that to generate a real bit number of arbitrary bit size Real number generator using sampling method.
KR1020070057400A 2006-12-01 2007-06-12 True Random Number Generation Device using Oscillator Sampling Method KR101127961B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020060120454 2006-12-01
KR20060120454 2006-12-01

Publications (2)

Publication Number Publication Date
KR20080050220A true KR20080050220A (en) 2008-06-05
KR101127961B1 KR101127961B1 (en) 2012-04-12

Family

ID=39805716

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070057400A KR101127961B1 (en) 2006-12-01 2007-06-12 True Random Number Generation Device using Oscillator Sampling Method

Country Status (1)

Country Link
KR (1) KR101127961B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180005900A (en) * 2016-07-07 2018-01-17 국민대학교산학협력단 Random number generator for supporting multi entropy pool
KR20240097696A (en) * 2022-12-20 2024-06-27 고려대학교 산학협력단 Probalbilistic bit controller using chaos oscillator and operation method thereof

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101406941B1 (en) * 2012-07-05 2014-06-27 부산대학교 산학협력단 Apparatus and method for enhancing FPGA-based true random number generator and computer-readable recording medium with program therefor
KR101987141B1 (en) 2013-03-04 2019-10-01 삼성전자주식회사 Random number generator

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2802661B1 (en) 1999-12-21 2003-10-31 Bull Sa HIGH SPEED RANDOM NUMBER GENERATOR
JP2002268874A (en) 2001-03-07 2002-09-20 Toshiba Corp Random number seed generating circuit, driver provided with the same and sd memory card system
US6886023B2 (en) 2002-01-14 2005-04-26 Ip-First, Llc Apparatus for generating random numbers

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180005900A (en) * 2016-07-07 2018-01-17 국민대학교산학협력단 Random number generator for supporting multi entropy pool
KR101872329B1 (en) * 2016-07-07 2018-06-28 국민대학교산학협력단 Random number generator for supporting multi entropy pool
KR20240097696A (en) * 2022-12-20 2024-06-27 고려대학교 산학협력단 Probalbilistic bit controller using chaos oscillator and operation method thereof

Also Published As

Publication number Publication date
KR101127961B1 (en) 2012-04-12

Similar Documents

Publication Publication Date Title
Johnson et al. An improved DCM-based tunable true random number generator for Xilinx FPGA
Della Sala et al. A novel ultra-compact FPGA-compatible TRNG architecture exploiting latched ring oscillators
Vasyltsov et al. Fast digital TRNG based on metastable ring oscillator
US6240432B1 (en) Enhanced random number generator
Golic New methods for digital generation and postprocessing of random data
Wieczorek et al. Dual-metastability time-competitive true random number generator
JP3604674B2 (en) Random number generation circuit
TWI520055B (en) Apparatus and method for generating a random number
KR101987141B1 (en) Random number generator
Della Sala et al. High-throughput FPGA-compatible TRNG architecture exploiting multistimuli metastable cells
JP2020522771A (en) Low power consumption random number generator based on 2-input XOR gate
US7602219B2 (en) Inverting cell
Sivaraman et al. Metastability-induced TRNG architecture on FPGA
Durga et al. Design and synthesis of lfsr based random number generator
KR101127961B1 (en) True Random Number Generation Device using Oscillator Sampling Method
Cao et al. An energy-efficient true random number generator based on current starved ring oscillators
Garipcan et al. Design, FPGA implementation and statistical analysis of a high-speed and low-area TRNG based on an AES s-box post-processing technique
Vivek et al. Design and implementation of physical unclonable function in field programmable gate array
EP1562291A1 (en) Apparatus for providing a random bit stream
Garipcan et al. DESSB-TRNG: A novel true random number generator using data encryption standard substitution box as post-processing
Bahadur et al. Reconfigurable side channel attack resistant true random number generator
Jin et al. A dynamically reconfigurable entropy source circuit for high-throughput true random number generator
US9525457B1 (en) Spread spectrum clock generation using a tapped delay line and entropy injection
Sreekumar et al. Selection of an optimum entropy source design for a true random number generator
TWI579763B (en) Storage circuit with random number generation mode

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
J201 Request for trial against refusal decision
B601 Maintenance of original decision after re-examination before a trial
E801 Decision on dismissal of amendment
J301 Trial decision

Free format text: TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20090612

Effective date: 20111230

S901 Examination by remand of revocation
GRNO Decision to grant (after opposition)
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20150310

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160308

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170309

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180226

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20190305

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20200312

Year of fee payment: 9