KR20040063976A - 난수 발생 방법 및 난수 발생기 - Google Patents

난수 발생 방법 및 난수 발생기 Download PDF

Info

Publication number
KR20040063976A
KR20040063976A KR10-2004-7008138A KR20047008138A KR20040063976A KR 20040063976 A KR20040063976 A KR 20040063976A KR 20047008138 A KR20047008138 A KR 20047008138A KR 20040063976 A KR20040063976 A KR 20040063976A
Authority
KR
South Korea
Prior art keywords
flip
flop
random number
random
number generator
Prior art date
Application number
KR10-2004-7008138A
Other languages
English (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 KR20040063976A publication Critical patent/KR20040063976A/ko

Links

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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Manipulation Of Pulses (AREA)
  • Pinball Game Machines (AREA)
  • Details Of Television Scanning (AREA)
  • Measurement Of Radiation (AREA)

Abstract

본 발명은 플립플롭의 준안정 동작에 기초하여 난수 발생기에 외부 노이즈가 영향을 주지 않도록 방지하는 방법 및 장치에 관한 것이다. 보다 큰 난수 발생기 내의 복수의 플립플롭은 물리적으로 가깝기 때문에, 외부 노이즈는 이들에게 동일한 방법으로 영향을 미친다. 따라서, 외부 노이즈를 이용하여 난수 발생기의 동작에 영향을 미치는 능력은, 본원 명세서에서는 핵심 랜덤 요소라고 지칭하는 단일 난수 발생기 내의 복수의 플립플롭을 포함함으로써 감소된다. 난수 발생기 내의 핵심 랜덤 요소들 중 하나의 요소가 노이즈에 의해 영향을 받으면, 모든 핵심 랜덤 요소가 그 노이즈에 의해 영향을 받는다. 따라서, 모든(또는 대부분의 핵심 랜덤 요소가 동시에 랜덤 비트를 발생하면, 난수 발생기가 노이즈에 의해 영향을 받았을 가능성이 있으며, 모든 발행된 비트는 폐기된다. 복수의 핵심 랜덤 요소가 동시에 비트를 발생할 때 랜덤 비트가 발생하도록 보장하는 하나 이상의 메커니즘이 난수 발생기에 포함된다.

Description

난수 발생 방법 및 난수 발생기{METHOD AND APPARATUS FOR PREVENTING NOISE INFLUENCING A RANDOM NUMBER GENERATOR BASED ON FLIP-FLOP META-STABILITY}
많은 애플리케이션 및 전자 장치는 포커, 룰렛(roulette) 및 슬롯머신과 같은 확률 게임(games of chance)을 포함하여 난수(random numbers)를 요구한다. 특히, 수많은 암호화 알고리즘 및 프로토콜은 안전한 전자 통신 등을 향상시키기 위해 예측 불가능한(non-predictable) 난수 소스에 의존한다. 난수 발생기는 지정된범위의 수 내에서 모든 가능한 순열을 발생해야 한다. 또한, 난수 발생기는 편향되면 안되고, 임의의 주어진 수 및 임의의 일련번호를 다른 임의의 수 또는 일련번호와 동일한 확률로 발생해야 한다. 또한, 난수 발생기는 이전의 결과의 수집(collection)의 사이즈에 관계없이 예측가능할 수 없는 난수를 발생해야 한다. 따라서, 난수는 완전히 예측불가능해야 하고 외부의 영향에 아무런 영향을 받지 않아야 한다.
2000년 3월 6일 출원된 미국 특허 출원번호 제 09/519,549 호, "Method and Apparatus for Generating Random Numbers Using Flip-Flop Meta-Stability" 및 2001년 7월 25일 출원된 미국 특허 출원번호 제 09/912,685 호, "Method and Apparatus for Decorrelating a Random Number Generator Using a Pseudo-Random Sequence"에는 플립플롭의 준안정 동작을 이용하여 난수를 발생하는 방법 및 장치가 개시되어 있다. 플립플롭은 준안정(meta-stable) 동작을 보장하기 위해 플립플롭의 셋업 또는 홀드(hold) 시간(또는 둘 모두)을 고의로 위배하는 입력으로 클로킹된다. 에러가 발생할 때마다 비트가 수집된다.
준안정성(meta-stability)은 랜덤하게 발생하지만, 준안정성의 발생 및 존속 기간은 외부 노이즈에 영향을 받을 수도 있음이 밝혀졌다(일반적으로 랜덤 요소의 동작은 반도체 디바이스 내에서 발견된 열적 노이즈와 같은 내부 노이즈에 의해 제어된다). 따라서, 외부 노이즈가 난수 발생기에 영향을 주는 데 사용될 수 있으며, 이 때문에 발생된 수의 랜덤 특성을 손상시킬 수도 있다. 따라서, 외부 노이즈에 영향을 받지 않는 준안정성을 이용하여 난수를 발생하는 방법 및 장치가 요구된다.
본 발명은 2000년 3월 6일 출원된 미국 특허 출원번호 제 09/519,549 호, "Method and Apparatus for Generating Random Numbers Using Flip-Flop Meta-Stability" 및 2001년 7월 25일 출원된 미국 특허 출원번호 제 09/912,685 호, "Method and Apparatus for Decorrelating a Random Number Generator Using a Pseudo-Random Sequence"와 관련되며, 이들 특허출원은 각각 본 발명의 양수인에게 양도되었으며, 본원 명세서에 참조로서 포함된다.
본 발명은 난수 발생에 관한 것으로, 특히 플립플롭 준안정성(flip-flop meta-stability)을 이용하여 난수를 발생하는 방법 및 장치에 관한 것이다.
도 1a는 2000년 3월 6일 출원된 미국 특허 출원번호 제 09/519,549 호, "Method and Apparatus for Generating Random Numbers Using Flip-Flop Meta-Stability"의 개시 내용에 따른 난수 발생기를 도시한 도면.
도 1b는 도 1a의 난수 발생기의 출력을 클록 소스와 동기시키는 데 이용되는 동기화 회로를 도시한 도면.
도 2는 2001년 7월 25일 출원된 미국 특허 출원번호 제 09/912,685 호, "Method and Apparatus for Decorrelating a Random Number Generator Using a Pseudo-Random Sequence"의 개시 내용에 따른 다른 난수 발생기를 도시한 도면.
도 3은 도 2 및 도 1b의 회로에 의해 생성된 파형 세트를 도시한 도면.
도 4는 도 1a, 1b 및 2와 관련하여 위에서 논의한 난수 발생기(100, 200)의 구성요소를 이용하여 구현되는 핵심 랜덤 요소를 도시한 도면.
도 5 내지 도 8은 본 발명에 따른 난수 발생기의 다양한 실시예들을 도시한 도면.
본 발명은 일반적으로, 플립플롭의 준안정성 동작에 기초하는 난수 발생기에 외부 노이즈가 영향을 주지 않도록 방지하는 방법 및 장치에 관한 것이다. 외부 노이즈는 플립플롭의 준안정 동작을 이용하는 난수 발생기의 동작에 영향을 주기 위해 공격자에 의해 사용될 수 있는 것으로 관측되고 있다. 본 발명은 복수의 난수 발생기 내의 복수의 플립플롭은 물리적으로 가깝기 때문에, 외부 노이즈가 이들에게 동일한 방법으로 영향을 미칠 것이라는 것을 인식하고 있다.
따라서, 본 발명에 따르면, 외부 노이즈를 이용하여 난수 발생기의 동작에 영향을 줄 수 있는 능력이 단일 난수 발생기 내에, 본 명세서에서 핵심 랜덤 요소(core random element)라고 지칭되는 복수의 플립플롭을 포함함으로써 감소된다. 특히, 본 발명은 난수 발생기 내의 핵심 랜덤 요소들 중 하나가 노이즈에 의해 영향을 받으면, 모든 핵심 랜덤 요소가 노이즈에 의해 영향을 받을 것이라는 것을 인식하고 있다. 따라서, 모든(또는 대부분의) 핵심 랜덤 요소가 동시에 비트를 발행하면, 난수 발생기가 노이즈에 의해 영향을 받았을 가능성이 있으며, 발행된 비트는 폐기된다. 따라서 복수의 핵심 랜덤 요소가 동시에 비트를 발생할 때 랜덤 비트가 발생되지 않는다는 것을 보장하기 위한, 하나 이상의 메커니즘이 난수 발생기에 포함된다. 때론, 단순히 우연으로 핵심 랜덤 요소가 모두 동시에 랜덤 비트를 발생할 수도 있겠지만, 이들 비트를 폐기하는 것은 시스템의 전체 효율에 대수롭지 않은 영향을 미칠 것이다.
본 발명의 보다 완전한 이해를 위해, 본 발명의 다른 특징들 및 이점들은 이하의 상세한 설명 및 도면을 참조하여 얻어질 것이다.
본 발명은, 대형 난수 발생기 내의 복수의 플립플롭이 물리적으로 인접해 있기 때문에, 외부 노이즈가 이들에게 동일한 방법으로 영향을 미칠 것이라는 것을 인식하고 있다. 따라서, 본 발명은 여러 개의 플립플롭으로 이루어지는 각각의 핵심 랜덤 요소(400)의 집합(collection)으로서 구현된 복수의 플립플롭을 포함함으로써 외부 노이즈를 이용하여 난수 발생기의 동작에 영향을 주는 능력을 저감시킨다. 핵심 랜덤 요소는 도 4와 관련하여 아래에서 보다 상세하게 논의한다.
보다 구체적으로는, 본 발명은 핵심 요소들(400) 중 하나가 노이즈에 영향을 받으면, 모든 (또는 대부분의) 핵심 랜덤 요소들(400)이 노이즈에 의해 영향을 받을 것이라는 것을 인식하고 있다. 따라서, 다수의 핵심 랜덤 요소들(400)이 동시에, 예컨대 배타적 OR 게이트("XOR") 또는 발행된 비트를 검출하는 다른 게이트에 의해 검출된 비트를 발행하면, 난수 발생기가 노이즈에 의해 영향을 받았을 가능성이 있고, 발행된 비트는 폐기된다. 따라서 본 발명은 모든(또는 대부분의) 핵심 랜덤 요소(400)가 동시에 비트를 발생할 때 랜덤 비트가 발생하지 않도록 하는 하나 이상의 메카니즘을 포함한다.
이하에서의 논의는 다음과 같이 편성된다. 첫째, "준안정 플립플롭을 이용한 난수 발생기(Random Number Generators Using Meta-Stable Flip-Flops)" 섹션에서 다수의 핵심 랜덤 요소에 대해 논의된다. 그 다음에, 도 4는 예컨대 도 1 내지 3과 관련하여 논의한 난수 발생기(100, 200)에 기초하여 핵심 랜덤 요소의 보다 일반적인 개념을 도시한다. 마지막으로, "외부 노이즈가 난수에 영향을 주지 않도록방지(Preventing External Noise From Influencing a Random Number)" 섹션에서 본 발명의 노이즈 영향 감소 기법이 논의된다.
준안정 플립플롭을 이용한 난수 발생기(Random Number Generators Using Meta-Stable Flip-Flops)
도 1a는 2000년 3월 6일 출원된 미국 특허 출원번호 제 09/519,549 호, "Method and Apparatus for Generating Random Numbers Using Flip-Flop Meta-Stability"의 개시 내용에 따른 난수 발생기(100)를 도시하고 있다. 난수 발생기(100)는 제로들의 절반을 "1"로 표시하고, 나머지 절반을 "0"으로 표시함으로써 랜덤 출력 비트의 고른 분포를 제공한다. 또한, 1의 절반은 "1"로 표시되고 나머지 절반은 "0"으로 표시된다.
도 1a에 도시된 바와 같이, 난수 발생기(100)는 플립플롭(110), 지연부(115, 120), D 형 플립플롭(125, 132) 및 클록 발진기(130)를 포함한다. 플립플롭(110)은 준안정 동작을 위해 플립플롭(110)의 셋업 또는 홀드 시간(또는 둘 모두)을 고의로 위배하는 입력에 의해 클로킹된다. 셋업 또는 홀드 시간은 예컨대 지연부(115, 120)를 이용하여 위배될 수 있다. 플립플롭(110)은, 예컨대 D, T 또는 JK 형 플립플롭으로서 구현될 수 있다. 또한, 플립플롭(110)은 간단한 래치 및 약간 다른 회로로서 구현될 수 있으며, 이는 당해 기술분야의 통상의 지식을 가진 자에게는 명백할 것이다.
클록 신호는 클록 발진기(130) 및 D 형 플립플롭(125)에 의해 발생되고, 이D 형 플립플롭(125)은 클록을 2로 나누기 위해 Qbar 출력을 다시 D 입력에 공급한다. 이런 방식으로, D 형 플립플롭(125)은 T 형 플립플롭(toggled output)과 같은 방식으로 동작하여 이분할 메커니즘(divide-by-two mechanism)을 제공한다. 플립플롭(110)의 D 입력은 1과 0을 교대(alternating)시킴으로써 구동된다. 부가적인 이분할 플립플롭(132)은 도 1c에 도시된 마크(Mark) 신호를 발생하는 데, 여기서 입력 파형 내의 0의 절반은 "1"로 표시하고 0의 나머지 절반은 "0"으로 표시한다.
도 1a 및 1c에 가장 명확하게 도시된 바와 같이, 클록 발진기(130)에 의해 생성된 파형인 CLOCK은 도 1a에서 "클록"으로 표시된 샘플 지점에서 획득된다. 이분할 플립플롭(125)에 의해 생성된 파형인 INPUT은 도 1a의 "입력"으로 표시된 샘플 지점에서 획득된다. 지연부(115)에 의해 생성된 파형인 INPUT_D(플립플롭에 대한 셋업 시간의 위배를 갖는) 및 지연부(120)에 의해 생성된 파형인 INPUT_CLOCK은 도 1a의 대응하는 샘플 지점에서 획득된다. 이분할 플립플롭(132)에 의해 생성된 파형인 MARK는 도 1a의 "MARK"로 표시된 샘플 지점에서 획득된다.
도 1c에 도시된 바와 같이, 지연부(115, 120)에 의한 셋업 또는 홀드 시간(또는 둘 다)의 위배는 파형 META-STABLE OUT으로 예시된 바와 같이, 플립플롭(110)이 준안정 상태의 동작을 나타낼 것을 보장한다. 이하에서 더 논의되는 바와 같이, 플립플롭(110)의 준안정 동작은 난수 생성 메커니즘을 제공한다.
지연부(115, 120)로부터의 지연, 플립플롭(110) 그 자체 내에서의 고유 지연(inherent delay) 및 가장 중요하게는 준안정 동작으로부터의 비균일(non-uniform) 지연으로부터의 지연의 결과, META-STABLE OUT 파형은 CLOCK 파형에 동기하지 않는다. 따라서, 동기 애플리케이션에 적절한 도 1a의 난수 발생기(100)를 만들기 위해, META-STABLE OUT 파형을 CLOCK 파형에 동기시키기 위한 예시적인 메커니즘이 도 1b에 제공된다. 도 1a 및 도 1b의 회로는 원 내의 유사 문자를 결합시킴으로써 연결된다는 것에 주의하라.
도 1b에 도시된 동기 회로(135)는 준안정 상태에 쉽게 들어가지 않도록 선택되는 다수의 직렬 플립플롭(140 내지 142)을 포함한다. 또한, 이들 플립플롭(140 내지 142) 중 하나가 준안정 상태가 되면, 클록 신호의 주기는 준안정 플립플롭의 출력이 고정된 논리 값(0 또는 1)으로 안정되도록 충분히 길어야 하며, 따라서 신호가 다음 플립플롭(140 내지 142)에서 샘플링될 때 플립플롭은 안정된다. 이런 방식으로, 각각의 플립플롭(140 내지 142)은 어떠한 준안정성도 제거하면서 META-STABLE OUT 파형을 CLOCK 파형에 동기시킬 가능성을 높인다. 실제로 그러한 회로에 있어서의 부정확한 동작의 가능성은 수십년 내에 측정될 것이다.
배타적 OR 게이트("XOR")(150)는 STABLE-OUT으로 표시된 META-STABLE OUT 파형의 동기화 버전을 (이분할 플립플롭(125)의 출력에서 샘플링된)INPUT 파형과 비교한다. 두 개의 입력이 다른 경우 XOR 게이트(150)의 출력은 하이(HICH)가 되므로, STABLE_OUT 파형이 입력 신호와 매칭되지 않으면 XOR 게이트(150)의 출력(MISTAKE)은 하이가 된다. 이 MISTAKE는 플립플롭(110, 140, 141, 142) 중 하나가 MISTAKE(이것은 준안정 동작의 결과로서 발생한다고 가정한다)를 생성하는 경우에 발생할 수 있다. XOR 게이트(150)의 출력(MISTAKE)은 시프트 레지스터(160)의 시프트 입력(SHIFT_IN)에 인가되고, 시프트 레지스터(160)는 MISTAKE가 존재할때마다 MARK 신호로부터 비트를 시프트한다. 따라서, 제 1 실시예는 에러(MISTAKE)가 발생할 때마다 비트를 수집한다.
시프트 레지스터(160)의 입력 라인은 MARK 신호에 접속된다. 이런 방식으로, MISTAKE가 발생할 때마다 시프트 레지스터(160)는 MARK 신호로부터 비트를 시프트한다. 따라서, 도 1c에 도시된 바와 같이, MISTAKE ZERO에 대하여, 1(MARK 신호에 기초하여)과 동일한 비트가 획득된다. 마찬가지로, MISTAKE ONE에 대하여, 1과 동일한 비트(MARK 신호에 기초하여)가 획득된다.
난수 발생기(100)는 또한 "1" 또는 "0"의 마크로 플립플롭(110)에 대한 1의 입력을 표시한다. 따라서, 만약 MISTAKE가 입력에 대한 1의 값에 의해 발생하면, 그 1의 값에 의해 생성된 착오(mistake)로 인해 랜덤 비트의 고른 분포가 또한 획득될 것이다. 따라서, 이 회로는 1 또는 0의 입력 값에서 발생하는 에러들 사이의 편향(bias)에 영향을 받지 않는다.
전술한 바와 같이, 도 1a 내지 1c와 관련하여 위에서 논의한 방식으로 입력 비트를 표시하면 랜덤 출력 비트의 고른 분포가 제공된다. 그러나, 준안정성의 발생 및 그 존속 기간이 노이즈에 의해 영향을 받을 수 있다. 따라서, 노이즈가 마킹 신호(marking signal)와 관련이 있으면, 난수 발생기의 출력은 랜덤하지 않게 된다.
따라서, 편향되지 않은(0 및 1의 빈도에 관계없이) 신호 소스가 마킹 신호로 사용된다. 마킹 신호는 시스템 내의 어떠한 노이즈에 대해서도 높은 확률로 상관되지 않는다. LFSR(linear feedback shift register) 출력 내의 어떠한 편향도 저감시키고 상관의 가능성을 낮추기 위해 충분한 길이를 갖는 선형 피드백 시프트 레지스터(LFSR)가 채용된다. 적절한 LFSR에 대해서는 Bruce Schneier의 "Applied Cryptography" 369-388 페이지(Wiley, 1994)를 참조하라.
도 2는 난수 발생기(200)를 도시하고 있다. 도 2에 도시된 바와 같이, 난수 발생기(200)는 플립플롭(110), 지연부(115, 120), D형 플립플롭(125) 및 도 1a와 관련하여 설명한 바와 같은 방식으로 동작하는 클록 발진기(130)를 포함한다. 또한, 난수 발생기(200)는 도 3에 도시된 LFSR MARK 신호를 발생하는 선형 피드백 시프트 레지스터(210)를 포함하는 데, LFSR MARK 신호는 INPUT 파형 내의 0의 반보다 약간 많게 "1"로서 표시하고, 0의 거의 절반을 "0"으로 표시하며, 즉 어떠한 노이즈에 대해서도 높은 확률로 상관되지 않는다. 이 신호는 n 비트의 LFSR에 대해 2n-1 개의 패턴만이 존재하기 때문에(모든 제로 패턴은 발생하지 않음), 항상 약간의 편향을 갖는다. 이 편향은 n이 크다면 중요하지 않게 된다.
따라서, 도 2의 난수 발생기(200)는 도 1a의 마킹 플립플롭(132)을 선형 피드백 시프트 레지스터(210)로 대신하고 있다. 선형 피드백 시프트 레지스터(210)는 Bruce Schneier의 "Applied Cryptography" 369-388 페이지(Wiley, 1994)에 개시된 바와 같이 구현될 수도 있다. 도 2의 난수 발생기는, 난수 발생기(200)의 출력을 클록 소스와 동기시키기 위해 도 1b의 동기 회로(135)와 함께 이용될 수 있다.
전술한 바와 같이, 선형 피드백 시프트 레지스터(210)는 LFSR 출력 내의 임의의 편향을 감소시키고 상관 가능성을 감소시키기 위해 충분한 비트 수를 제공한다. n 개의 플립플롭으로 이루어진 선형 피드백 시프트 레지스터(210)에 대하여, 이들 수가 반복하기 시작하기 전에 2n-1 개의 이진수가 존재한다. 따라서, 선형 피드백 시프트 레지스터(210) 내의 플립플롭의 수가 증가함에 따라, 2n-1 개의 이진 표현 내의 -1은 덜 중요해진다. 어떠한 경우든, -1 항목에 기인하는 어떠한 편향이든 그 방향은 알려지기 때문에, 그 편향은 적절한 회로에 의해 제거되거나 수정될 수 있다.
따라서, 선형 피드백 시프트 레지스터(210)는 의사 랜덤(pseudo-random) 마킹 출력 LFSR MARK를 제공하는 데, 출력 비트의 반은 0이고 나머지 반은 1이다.
선형 피드백 시프트 레지스터(210)가 불안정한 경우, 출력의 일부(심지어 랜덤 부분)는 선형 피드백 시프트 레지스터(210)의 상태가 알려지도록 허용할 수도 있다. 이런 방식으로, 난수 발생기(200)의 출력을 예측하는 것이 가능하다. 따라서, 식별가능한 통계를 갖지 않는 선형 피드백 시프트 레지스터(210)가 이용되어야 하며, 이에 따라 선형 피드백의 상태 정보는 쓸모 없게 된다. 다른 변형에서는, 시프트 레지스터(160)로부터 수집된 비트를 해제하고 수집된 비트의 일부를 각각의 수집 간격 내에서 소실되도록 함으로써 부가적인 보안이 달성된다.
시프트 레지스터(160)는 MISTAKE가 발생할 때마다 MARK 신호로부터 비트를 시프트한다. 이런 방식으로, MISTAKE의 도착 시간이 식별되지 않아, 선형 피드백 시프트 레지스터(210)의 어느 비트가 선택될 지를 예측할 수 없게 된다.
외부 노이즈가 난수에 영향을 주지 않도록 방지(Preventing External Noise From Influencing a Random Number)
전술한 바와 같이, 본 발명은 기판 상의 또는 집적 회로 내의 다수의 플립플롭은 물리적으로 가깝기 때문에, 동일한 방식으로 외부 노이즈는 이들에게 영향을 주지 않을 것이라는 것을 인식하고 있다. 따라서, 본 발명의 일측면에 따르면, 외부 노이즈를 이용하여 난수 발생기를 공격하는 능력은 하나의 난수 발생기 내에, 본원 명세서에서는 핵심 랜덤 요소(400)라고 지칭되는 둘 이상의 플립플롭을 이용함으로써 감소된다. 보다 구체적으로는 본 발명은 핵심 랜덤 요소(400) 중 하나가 노이즈에 의해 영향을 받는 경우 이들은 모두 영향을 받는다는 것을 인식하고 있다. 따라서, 배타적 OR 게이트("XOR")(또는 방출된 비트를 검출하는 다른 게이트)에 의해 검출된 모든(또는 대부분의) 핵심 랜덤 요소들(400)이 동시에 비트를 발행하면, 난수 발생기는 노이즈에 의해 영향을 받았을 가능성이 있고, 모든 발행된 비트는 폐기된다.
예를 들면, t가 0보다 큰 임계치이고, n이 플립플롭의 개수이면, (n/2+t) 이하인 경우 비트가 발생되고, 동일한 결과가 준안정 플립플롭에 의해 발생된다. 마찬가지로, (n/2+t)보다 큰 경우에는 비트가 발생되지 않고 동일한 결과가 준안정 플립플롭에 의해 발생된다. 따라서, n이 10 개의 플립플롭과 동일하고, t가 2와 동일하면, 8 이상의 플립플롭이 동일한 결과를 가지며 이 때 그 비트는 폐기된다. 또한, n이 2인 경우, (t를 0보다 크게 설정함으로써)모든 플립플롭이 동일한 결과를 가지면 그 비트는 폐기된다. 이런 방식으로, 본 발명은 플립플롭이 1 및 0을발생하는 고른 분포를 갖지 않을 때에도 난수를 제공할 수 있다. 준안정 플립플롭이 1을 발생할 확률이 p이고, 동일한 준안정 플립플롭이 0을 발생할 확률이 1-p인 경우, p*n+t보다 크거나 p*n-t보다 적은 비트가 발행되면 그 비트는 폐기된다. 예를 들면, n이 10이고, p가 0.7이고, t가 1인 경우, 9보다 크거나 5보다 적은 비트가 존재하면 그 비트는 폐기된다.
도 4는, 예를 들어 도 1a, 도 1b 및 도 2와 관련하여 위에서 논의한 난수 발생기(100, 200)의 구성요소를 이용하여 구현되는 핵심 랜덤 요소(400)를 도시하고 있다. 도 4에 도시된 바와 같이, 핵심 랜덤 요소(400)는 플립플롭(410), 가변 지연부(415, 420) 및 동기 회로(430)를 포함한다. 클록 신호는 클록 소스(도시되지 않음)에 의해 발생된다. 전술한 바와 같이, 플립플롭(410)은 준안정 동작을 보장하기 위해 플립플롭(410)의 셋업 또는 홀드 시간(또는 둘 모두)을 고의로 위배하는 입력에 의해 클로킹된다. 셋업 또는 홀드 시간은, 예컨대 가변 지연부(415, 420)를 이용하여 위배될 수 있다. 플립플롭(410)은 예컨대 D, T 또는 JK 형 플립플롭으로 구현될 수 있다.
전술한 바와 같이, 지연부(415, 420)로부터의 지연, 플립플롭(410) 그 자체 내의 고유 지연 및 가장 중요하게는 준안정 동작으로부터의 비균일(non-uniform) 지연으로부터의 지연은 META-STABLE OUT 파형이 CLOCK 파형에 동기하지 않게 한다. 따라서, 동기 애플리케이션에 적절한 도 4의 핵심 랜덤 요소(400)를 만들기 위해, META-STABLE OUT 파형을 CLOCK 파형에 동기시키기 위한 예시적인 메커니즘이 도 4에 제공된다.
도 4에 도시된 동기 회로(430)는 준안정 상태에 쉽게 들어가지 않도록 선택되는 다수의 직렬 플립플롭(440 내지 442)을 포함한다. 또한, 이들 플립플롭(440 내지 442) 중 하나가 준안정 상태가 되면, 클록 신호의 주기는 준안정 플립플롭의 출력이 고정된 논리 값(0 또는 1)으로 안정되도록 충분히 길어야 하며, 따라서 신호가 다음 플립플롭(440 내지 442)에서 샘플링될 때 플립플롭은 안정된다. 이런 방식으로, 각각의 플립플롭(440 내지 442)은 어떠한 준안정성도 제거하면서 META-STABLE OUT 파형을 CLOCK 파형에 동기시킬 가능성을 높인다. 출력 META STABLE OUT을 입력 신호와 비교함으로써, 이들이 불일치하는 경우를 찾아낼 수 있다. 이 불일치는 핵심 랜덤 요소(400) 내의 플립플롭 중 하나가 준안정되었을 때에만 발생할 수 있다. 따라서, 배타적 OR(XOR) 게이트는 핵심 랜덤 요소(400)에 의해 발생된 비트를 검출하는 역할을 하며, 이는 첫 번째 설명에서 XOR 게이트(150)로 도시되어 있다. 핵심 랜덤 요소(400)의 동작에 대한 추가적인 상세에 대해서는 위에서 참조되었으며 본원에 참조로서 포함된 계류 중인 관련 특허출원을 참조하라.
도 5는 본 발명에 따른 난수 발생기(500)를 도시하고 있다. 전술한 바와 같이, 본 발명은 하나의 난수 발생기 내에 복수의 플립플롭을 사용함으로써 외부 노이즈를 이용하는 공격에 대한 난수 발생기의 민감도를 감소시킨다. 도 5에 도시된 실시예에서, 난수 발생기(500)는 도 4와 관련하여 위에서 논의한 두 개의 핵심 랜덤 요소(400-1, 400-2)를 직렬로 포함한다.
클록 소스는 클록 발진기(530) 및 Qbar 출력이 D 입력으로 피드백되는 D 형 플립플롭(525)에 의해 발생된다. 이런 방식으로, D형 플립플롭(525)은 T형 플립플롭과 동일한 방식으로 동작하여(toggled output), 이분할 메커니즘(divide-by-two mechanism)을 제공한다. 따라서, 예시적인 핵심 랜덤 요소(400-1)의 입력은 1 및 0을 교대시킴으로써 구동된다. 다른 입력 신호 구조는 도 8과 관련하여 보다 상세히 논의한다.
도 5에 도시된 바와 같이, 핵심 랜덤 요소(400-1)의 출력은 제 2 핵심 랜덤 요소(400-2)에 대한 입력으로서 인가된다. 핵심 랜덤 요소들(400-1, 400-2) 중 하나가 노이즈에 의해 영향을 받으면, 둘 다 영향을 받을 것이다. 따라서, 두 핵심 랜덤 요소(400-1, 400-2)가 모두 동시에, 배타적 OR(XOR) 회로(540, 550)에 의해 검출된 비트를 발행하면, 난수 발생기(500)가 노이즈에 의해 영향을 받았을 가능성이 있고, 발행된 비트는 폐기된다. 따라서 난수 발생기(500)는 배타적 OR(XOR) 회로(540, 550, 560)의 세트를 포함한다.
제 1 배타적 OR 게이트("XOR")(540)는 STABLE_OUT 파형의 동기화 버전을 (이분할 플립플롭(525)의 출력에서 샘플링된) INPUT 파형과 비교한다. 두 개의 입력이 다른 경우 XOR 게이트(540)의 출력은 하이(HICH)가 되므로, 핵심 랜덤 요소(400-2)로부터의 STABLE_OUT 파형이 입력 신호와 매칭되지 않으면 XOR 게이트(540)의 출력은 하이가 되며, 이것은 핵심 랜덤 요소 내의 플립플롭 중 하나가 준안정으로 될 때에만 발생할 수 있다. 이와 마찬가지로, 두 개의 입력이 상이한 경우 XOR 게이트(550)의 출력이 하이로 되기 때문에, 핵심 랜덤 요소(400-2)로부터의 STABLE_OUT 파형이 핵심 랜덤 요소(400-1)로부터의 STABLE_OUT 파형과 매칭되지 않으면 XOR 게이트(550)의 출력은 하이로 된다.
그 다음에 두 개의 XOR 게이트(540, 550)의 출력은 XOR 게이트(560)에 인가된다. XOR 게이트(560)의 출력은 두 입력이 상이한 경우 하이로 되기 때문에, 두 핵심 랜덤 요소(400-1, 400-2) 모두로부터의 STABLE_OUT 파형이 하이 또는 로우이면 XOR 게이트(560)의 출력은 하이로 되지 않는다. 즉, 두 핵심 랜덤 요소(400-1, 400-2) 모두가 비트를 발생한 경우에만 XOR 게이트(560)는 비트의 발생을 억제한다.
XOR 게이트(560)의 출력은 시프트 레지스터(570)의 ENABLE 입력에 인가된다. 따라서, 단지 하나의 핵심 랜덤 요소(400)로부터의 STABLE_OUT 파형이 각각의 핵심 랜덤 요소(400)에 대한 입력과 일치하지 않을 때마다(즉, "MISTAKE"가 존재할 때마다) 시프트 레지스터(570)는 마킹 신호 LFSR MARK로부터 비트를 시프트한다. 그 다음에 발생된 비트는 컴퓨터 인터페이스(580)(또는 다른 애플리케이션)에 인가된다.
도 6은 본 발명에 따른 난수 발생기(600)를 도시한 것이다. 도 6에 도시된 실시예에서, 난수 발생기(600)는 도 4와 관련하여 위에서 논의한 두 개의 핵심 랜덤 요소(400-1, 400-2)를 병렬로 포함한다. 도 6에 도시된 실시예는 공격자가 도 5의 실시예에서의 입력 신호가 상이한 시간에 두 개의 플립플롭을 통과한다는 사실을 이용하지 못하도록 하는 데 특히 유용하다.
클록 소스는 클록 발진기(630) 및 Qbar 출력이 D 입력으로 피드백되는 D 형 플립플롭에 의해 발생된다. 이런 방식으로, D 형 플립플롭(625)은 T 형 플립플롭(toggled output)과 동일한 방식으로 동작하여, 이분할 메커니즘을 제공한다. 따라서, 병렬 실시예에서 두 핵심 랜덤 요소(400-1, 400-2) 모두의 입력은 1 및 0을 교대시킴으로써 구동된다. 다른 입력 신호 구조는 도 8과 관련하여 이하에 더 논의된다.
도 6에 도시된 바와 같이, 난수 발생기(600)는 배타적 OR(XOR) 회로(640, 650, 660) 세트를 포함한다. 도 5의 실시예와 같이, 제 1 배타적 OR 게이트("XOR")(640)는 STABLE_OUT 파형의 동기화 버전을 (이분할 플립플롭(625)의 출력에서 샘플링된)INPUT 파형과 비교한다. 두 개의 입력이 다른 경우 XOR 게이트(640)의 출력은 하이(HICH)가 되므로, 핵심 랜덤 요소(400-1)로부터의 STABLE_OUT 파형이 입력 신호와 매칭되지 않으면 XOR 게이트(640)의 출력은 하이가 된다. 마찬가지로, 두 개의 입력이 상이한 경우 XOR 게이트(650)의 출력이 하이로 되기 때문에, 핵심 랜덤 요소(400-2)로부터의 STABLE_OUT 파형이 입력 신호와 매칭되지 않으면 XOR 게이트(650)의 출력은 하이로 된다.
두 XOR 게이트(640, 650)의 출력은 그 다음에 XOR 게이트(660)에 인가된다. 두 입력이 상이하면 XOR 게이트(660)의 출력은 하이로 되고, 두 핵심 랜덤 요소(400-1, 400-2)로부터의 STABLE_OUT 파형이 하이 또는 로우이면 XOR 게이트(660)의 출력은 하이로 되지 않는다. 즉, 두 핵심 랜덤 요소(400-1, 400-2) 모두가 발생된 비트를 갖는 경우 XOR 게이트(660)는 비트의 발생을 억제한다.
XOR 게이트(660)의 출력은 시플트 레지스터(670)의 ENABLE 입력에 인가된다. 단지 하나의 핵심 랜덤 요소(400)가 입력 신호와 매칭되지 않을 때마다(즉, "MISTAKE"가 존재할 때마다) LFSR(210)로부터의 마킹 신호 LFSR MARK로부터 비트를시프트한다. 그 다음에 발생된 비트는 컴퓨터 인터페이스(680)(또는 다른 애플리케이션)에 인가된다.
도 7은 본 발명의 다른 실시예에 따른 난수 발생기(700)를 도시하고 있다. 도 7에 도시된 실시예에서, 난수 발생기(600)는 도 4와 관련하여 위에서 논의한 두 개의 핵심 랜덤 요소(400-1, 400-2)를 병렬로 포함하며, 제 2 핵심 랜덤 요소(400-2)에 대한 입력 신호를 스위칭하기 위해 인버터(710)를 사용한다. 따라서, 핵심 랜덤 요소(400-2)는 핵심 랜덤 요소(400-1)와 동일한 입력 신호를 갖지 않는다. 도 7에 도시된 실시예는 난수 발생의 각 단계에서 공격자를 추가로 방어할 수 있다.
난수 발생기(700)는 인버터(710)에 대한 동작 외에는, 도 6과 관련하여 위에서 논의한 난수 발생기(600)와 유사한 방식으로 동작한다.
도 8은 본 발명의 또 다른실시예에 따른 난수 발생기(800)를 도시한 것이다. 도 8에 도시된 실시예에서, 제 1 핵심 랜덤 요소(400-1)는 다른 랜덤 요소(400-2)로부터 랜덤 비트의 발생을 트리거하는 데 사용된다. 보다 구체적으로는, 제 1 핵심 랜덤 요소(400-1)에서 MISTAKE가 검출될 때마다, 제 2 핵심 랜덤 요소(400-2)의 안정된 출력이 출력 스트림에 사용된다. MISTAKE의 검출은 복수의 핵심 랜덤 요소(400)를 사용함으로써, 전술한 바와 동일한 방식으로 행해질 수 있다.
도 8에 도시된 바와 같이, 난수 발생기(800)는 도 4와 관련하여 위에서 논의한 두 개의 핵심 랜덤 요소(400-1, 400-2)를 포함한다. 또한, 클록 소스(830)가 클록 신호를 발생한다. Qbar 출력이 D 입력에 피드백되는 D 형 플립플롭(825)이이분할 메커니즘을 제공한다. 따라서, 핵심 랜덤 요소(400-1)의 입력은 1 및 0를 교대시킴으로써 구동된다.
MISTAKE는 배타적 OR(XOR) 회로(840)를 사용하여 제 1 랜덤 요소(400-1)에서 검출된다. 배타적 OR 게이트("XOR")(840)는 핵심 랜덤 요소(400-1)로부터의 STABLE_OUT 파형의 동기화 버전을 이분할 플립플롭(825)의 출력에서 샘플링된)INPUT 파형과 비교한다. 두 입력이 상이한 경우 XOR 게이트(840)의 출력은 하이로 되고, 랜덤 요소(400-1)로부터의 STABLE_OUT 파형이 준안정 동작으로 인한 입력 신호와 매칭되지 않으면 XOR 게이트(840)의 출력은 하이로 된다.
XOR 게이트(840)의 출력은 시프트 레지스터(870)의 ENABLE 입력에 인가된다. 따라서, 핵심 랜덤 요소(400-1)로부터의 STABLE_OUT 파형이 입력 신호와 매칭되지 않을 때마다(즉, "MISTAKE"가 존재할 때마다), 시프트 레지스터(870)는 입력 신호로부터 비트를 시프트한다(이것은 핵심 랜덤 요소(400-2)에 의해 구동된다). 그 다음에 발생된 비트는 컴퓨터 인터페이스(880)(또는 다른 애플리케이션)에 인가된다. 핵심 랜덤 요소(400-2)는 도 4와 관련하여 위에서 논의한 것과 동일한 방식으로 동작한다.
이상의 실시예들 및 변형예들은 단지 본 발명의 원리를 예시하는 것일 뿐이며 본 발명의 사상 및 범주를 벗어나지 않고 당업자들에 의해 다양한 변형이 이루어질 수 있음에 유의하라.

Claims (21)

  1. 난수 발생 방법에 있어서,
    준안정 상태(meta-stable state)에서 복수의 플립플롭(400)을 동작시키는 단계와,
    상기 플립플롭(400) 중 하나가 상기 준안정 상태로 진입하면 랜덤 비트를 발생시키는 단계와,
    상기 복수의 플립플롭(400) 중 둘 이상이 사전 결정된 기간 내에 준안정 상태로 진입하면 랜덤 비트의 발생을 방지하는 단계
    를 포함하는 난수 발생 방법.
  2. 제 1 항에 있어서,
    상기 플립플롭(400)은 병렬로 구동되는 난수 발생 방법.
  3. 제 1 항에 있어서,
    상기 플립플롭(400) 중 적어도 하나는 상기 플립플롭(400) 중 적어도 하나의 다른 플립플롭에 접속되는 난수 발생 방법.
  4. 제 1 항에 있어서,
    상기 방지 단계는 하나 이상의 배타적 OR(XOR) 회로(540, 550, 560)에 의해 행해지는 난수 발생 방법.
  5. 제 1 항에 있어서,
    상기 발생 단계는 상기 플립플롭(400) 중 하나의 출력이 인가된 입력과 매칭되지 않으면 랜덤 비트를 선택하는 단계를 더 포함하는 난수 발생 방법.
  6. 제 1 항에 있어서,
    각각의 상기 플립플롭(400)의 출력을 로컬 클록 소스(530)와 동기화시키는 단계를 더 포함하는 난수 발생 방법.
  7. 제 6 항에 있어서,
    상기 동기화 단계를 수행하는 동기화 회로(430)는 준안정하게 되는 데 있어 상기 플립플롭보다 덜 민감한 난수 발생 방법.
  8. 제 1 항에 있어서,
    복수의 상기 랜덤 비트를 수집하여 난수를 생성하는 단계를 더 포함하는 난수 발생 방법.
  9. 제 1 항에 있어서,
    제 2 플립플롭(400-2)에 대한 입력 신호를 반전시켜 상기 제 2 플립플롭(400-2)이 제 1 플립플롭과 동일한 입력 신호를 갖지 않도록 보장하는 난수 발생 방법.
  10. 난수 발생기(500)에 있어서,
    준안정 상태(meta-stable state)에서 동작하는 복수의 플립플롭(400)으로서, 상기 복수의 플립플롭(400) 중 하나의 플립플롭이 상기 준안정 상태로 진입하면 랜덤 비트를 발생시키는 상기 복수의 플립플롭(400)과,
    상기 복수의 플립플롭(400) 중 둘 이상이 사전 결정된 기간 내에 준안정 상태로 진입하면 랜덤 비트의 발생을 방지하는 수단(540, 550, 560)
    을 포함하는 난수 발생기.
  11. 제 10 항에 있어서,
    상기 플립플롭(400)은 병렬로 구동되는 난수 발생기.
  12. 제 10 항에 있어서,
    상기 플립플롭(400) 중 적어도 하나의 플립플롭은 상기 플립플롭(400) 중 적어도 하나의 다른 플립플롭에 접속되는 난수 발생기.
  13. 제 10 항에 있어서,
    상기 랜덤 비트의 발생을 방지하는 수단은 하나 이상의 배타적 OR(XOR) 회로(540, 550, 560)인 난수 발생기.
  14. 제 10 항에 있어서,
    상기 플립플롭(400) 중 하나의 출력이 인가된 입력과 매칭되지 않으면 상기 플립플롭(400)의 준안정 상태의 검출이 식별되는 난수 발생기.
  15. 제 10 항에 있어서,
    상기 플립플롭(400) 각각의 출력을 로컬 클록 소스(530)와 동기화시키는 동기화 회로를 더 포함하는 난수 발생기.
  16. 제 15 항에 있어서,
    상기 동기화 회로(430)는 준안정하게 되는 데 있어 상기 플립플롭보다 덜 민감한 난수 발생기.
  17. 제 10 항에 있어서,
    복수의 상기 랜덤 비트가 수집되어 난수를 생성하는 난수 발생기.
  18. 난수 발생 방법에 있어서,
    준안정 상태에서 제 1 플립플롭(400-1)을 동작시키는 단계와,
    상기 제 1 플립 플롭(400-1)이 상기 준안정 상태에 있을 때 제 2 플립플롭(400-2)의 출력으로부터 랜덤 비트를 발생시키는 단계
    를 포함하는 난수 발생 방법.
  19. 제 18 항에 있어서,
    상기 발생 단계는 적어도 하나의 배타적 OR(XOR) 회로(840)에 의해 트리거되는 난수 발생 방법.
  20. 제 18 항에 있어서,
    상기 제 2 플립플롭(400-2)의 출력을 로컬 클록 소스(830)와 동기화시키는 단계를 더 포함하는 난수 발생 방법.
  21. 제 18 항에 있어서,
    복수의 상기 랜덤 비트를 수집하여 난수를 생성하는 단계를 더 포함하는 난수 발생 방법.
KR10-2004-7008138A 2001-11-29 2002-11-12 난수 발생 방법 및 난수 발생기 KR20040063976A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/998,050 US6963888B2 (en) 2001-11-29 2001-11-29 Method and apparatus for preventing noise from influencing a random number generator based on flip-flop meta-stability
US09/998,050 2001-11-29
PCT/IB2002/004746 WO2003046840A2 (en) 2001-11-29 2002-11-12 Preventing noise influencing a random number generator

Publications (1)

Publication Number Publication Date
KR20040063976A true KR20040063976A (ko) 2004-07-15

Family

ID=25544690

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2004-7008138A KR20040063976A (ko) 2001-11-29 2002-11-12 난수 발생 방법 및 난수 발생기

Country Status (10)

Country Link
US (1) US6963888B2 (ko)
EP (1) EP1451676B1 (ko)
JP (1) JP4234011B2 (ko)
KR (1) KR20040063976A (ko)
CN (1) CN100414491C (ko)
AT (1) ATE416417T1 (ko)
AU (1) AU2002365491A1 (ko)
DE (1) DE60230179D1 (ko)
TW (1) TWI289247B (ko)
WO (1) WO2003046840A2 (ko)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7113966B2 (en) * 2001-07-25 2006-09-26 Koninklijke Philips Electronics N.V. Method and apparatus for decorrelating a random number generator using a pseudo-random sequence
US20030236802A1 (en) * 2002-06-20 2003-12-25 Koninklijke Philips Electronics N.V. Method and apparatus for generating a random number using the meta-stable behavior of latches
JP4195007B2 (ja) * 2002-08-14 2008-12-10 株式会社アイ・エイ・エス総合研究所 乱数生成装置及び乱数生成方法
US7302458B2 (en) * 2003-03-14 2007-11-27 Nxp B.V. Method and apparatus for choosing a combination of logic for generating random numbers using a difference signal
JP3732188B2 (ja) * 2003-03-31 2006-01-05 Necマイクロシステム株式会社 擬似乱数発生回路
WO2005114386A1 (ja) * 2004-05-24 2005-12-01 Leisure Electronics Technology Co., Ltd. 乱数取出し方法及びこれを用いた乱数生成装置
US20070188504A1 (en) * 2006-02-16 2007-08-16 Lewis Daniel L Random-text display lighter
US8346832B2 (en) * 2006-10-12 2013-01-01 The Regents Of The University Of Michigan Random number generator
CN102662625A (zh) * 2012-04-06 2012-09-12 国网电力科学研究院 一种真随机数发生器及其实现方法
KR102083271B1 (ko) * 2012-07-31 2020-03-02 삼성전자주식회사 플래시 메모리의 물리적 특성을 이용하여 난수를 생성하는 플래시 메모리 시스템 및 그것의 난수 생성 방법
US9047152B2 (en) * 2013-01-16 2015-06-02 Skymedi Corporation Delay device, method, and random number generator using the same
US9335972B2 (en) * 2013-11-29 2016-05-10 The Regents Of The University Of Michigan True random number generator
TWI497409B (zh) * 2014-07-18 2015-08-21 Winbond Electronics Corp 亂數產生器及其亂數產生方法
US10331410B2 (en) * 2016-11-09 2019-06-25 Google Llc Hardened random number generator with ring oscillator collapse time random truncation
KR102652735B1 (ko) 2016-11-24 2024-04-02 삼성전자주식회사 조절 가능한 메타-스테이블 전압을 이용하는 난수 생성기 및 난수 생성 방법
CN111555753B (zh) * 2020-06-08 2020-12-18 上海奥令科电子科技有限公司 信号处理方法和装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5228054A (en) * 1992-04-03 1993-07-13 Qualcomm Incorporated Power-of-two length pseudo-noise sequence generator with fast offset adjustment
US5963104A (en) 1996-04-15 1999-10-05 Vlsi Technology, Inc. Standard cell ring oscillator of a non-deterministic randomizer circuit
US5706218A (en) * 1996-05-15 1998-01-06 Intel Corporation Random number generator
JP2937919B2 (ja) * 1997-01-16 1999-08-23 日本電気アイシーマイコンシステム株式会社 疑似乱数発生回路
US6631390B1 (en) 2000-03-06 2003-10-07 Koninklijke Philips Electronics N.V. Method and apparatus for generating random numbers using flip-flop meta-stability
US6480072B1 (en) * 2000-04-18 2002-11-12 Advanced Micro Devices, Inc. Method and apparatus for generating random numbers
US7113966B2 (en) * 2001-07-25 2006-09-26 Koninklijke Philips Electronics N.V. Method and apparatus for decorrelating a random number generator using a pseudo-random sequence
US20030236802A1 (en) * 2002-06-20 2003-12-25 Koninklijke Philips Electronics N.V. Method and apparatus for generating a random number using the meta-stable behavior of latches

Also Published As

Publication number Publication date
CN1596395A (zh) 2005-03-16
US6963888B2 (en) 2005-11-08
AU2002365491A1 (en) 2003-06-10
EP1451676B1 (en) 2008-12-03
ATE416417T1 (de) 2008-12-15
WO2003046840A2 (en) 2003-06-05
WO2003046840A3 (en) 2004-03-18
JP4234011B2 (ja) 2009-03-04
TW200408922A (en) 2004-06-01
US20030101205A1 (en) 2003-05-29
CN100414491C (zh) 2008-08-27
AU2002365491A8 (en) 2003-06-10
JP2005510923A (ja) 2005-04-21
TWI289247B (en) 2007-11-01
EP1451676A2 (en) 2004-09-01
DE60230179D1 (de) 2009-01-15

Similar Documents

Publication Publication Date Title
KR100847213B1 (ko) 난수 생성 방법 및 난수 생성기
Fischer et al. True random number generator embedded in reconfigurable hardware
US6963888B2 (en) Method and apparatus for preventing noise from influencing a random number generator based on flip-flop meta-stability
US8150900B2 (en) Random number generation based on logic circuits with feedback
US8219602B2 (en) Method and apparatus for generating random data
US7113966B2 (en) Method and apparatus for decorrelating a random number generator using a pseudo-random sequence
US20130346459A1 (en) Method for generating random numbers
EP1518164B1 (en) Method and apparatus for generating a random number using meta-stable latches
Liberty et al. True hardware random number generation implemented in the 32-nm SOI POWER7+ processor
US20090327381A1 (en) True random number generator
US9582249B2 (en) Method for monitoring the output of a random generator
Simka et al. Model of a true random number generator aimed at cryptographic applications
Fischer et al. Random number generators for cryptography
CN214175074U (zh) 一种并行真随机数发生器及其载体
ÇİÇEK RANDOM NUMBER GENERATORS
Hardware et al. True Random Number Generator Embedded in

Legal Events

Date Code Title Description
N231 Notification of change of applicant
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application