KR20120101836A - 난수 발생 장치 - Google Patents

난수 발생 장치 Download PDF

Info

Publication number
KR20120101836A
KR20120101836A KR1020110019888A KR20110019888A KR20120101836A KR 20120101836 A KR20120101836 A KR 20120101836A KR 1020110019888 A KR1020110019888 A KR 1020110019888A KR 20110019888 A KR20110019888 A KR 20110019888A KR 20120101836 A KR20120101836 A KR 20120101836A
Authority
KR
South Korea
Prior art keywords
random number
metastable state
signal
number generator
output
Prior art date
Application number
KR1020110019888A
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 삼성전자주식회사
Priority to KR1020110019888A priority Critical patent/KR20120101836A/ko
Priority to US13/211,648 priority patent/US8886692B2/en
Publication of KR20120101836A publication Critical patent/KR20120101836A/ko

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

Abstract

높은 엔트로피를 가지는 난수 발생 장치를 개시한다. 이를 위해 본 발명은, 복수개의 난수 발생기를 포함하고, 제 1 모드에서, 상기 복수개의 난수 발생기 각각은, 준안정상태 신호를 생성하고 상기 준안정상태 신호를 이용하여 난수를 생성하며, 제 2 모드에서, 상기 복수개의 난수 발생기는 서로 연결되어 링 오실레이터(ring oscillator)로서 동작하는 것을 특징으로 하는 난수 발생 장치를 제공한다.

Description

난수 발생 장치{Apparatus for generating random number}
본 발명은 난수 발생 장치에 관한 것으로, 더욱 구체적으로, 논리 게이트(Logic gates)를 이용하여 준안정상태(Metastable state) 신호를 발생하는 난수 발생 장치에 관한 것이다.
준안정성(Metastability)은 좋은 확률적인 특성(stochastic properties)을 보이는 것으로 알려져 있기 때문에, 진성난수 발생기(TRNG; True Random Number Generator)에 널리 사용되고 있다. 종래에는 이러한 준안정 상태(Metastable state)를 이용하기 위하여, 래치 또는 플립 플롭을 주로 사용하였다. 그러나, 트랜지스터의 미스매치(mismatch), 칩 내의 온도 불균형, 전리 방사선(ionizing radiation), 또는 출력 전압의 기생 변동(parasitic fluctuation) 등 다양한 요인 때문에 물리적인 플립 플롭 회로가 준안정 영역에 머무를 확률은 매우 낮다. 따라서, 자연적인 준안정 상태가 드물게 발생하기 때문에 플립 플롭 회로의 준안정 현상을 곧바로 이용하는 것은 비효율적이다. 즉, 종래의 방법은, 자연히 일어나는 준안정 상태가 매우 드물었고, 이에 따라 축적된 엔트로피(accumulated entropy) 또는 진성난수 발생기(TRNG)의 작업처리량(Throughput)이 감소되는 단점이 있었다.
본 발명이 해결하고자 하는 과제는, 높은 엔트로피를 가지는 난수 발생 장치를 제공하는 것이다.
본 발명의 일 태양에 의한 난수 발생 장치가 제공된다. 상기 난수 발생 장치는, 복수개의 난수 발생기를 포함하며, 제 1 모드에서, 상기 복수개의 난수 발생기 각각은, 준안정상태 신호를 생성하고 상기 준안정상태 신호를 이용하여 난수를 생성하고, 제 2 모드에서, 상기 복수개의 난수 발생기는 서로 연결되어 링 오실레이터(ring oscillator)로서 동작할 수 있다.
상기 난수 발생 장치의 일 예에 의하면, 상기 난수 발생기 각각은, 준안정상태 신호를 생성하여 출력하는 준안정상태 생성부, 및 상기 준안정상태 생성부의 출력 신호를 증폭하는 증폭부를 포함할 수 있다.
상기 난수 발생 장치의 다른 예에 의하면, 상기 준안정상태 생성부는, 제 1 모드에서 상기 준안정상태 신호를 생성하여 출력하고, 제 2 모드에서 다른 난수 발생기의 출력 신호를 입력 받아 증폭할 수 있다.
상기 난수 발생 장치의 다른 예에 의하면, 상기 준안정상태 생성부는 입력받은 신호를 반전하여 출력하는 반전부를 포함하고, 제 1 모드에서, 상기 반전부의 입력 단자는 상기 반전부의 출력 단자와 연결되고, 제 2 모드에서, 상기 반전부의 상기 입력 단자는 다른 난수 발생기와 연결될 수 있다.
상기 난수 발생 장치의 다른 예에 의하면, 상기 준안정상태 생성부는, 모드 신호에 응답하여 입력 받은 신호를 선택적으로 출력하는 멀티플렉서를 더 포함하고, 상기 멀티플렉서의 제 1 입력 단자는 상기 준안정상태 생성부의 출력 단자와 연결되고, 상기 멀티플렉서의 제 2 입력 단자는 다른 난수 발생기와 연결될 수 있다.
상기 난수 발생 장치의 다른 예에 의하면, 상기 멀티플렉서의 제 2 입력 단자는 다른 난수 발생기의 준안정상태 생성부의 출력 단자와 연결될 수 있다. 또한, 상기 멀티플렉서의 제 2 입력 단자는 다른 난수 발생기의 증폭부의 출력 단자와 연결될 수 있다.
상기 난수 발생 장치의 다른 예에 의하면, 상기 증폭부는, 입력받은 신호를 증폭하여 출력하는 복수개의 증폭 스테이지를 포함하고, 상기 복수개의 증폭 스테이지는 서로 직렬로 연결될 수 있다.
상기 난수 발생 장치의 다른 예에 의하면, 상기 멀티플렉서의 제 2 입력 단자는 상기 복수개의 증폭 스테이지 중 일 증폭 스테이지의 출력 단자와 연결될 수 있다.
상기 난수 발생 장치의 다른 예에 의하면, 상기 난수 발생 장치는 상기 복수개의 난수 발생 장치의 증폭부로부터 증폭 신호를 입력받고, 샘플링 클록에 따라 상기 증폭 신호를 샘플링하여 출력하는 샘플링부를 더 포함할 수 있다.
상기 난수 발생 장치의 다른 예에 의하면, 상기 샘플링부는, 상기 증폭 신호를 서로 XOR 연산하여 출력하는 XOR 게이트, 및 상기 XOR 게이트의 출력 신호를 샘플링하여 출력하는 플립 플롭을 포함할 수 있다.
상기 난수 발생 장치의 다른 예에 의하면, 상기 샘플링부는, 상기 복수개의 난수 발생 장치 각각의 상기 증폭 신호의 라이징 에지의 개수, 폴링 에지의 개수, 또는 라이징 에지 및 폴링 에지의 개수를 카운트하는 복수개의 카운터를 포함할 수 있다.
상기 난수 발생 장치의 다른 예에 의하면, 상기 샘플링부는, 상기 복수개의 카운터의 출력 신호를 XOR 연산하여 출력하는 XOR 게이트, 및 상기 XOR 게이트의 출력 신호를 샘플링하여 출력하는 플립 플롭을 포함할 수 있다.
본 발명의 다른 태양에 의한 난수 발생 장치가 제공된다. 상기 난수 발생 장치는, 제 1 준안정상태 신호를 생성하여 출력하는 제 1 준안정상태 생성부 및 상기 제 1 준안정상태 생성부의 출력 신호를 증폭하는 제 1 증폭부를 포함하는 제 1 난수 발생기, 및 제 1 모드에서 제 2 준안정상태 신호를 생성하여 출력하는 제 2 준안정상태 생성부 및 상기 제 2 준안정상태 생성부의 출력 신호를 증폭하는 제 2 증폭부를 포함하는 제 2 난수 발생기를 포함하고, 상기 제 2 준안정상태 생성부는, 제 2 모드에서 상기 제 1 준안정상태 생성부의 상기 출력 신호 또는 상기 제 1 증폭부의 출력 신호를 증폭할 수 있다.
상기 난수 발생 장치의 일 예에 의하면, 상기 제 2 준안정상태 생성부는, 모드 신호를 입력받고, 상기 모드 신호에 응답하여 입력받은 신호를 선택적으로 출력하는 멀티플렉서를 더 포함하고, 상기 멀티플렉서의 제 1 입력 단자는 상기 제 2 준안정상태 생성부의 출력 단자와 연결되고, 상기 멀티플렉서의 제 2 입력 단자는 상기 제 1 준안정상태 생성부의 출력 단자 또는 상기 제 1 증폭부의 출력 단자와 연결될 수 있다.
본 발명의 기술적 사상에 따른 난수 발생 장치는, 제 1 모드에서 복수개의 난수 발생기가 생성하는 준안정상태 신호에 기초한 엔트로피뿐만 아니라, 제 2 모드에서 복수개의 난수 발생기가 서로 연결되어 생성된 발진 신호에 기초한 엔트로피를 모두 더한 높은-엔트로피(high-entropy)를 가지므로, 고품질의 진성 난수가 생성될 수 있다.
도 1은 본 발명의 일실시예에 따른 난수 발생 장치를 나타내는 도면이다.
도 2a는 본 발명의 일실시예에 따른 준안정상태 생성부를 나타내는 도면이다.
도 2b는 본 발명의 다른 실시예에 따른 준안정상태 생성부를 나타내는 도면이다.
도 2c는 본 발명의 일실시예에 따른 준안정상태 생성부의 출력 파형을 나타내는 도면이다.
도 3은 본 발명의 다른 실시예에 따른 난수 발생 장치를 나타내는 도면이다.
도 4는 본 발명의 또 다른 실시예에 따른 난수 발생 장치를 나타내는 도면이다.
도 5는 본 발명의 또 다른 실시예에 따른 난수 발생 장치를 나타내는 도면이다.
도 6은 본 발명의 또 다른 실시예에 따른 난수 발생 장치를 나타내는 도면이다.
도 7은 본 발명의 또 다른 실시예에 따른 난수 발생 장치를 나타내는 도면이다.
도 8은 본 발명의 또 다른 실시예에 따른 난수 발생 장치를 나타내는 도면이다.
도 9는 본 발명의 일실시예에 따른 복수 개의 난수 발생기에 입력되는 샘플링 클록을 나타내는 타이밍도(timing diagram)이다.
도 10은 본 발명의 또 다른 실시예에 따른 난수 발생 장치를 나타내는 도면이다.
도 11은 본 발명의 일실시예에 따른 난수 발생 방법을 나타내는 순서도(flowchart)이다.
도 12는 본 발명의 기술적 사상에 의한 다른 실시예에 따른 난수 발생 장치를 나타내는 도면이다.
도 13은 도 12의 난수 발생 장치를 더욱 자세히 나타낸 블록도이다.
도 14는 본 발명의 기술적 사상에 의한 일부 실시예에 따른 난수 발생 장치를 나타낸 블록도이다.
도 15는 본 발명의 기술적 사상에 의한 또 다른 실시예에 따른 난수 발생 장치를 나타내는 블록도이다.
도 16은 본 발명의 기술적 사상에 의한 실시예에 따른 난수 발생 장치를 나타내는 블록도이다.
도 17은 본 발명의 기술적 사상에 의한 실시예에 따른 난수 발생 장치를 나타내는 블록도이다.
도 18은 본 발명의 기술적 사상에 의한 실시예에 따른 난수 발생 장치를 나타내는 블록도이다.
도 19 및 도 20은 도 18의 난수 발생 장치에 의해 생성되는 출력 파형을 나타낸 그래프이다.
도 21 및 도 22는 본 발명의 기술적 사상에 의한 다른 실시예들에 따른 난수 발생 장치를 나타내는 블록도들이다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명하기로 한다.
본 발명의 실시예들은 당해 기술 분야에서 통상의 지식을 가진 자에게 본 발명을 더욱 완전하게 설명하기 위하여 제공되는 것이며, 아래의 실시예들은 여러 가지 다른 형태로 변형될 수 있으며, 본 발명의 범위가 아래의 실시예들로 한정되는 것은 아니다. 오히려, 이들 실시예는 본 개시를 더욱 충실하고 완전하게 하며 당업자에게 본 발명의 사상을 완전하게 전달하기 위하여 제공되는 것이다.
본 명세서에서 사용된 용어는 특정 실시예를 설명하기 위하여 사용되며, 본 발명을 제한하기 위한 것이 아니다. 본 명세서에서 사용된 바와 같이 단수 형태는 문맥상 다른 경우를 분명히 지적하는 것이 아니라면, 복수의 형태를 포함할 수 있다. 또한, 본 명세서에서 사용되는 경우 “포함한다(comprise)” 및/또는 “포함하는(comprising)”은 언급한 형상들, 숫자, 단계, 동작, 부재, 요소 및/또는 이들 그룹의 존재를 특정하는 것이며, 하나 이상의 다른 형상, 숫자, 동작, 부재, 요소 및/또는 그룹들의 존재 또는 부가를 배제하는 것이 아니다. 본 명세서에서 사용된 바와 같이, 용어 “및/또는”은 해당 열거된 항목 중 어느 하나 및 하나 이상의 모든 조합을 포함한다.
본 명세서에서 제1, 제2 등의 용어가 다양한 부재, 영역 및/또는 부위들을 설명하기 위하여 사용되지만, 이들 부재, 부품, 영역, 층들 및/또는 부위들은 이들 용어에 의해 한정되어서는 안됨은 자명하다. 이들 용어는 특정 순서나 상하, 또는 우열의 의미하지 않으며, 하나의 부재, 영역 또는 부위를 다른 부재, 영역 또는 부위와 구별하기 위하여만 사용된다. 따라서, 이하 상술할 제1 부재, 영역 또는 부위는 본 발명의 가르침으로부터 벗어나지 않고서도 제2 부재, 영역 또는 부위를 지칭할 수 있다.
이하, 본 발명의 실시예들은 본 발명의 이상적인 실시예들을 개략적으로 도시하는 도면들을 참조하여 설명한다. 도면들에 있어서, 예를 들면, 제조 기술 및/또는 공차에 따라, 도시된 형상의 변형들이 예상될 수 있다. 따라서, 본 발명의 실시예는 본 명세서에 도시된 영역의 특정 형상에 제한된 것으로 해석되어서는 아니 되며, 예를 들면 제조상 초래되는 형상의 변화를 포함하여야 한다.
도 1은 본 발명의 일실시예에 따른 난수 발생 장치를 나타내는 도면이다. 도 1을 참조하면, 상기 난수 발생 장치(100)는 준안정상태 생성부(110), 증폭부(130) 및 샘플링부(150)를 구비할 수 있다. 준안정상태 생성부(110)는 준안정상태 신호(MS)를 생성하여 출력한다. 준안정상태 신호(MS) 및 준안정상태 생성부(110)에 관한 상세한 설명은 도 2a, 도 2b 및 도 2c를 참조하여 설명하기로 한다.
증폭부(130)는 상기 준안정상태 생성부(110)로부터 출력된 준안정상태 신호(MS)를 입력받고, 상기 입력받은 준안정상태 신호(MS)를 증폭하여, 이를 증폭된 준안정상태 신호(Amp_MS)로서 출력한다. 샘플링부(150)는 상기 증폭된 준안정상태 신호(Amp_MS) 및 샘플링 클록(SP_CLK)을 입력받고, 상기 샘플링 클록(SP_CLK)에 따라 상기 증폭된 준안정상태 신호(Amp_MS)를 샘플링하여 출력한다. 상기 샘플링부(150)의 출력(OUT)은 증폭된 준안정상태 신호(Amp_MS)를 샘플링 클록(SP_CLK)에 따라 샘플링한 값으로서, 진성 난수(True random number)의 특성을 가지게 된다.
도 2a는 본 발명의 일실시예에 따른 준안정상태 생성부를 나타내는 도면이다. 도 2a를 참조하면, 상기 준안정상태 생성부(210)는 입력받은 신호를 반전하여 출력하는 인버터(INV)를 구비할 수 있다. 상기 인버터(INV)는 입력 단자와 출력 단자가 서로 연결될 수 있고, 상기 인버터(INV)의 입력 단자와 출력 단자 사이에는 스위치(SW)가 연결될 수도 있다. 스위치(SW)는 외부로부터 입력받은 제어신호(미도시)에 응답하여 온/오프 여부가 결정되고, 스위치(SW)가 온(on)되면 상기 인버터(INV)의 입력 단자와 출력 단자가 서로 연결되게 되고, 준안정상태 신호(MS)를 출력하게 된다. 즉, 인버터의 입력 단자와 출력 단자가 스위치(SW)에 의해 루프 형태로 연결되면, 인버터의 출력 전압은 준안정 레벨(metastable level)로 수렴하게 되고, 계속해서 그 상태로 머무르게 된다. 열잡음(thermal noise)으로 인해, 인버터(INV)의 출력 전압은 준안정 레벨(metastable level)에서 확률적으로 변동하게 된다.
도 2b는 본 발명의 다른 실시예에 따른 준안정상태 생성부를 나타내는 도면이다. 도 2b를 참조하면, 상기 준안정상태 생성부(220)는 낸드 게이트(NAND)를 구비할 수 있다. 상기 낸드 게이트(NAND)의 제1 입력 단자는 낸드 게이트(NAND)의 출력 단자와 연결될 수 있고, 상기 낸드 게이트(NAND)의 제2 입력 단자에는 인에이블 신호(EN)가 입력될 수 있다.
상기 인에이블 신호(EN)가 논리 로우 상태인 경우, 낸드 게이트(NAND)의 출력은 논리 하이 상태가 되고, 상기 낸드 게이트(NAND)의 출력이 낸드 게이트(NAND)의 제1 입력 단자로 피드백되어 입력된다. 이 때, 상기 인에이블 신호(EN)가 논리 로우 상태이므로, 낸드 게이트(NAND)의 제1 입력 단자로 논리 하이 상태가 피드백되어 입력되면, 낸드 게이트(NAND)의 출력은 논리 하이 상태가 되어 안정되게 된다.
반면에, 상기 인에이블 신호(EN)가 논리 하이 상태라면, 낸드 게이트(NAND)의 출력 단자의 논리 상태는 낸드 게이트(NAND)의 제1 입력 단자의 논리 상태를 반전시킨 것이 된다. 즉, 인에이블 신호(EN)가 논리 하이 상태인 경우에는, 상기 낸드 게이트(NAND)는 도 2a의 인버터(INV)와 유사하게 동작한다. 따라서, 인에이블 신호(EN)가 논리 하이 상태인 경우에는, 상기 낸드 게이트(NAND)는 준안정상태 신호(MS)를 출력하게 된다.
한편, 도 2a 및 도 2b에 도시된 본발명의 일실시예에 따른 준안정상태 생성부는 하나의 예시로서, 이로부터 다양한 변형이나 응용이 가능함이 당업자에게 자명하다. 일예로서, 도 2a의 인버터(INV), 도 2b의 낸드 게이트(NAND) 대신에 NOR 게이트 또는 XOR 게이트 등의 다른 논리 소자를 사용하여, 도 1에 도시된 본발명의 일실시예에 따른 준안정상태 생성부를 구현할 수 있음이 당업자에게 자명하다.
도 2c는 본 발명의 일실시예에 따른 준안정상태 생성부의 출력 파형을 나타내는 도면이다. 도 2a에서 스위치(SW)가 온된 경우의 인버터(INV)의 출력과, 도 2b에서 인에이블 신호가 논리 하이 상태인 경우의 낸드 게이트(NAND)의 출력은 도 2c와 같은 파형을 나타내게 된다. 도 2c에 도시된 바와 같이, 상기 준안정상태 생성부(110, 210, 220)의 출력 신호(MS)의 파형은, 초기에는 수렴 시간(convergence time) 동안 일정한 값으로 수렴하다가, 일정한 시간이 지나서 출력 신호가 준안정 레벨(MS Level)에 도달하면, 준안정상태 신호를 출력하게 된다. 준안정상태 신호가 출력되는 준안정 시간(metastable time) 동안, 준안정상태 생성부의 출력 신호(MS)는 준안정 레벨(MS Level) 근처에서 미세하게 변동하게 된다.
도 3은 본 발명의 다른 실시예에 따른 난수 발생 장치를 나타내는 도면이다. 도 3은 도 1에 도시된 난수 발생 장치(100)의 준안정상태 생성부(110), 증폭부(130) 및 샘플링부(150)의 구체적인 일실시예를 도시한 것이다.
도 3을 참조하면, 상기 준안정상태 생성부(310)는 인버터(INV1)를 구비할 수 있고, 상기 인버터(INV1)의 출력 단자는 피드백되어 입력 단자에 연결될 수 있다. 또한, 도 2a의 준안정상태 생성부(210)처럼, 도 3의 준안정상태 생성부(310)는 상기 인버터(INV1)의 출력 단자와 입력 단자 사이에 스위치가 연결될 수도 있다. 준안정상태 생성부(310)의 동작은 도 2a 및 도 2c를 참조하여 상술하였으므로 여기에서는 설명을 생략한다.
증폭부(330)는 상기 준안정상태 생성부(310)로부터 출력된 준안정상태 신호(MS)를 입력받고, 상기 입력받은 준안정상태 신호(MS)를 증폭하여, 이를 증폭된 준안정상태 신호(Amp_MS)로서 출력한다. 도 3에 도시된 바와 같이, 증폭부(330)는 적어도 하나의 인버터(INV2, INVn)를 구비할 수 있고, 상기 적어도 하나의 인버터(INV2, INVn)는 직렬로 연결될 수 있다. 상기 증폭부(330)로 입력된 준안정상태 신호(MS)는 하나의 인버터를 통과할 때마다 신호가 증폭되고 반전되어 출력되게 된다. 상기 증폭부(330)로 입력된 준안정상태 신호(MS)는 적어도 하나의 인버터(INV2, INVn)를 통과하면서 샘플링부(350)에서 샘플링이 가능한 레벨까지 증폭될 수 있다. 즉, 도 2c에 도시된 바와 같이, 준안정상태 생성부(310)로부터 출력된 준안정상태 신호(MS)는 준안정 레벨(MS Level) 근처에서 미세하게 변동하므로, 상기 준안정상태 신호(MS)를 직접 샘플링하는 것보다는, 상기 준안정상태 신호(MS)를 샘플링이 가능한 레벨까지 증폭시킨 후 샘플링부(350)에서 샘플링하는 것이 바람직하다. 일예로서, 인버터들(INV1, INV2, INVn)은 모두 동일한 공정에서 생산된 소자일 수 있다.
상기 증폭부(330)는 상술한 바와 같이 상기 준안정상태 신호(MS)를 증폭시킨 후, 증폭된 준안정상태 신호(Amp_MS)를 출력한다. 도 3에 도시된 본 발명의 일실시예에 따른 증폭부(330)는 하나의 예시로서, 이로부터 다양한 변형이나 응용이 가능함이 당업자에게 자명하다.
샘플링부(350)는 상기 증폭된 준안정상태 신호(Amp_MS) 및 샘플링 클록(SP_CLK)을 입력받고, 상기 샘플링 클록(SP_CLK)에 따라 상기 증폭된 준안정상태 신호(Amp_MS)를 샘플링하여 출력한다. 상기 샘플링부(150)의 출력(OUT)은 증폭된 준안정상태 신호(Amp_MS)를 샘플링 클록(SP_CLK)에 따라 샘플링한 값으로서, 진성 난수(True random number)의 특성을 가지게 된다. 일예로서, 샘플링부(350)는 D 플립 플롭(351)을 구비할 수 있다. D 플립 플롭(351)의 구성 및 동작은 일반적으로 알려진 사실이므로 여기에서는 설명을 생략한다. 도 3에 도시된 본 발명의 일실시예에 따른 샘플링부(350)는 하나의 예시로서, 이로부터 다양한 변형이나 응용이 가능함이 당업자에게 자명하다.
도 4는 본 발명의 또 다른 실시예에 따른 난수 발생 장치를 나타내는 도면이다. 도 4는 도 1에 도시된 난수 발생 장치(100)의 준안정상태 생성부(110), 증폭부(130) 및 샘플링부(150)의 구체적인 일실시예를 도시한 것이다.
도 4를 참조하면, 도 4에 도시된 난수 발생 장치(400)는 준안정상태 생성부(410), 증폭부(430) 및 샘플링부(450)를 구비한다. 상기 준안정상태 생성부(410)는 낸드 게이트(NAND1)를 구비하고, 상기 낸드 게이트(NAND1)의 제1 입력 단자는 낸드 게이트(NAND1)의 출력 단자와 연결될 수 있고, 상기 낸드 게이트(NAND1)의 제2 입력 단자에는 인에이블 신호(EN)가 입력될 수 있다. 인에이블 신호(EN)가 논리 로우 상태일 때는 상기 낸드 게이트(NAND1)가 안정적인 신호를 출력하는 반면에, 인에이블 신호(EN)가 논리 하이 상태일 때 상기 낸드 게이트(NAND1)가 준안정상태 신호(MS)를 출력하는 것은, 도 2b를 참조하여 상술한 바와 같다.
증폭부(430)는 상기 준안정상태 생성부(410)로부터 출력된 준안정상태 신호(MS)를 입력받고, 상기 입력받은 준안정상태 신호(MS)를 증폭하여, 이를 증폭된 준안정상태 신호(Amp_MS)로서 출력한다. 도 4에 도시된 바와 같이, 상기 증폭부(430)는 적어도 하나의 낸드 게이트(NAND2, NANDn)를 구비할 수 있고, 상기 적어도 하나의 낸드 게이트(NAND2, NANDn)는 직렬로 연결될 수 있다. 즉, 낸드 게이트(NAND2)의 제1 입력 단자는 낸드 게이트(NAND1)의 출력 단자에 연결되고, 낸드 게이트(NAND2)의 제2 입력 단자에는 인에이블 신호(EN)가 입력되며, 낸드 게이트(NAND2)의 출력 단자는 다음 낸드 게이트(미도시)의 제1 입력 단자에 연결될 수 있다.
상기 적어도 하나의 낸드 게이트(NAND2, NANDn)는 인에이블 신호(EN)가 논리 하이 상태일 때, 인버터와 유사하게 동작한다. 따라서, 도 3을 참조하여 상술한 바와 같이, 인에이블 신호(EN)가 논리 하이 상태일 때, 상기 증폭부(430)로 입력된 준안정상태 신호(MS)는 하나의 낸드 게이트를 통과할 때마다 신호가 증폭되고 반전되어 출력되게 된다. 상기 증폭부(430)로 입력된 준안정상태 신호(MS)는 적어도 하나의 낸드 게이트(NAND2, NANDn)를 통과하면서 샘플링부(450)에서 샘플링이 가능한 레벨까지 증폭될 수 있다.
샘플링부(450)는, 도 4에 도시된 바와 같이, D 플립 플롭(451)을 구비할 수 있다. 샘플링부(450)는 도 3을 참조하여 상술하였으므로, 여기에서는 설명을 생략한다. 도 4에 도시된 본 발명의 일실시예에 따른 샘플링부(450)는 하나의 예시로서, 이로부터 다양한 변형이나 응용이 가능함이 당업자에게 자명하다.
한편, 도 3에 도시된 본 발명의 일실시예에 따른 난수 발생 장치(300)의 준안정상태 생성부(310) 및 증폭부(330)는 모두 인버터를 이용하여 구현되었고, 도 4에 도시된 본 발명의 일실시예에 따른 난수 발생 장치(400)의 준안정상태 생성부(410) 및 증폭부(430)는 모두 낸드 게이트를 이용하여 구현되었지만, 본 발명의 권리 범위는 이에 한정되는 것은 아니다. 즉, 도 3에 도시된 준안정상태 생성부(310)와 도 4에 도시된 증폭부(430)를 이용하여 본 발명의 다른 실시예에 따른 난수 발생 장치를 구현할 수도 있으며, 이로부터 다양한 변형이나 응용이 가능함이 당업자에게 자명하다고 할 것이다.
도 5는 본 발명의 또 다른 실시예에 따른 난수 발생 장치를 나타내는 도면이다. 상기 난수 발생 장치(500)는 전력 절약을 위한 모바일/포터블 장치에 사용될 수 있는 난수 발생 장치로서, 선택 신호(SEL)에 따라 준안정상태 생성부(510)의 인에이블 여부가 결정될 수 있다.
상기 난수 발생 장치(500)는 준안정상태 생성부(510), 증폭부(530) 및 샘플링부(550)를 구비할 수 있다. 상기 증폭부(530) 및 샘플링부(550)의 구성 및 동작은 도 3을 참조하여 상술한 내용과 유사하므로 여기에서는 설명을 생략한다.
도 5를 참조하면, 상기 준안정상태 생성부(510)는 멀티플렉서(511) 및 인버터(INV1)를 구비할 수 있다. 상기 멀티플렉서(511)의 제1 입력 단자는 상기 인버터(INV1)의 출력 단자에 연결되고, 상기 멀티플렉서(511)의 제2 입력 단자에는 접지 전압(Vss)이 연결될 수 있으며, 상기 멀티플렉서의 출력 단자는 상기 인버터(INV1)의 입력 단자에 연결될 수 있다.
상기 멀티플렉서(511)는 선택 신호(SEL)를 입력받고, 상기 선택 신호(SEL)에 응답하여, 입력받은 신호들을 선택적으로 출력한다. 일예로서, 상기 선택 신호(SEL)가 논리 로우 상태인 경우에는 상기 멀티플렉서(511)는 제1 입력 단자로 입력받은 신호를 출력하고, 상기 선택 신호(SEL)가 논리 하이 상태인 경우에는 상기 멀티플렉서(511)는 제2 입력 단자로 입력받은 신호를 출력할 수 있다.
선택 신호(SEL)가 논리 로우 상태인 경우에는, 상기 멀티플렉서(511)의 제1 입력 단자로 입력된 신호가 상기 멀티플렉서(511)의 출력 단자로 출력되므로, 결과적으로 인버터(INV1)의 출력 단자와 입력 단자가 루프 형태로 연결되게 된다. 따라서, 도 2a를 참조하여 상술한 바와 같이, 선택 신호(SEL)가 논리 로우 상태인 경우에는, 인버터(INV1)는 준안정상태 신호(MS)를 출력하게 된다.
선택 신호(SEL)가 논리 하이 상태인 경우에는, 상기 멀티플렉서(511)의 제2 입력 단자로 입력된 신호가 상기 멀티플렉서(511)의 출력 단자로 출력되므로, 인버터(INV1)의 입력 단자에는 논리 로우 상태인 접지 전압(Vss)이 입력된다. 이 경우, 인버터(INV1)는 논리 하이 상태인 신호가 출력되는데, 선택 신호(SEL)가 논리 하이 상태라면 인버터(INV1)의 출력 신호가 인버터(INV1) 입력 단자로 피드백되지 않는다. 따라서, 상기 준안정상태 생성부(510)는 선택 신호(SEL)가 논리 하이 상태인 경우에는, 준안정상태가 아닌 논리 하이 상태로 일정한 레벨의 신호를 출력하게 된다.
한편, 상기 멀티플렉서(511)의 제2 입력 단자에는 접지 전압(Vss) 대신 전원 전압(Vdd)이 연결될 수도 있다. 또한, 상기 선택 신호(SEL)가 논리 로우 상태인 경우에는 상기 멀티플렉서(511)는 제2 입력 단자로 입력받은 신호를 출력하고, 상기 선택 신호(SEL)가 논리 하이 상태인 경우에는 상기 멀티플렉서(511)는 제1 입력 단자로 입력받은 신호를 출력할 수도 있다. 도 5에 도시된 멀티플렉서(511)는 선택 수단의 일예로서, 이로부터 다양한 변형이나 응용이 가능함이 당업자에게 자명하다.
도 6은 본 발명의 또 다른 실시예에 따른 난수 발생 장치를 나타내는 도면이다. 상기 난수 발생 장치(600)는 준안정상태 생성부(610), 증폭부(630) 및 샘플링부(650)를 구비할 수 있다. 상기 샘플링부(650)의 구성 및 동작은 도 3을 참조하여 상술한 내용과 유사하므로 여기에서는 설명을 생략한다.
도 6을 참조하면, 상기 준안정상태 생성부(610)는 입력받은 신호를 반전하여 출력하는 복수 개의 반전부를 구비하고, 상기 복수 개의 반전부는 병렬로 연결되며, 상기 복수 개의 반전부 각각의 출력 단자와 상기 복수 개의 반전부 각각의 입력 단자가 서로 연결될 수 있다. 일예로서, 도 6에 도시된 바와 같이, 상기 복수 개의 반전부는 복수 개의 인버터(INV1_1, INV1_2, INV1_3)로 구현될 수 있다. 또한, 도 2b 및 도 4를 참조하여 상술한 바와 같이, 상기 복수 개의 반전부는 NAND 게이트, NOR 게이트 또는 XOR 게이트 등의 다른 논리 소자를 사용하여 구현될 수도 있다. 도 6에는 본 발명의 일실시예에 따른 준안정상태 생성부(610)가 3개의 인버터를 포함하고 있는 경우가 도시되어 있으나, 본 발명의 권리범위는 이에 한정되는 것은 아니다.
준안정상태 생성부(610)는 복수 개의 인버터(INV1_1, INV1_2, INV1_3)를 구비할 수 있다. 또한 상기 준안정상태 생성부(610)는 멀티플렉서(611)를 더 구비할 수도 있다. 상기 복수 개의 인버터(INV1_1, INV1_2, INV1_3)의 입력 단자는 멀티플렉서(611)의 출력 단자에 연결되고, 상기 복수 개의 인버터(INV1_1, INV1_2, INV1_3)의 출력 단자는 멀티플렉서(611)의 제1 입력 단자에 연결될 수 있다. 즉, 상기 복수 개의 인버터(INV1_1, INV1_2, INV1_3)는 서로 병렬로 연결될 수 있다. 멀티플렉서(611)의 제2 입력 단자에는 접지 전압(Vss)이 연결될 수 있고, 멀티플렉서(611)는 선택 신호(SEL)에 응답하여, 입력받은 신호를 선택적으로 출력한다.
도 6에 도시된 바와 같이, 준안정상태 생성부(610)가 복수 개의 인버터(INV1_1, INV1_2, INV1_3)를 구비하고, 상기 복수 개의 인버터(INV1_1, INV1_2, INV1_3)가 서로 병렬로 연결된 경우, 복수 개의 인버터(INV1_1, INV1_2, INV1_3) 사이의 미스매치(mismatch) 특성을 감소시킬 수 있다. 즉, 생산 공정 상의 변화(process variation)로 인하여, 동일한 공정에서 생산된 트랜지스터라도 그 특성이 미세하게 다를 수 있는데, 도 6에 도시된 준안정상태 생성부(610)는 복수 개의 인버터(INV1_1, INV1_2, INV1_3)를 병렬로 연결함으로써, 상기 트랜지스터의 미스매치 특성을 감소시킬 수 있다. 즉, 상기 난수 발생 장치(600)는 생산 공정 상의 변화가 커서 난수 발생 장치 생산의 양품율(yield)이 작을 때, 유용하게 사용할 수 있는 난수 발생 장치이다.
한편, 증폭부(630)는 입력받은 신호를 증폭하여 출력하는 복수 개의 증폭 스테이지를 포함하고, 상기 복수 개의 증폭 스테이지는 서로 직렬로 연결될 수 있다. 또한, 상기 복수 개의 증폭 스테이지 각각은, 입력받은 신호를 증폭하여 출력하는 복수 개의 단위 증폭 회로를 포함하고 상기 복수 개의 단위 증폭 회로 각각은 서로 병렬로 연결될 수 있다. 일예로서, 도 6에 도시된 바와 같이, 상기 복수 개의 단위 증폭 회로는 복수 개의 인버터(INV1_1, INV1_2, INV1_3)로 구현될 수 있다. 또한, 도 4를 참조하여 상술한 바와 같이, 상기 복수 개의 단위 증폭 회로는 NAND 게이트, NOR 게이트 또는 XOR 게이트 등의 다른 논리 소자를 사용하여 구현될 수도 있다.
도 6을 참조하면, 병렬로 연결된 복수 개의 인버터(INV2_1, INV2_2, INV2_3) 각각은 단위 증폭 회로에 해당하고, 상기 복수 개의 인버터(INV2_1, INV2_2, INV2_3)들은 증폭 스테이지에 해당한다. 상기 증폭부(630)는 직렬로 연결된 복수 개의 증폭 스테이지를 구비할 수 있다. 앞서 상술한 바와 같이, 상기 복수 개의 인버터(INV2_1, INV2_2, INV2_3)가 서로 병렬로 연결된 경우, 복수 개의 인버터(INV2_1, INV2_2, INV2_3) 사이의 미스매치(mismatch) 특성을 감소시킬 수 있다.
도 7은 본 발명의 또 다른 실시예에 따른 난수 발생 장치를 나타내는 도면이다. 상기 난수 발생 장치(700)는 제어부(710), 복수 개의 난수 발생기(730_1, 730_2, 730_n) 및 선택부(750)를 구비할 수 있다. 상기 복수 개의 난수 발생기(730_1, 730_2, 730_n) 각각은 도 1, 도 3, 도 4, 도 5 및 도 6을 참조하여 상술한 바와 같이, 준안정상태 생성부, 증폭부 및 샘플링부를 구비할 수 있다. 상기 복수 개의 난수 발생기(730_1, 730_2, 730_n)에 관해서는, 도 1, 도 3, 도 4, 도 5, 및 도 6을 참조하여 상술한 바 있으므로, 여기에서는 설명을 생략한다.
도 7을 참조하면, 상기 제어부(710)는, 복수 개의 난수 발생기(730_1, 730_2, 730_3)에 제1 제어 신호(CON1_1, CON1_2, CON1_n)를 제공하고, 제 2 제어 신호(CON2)를 생성하여 선택부(750)로 출력할 수 있다. 제1 제어 신호(CON1_1, CON1_2, CON1_n)는 복수 개의 난수 발생기(730_1, 730_2, 730_3) 각각의 샘플링부에 입력되는 샘플링 클록을 포함할 수 있고, 복수 개의 난수 발생기(730_1, 730_2, 730_3) 각각의 준안정상태 생성부에 입력되는 선택 신호(SEL)을 더 포함할 수도 있다.
선택부(750)는 복수 개의 난수 발생기(730_1, 730_2, 730_3) 각각으로부터 출력된 신호들(OUT_1, OUT_2, OUT_n) 및 상기 제2 제어 신호(CON2)를 입력받고, 상기 제2 제어 신호(CON2)에 응답하여 상기 난수 발생 장치(700)의 출력 신호(OUT)를 선택적으로 출력할 수 있다. 일예로서, 상기 선택부(750)는 상기 제2 제어 신호(CON2)에 응답하여, 상기 복수 개의 난수 발생기(730_1, 730_2, 730_3) 각각으로부터 출력된 신호들(OUT_1, OUT_2, OUT_n)을 선택적으로 출력하는 멀티플렉서를 구비할 수 있다. 상기 제2 제어 신호(CON2)는 멀티플렉서의 출력을 선택하기 위한 선택 신호를 포함할 수 있다.
도 7에 도시된 본 발명의 일실시예에 따른 난수 발생 장치(700)는 복수 개의 난수 발생기(730_1, 730_2, 730_3)를 병렬로 연결하여 난수 발생 장치(700)의 작업 처리량(throughput)을 증가시킬 수 있다.
이상의 도 7의 설명을 기초로 할 경우, 복수 개의 난수 발생기(730_1, 730_2, 730_n)가 각각 샘플링부를 포함하는 구성이 도출될 것이지만, 본 발명은 이에 제한되지 않는다. 예를 들어, 복수개의 난수 발생기 각각은 준안정상태 생성부 및 증폭부를 포함하고, 복수개의 난수 발생기에 대해 하나의 샘플링부가 연결되는 구성이 도출될 수도 있다. 상기 구성에 대해서는 도 12에서 더욱 자세히 살펴보기로 한다.
도 8은 본 발명의 또 다른 실시예에 따른 난수 발생 장치를 나타내는 도면이다. 상기 난수 발생 장치(800)는 제어부(810), 복수 개의 난수 발생기(830_1, 830_2, 830_n) 및 선택부(850)를 구비할 수 있다. 상기 제어부(810) 및 복수 개의 난수 발생기(830_1, 830_2, 830_n)에 관해서는 도 7을 참조하여 상술한 바 있으므로 여기에서는 설명을 생략한다.
도 8을 참조하면, 선택부(850)는 XOR 게이트(XOR) 및 플립 플롭(851)을 구비할 수 있다. 상기 XOR 게이트(XOR)는 상기 복수 개의 난수 발생기(830_1, 830_2, 830_n) 각각으로부터 출력된 신호들(OUT_1, OUT_2, OUT_n)을 서로 XOR 연산하여 출력한다. 상기 플립 플롭(851)은 상기 XOR 게이트(XOR)의 출력 신호를 입력받고, 상기 제2 제어 신호(CON2)에 응답하여, 상기 입력받은 XOR 게이트(XOR)의 출력 신호를 샘플링하여 출력한다. 상기 제2 제어 신호(CON2)는 샘플링 클록을 포함할 수 있다.
도 8에 도시된 본 발명의 일실시예에 따른 난수 발생 장치(800)는, 복수 개의 난수 발생기(830_1, 830_2, 830_n) 각각으로부터 출력된 신호들(OUT_1, OUT_2, OUT_n)이 XOR 연산되기 때문에, 난수 발생 장치(800)의 확률적인 특성은 복수 개의 난수 발생기(830_1, 830_2, 830_n) 중에서 가장 확률적인 특성이 좋은 난수 발생기의 확률적인 특성에 따라 정의되는 장점이 있다. 예를 들면, XOR 연산의 특징 때문에, 하나의 난수 발생기라도 좋은 확률적인 특성을 가지고 있다면, 전체 난수 발생기의 출력도 좋은 확률적인 특성을 가지게 된다. 여기에서 좋은 확률적인 특성을 갖는다는 것은 진성 난수(True random number)에 가까운 특성을 가지는 것을 의미한다.
도 9는 본 발명의 일실시예에 따른 복수 개의 난수 발생기에 입력되는 샘플링 클록을 나타내는 타이밍도(timing diagram)이다. 도 7 또는 도 8에 도시된 본 발명의 일실시예에 따른 난수 발생 장치에서, 복수 개의 난수 발생기 각각에 입력되는 제1 제어 신호(CON1_1, CON1_2, CON1_n)는 도 9에 도시된 것과 유사한 파형을 가질 수 있다.
도 8 및 도 9를 참조하면, 복수 개의 난수 발생기(830_1, 830_2, 830_n) 각각에 입력되는 제1 제어 신호(CON1_1, CON1_2, CON1_n)는 시간 축에서 서로 다른 지연 시간을 가질 수 있다. 따라서, 복수 개의 난수 발생기(830_1, 830_2, 830_n) 각각에 입력되는 제1 제어 신호(CON1_1, CON1_2, CON1_n)의 샘플링 시간이 서로 다르므로, 복수 개의 난수 발생기(830_1, 830_2, 830_n) 각각은 서로 다른 시간에 샘플링이 이루어지게 된다. 일예로서, 제1 제어 신호(CON1_1)가 입력되는 제1 난수 발생기(830_1)의 경우에는 t1에서 샘플링이 이루어지고, 제1 제어 신호(CON1_2)가 입력되는 제2 난수 발생기(830_2)의 경우에는 t2에서 샘플링이 이루어지며, 제1 제어 신호(CON1_n)가 입력되는 제n 난수 발생기(830_n)의 경우에는 t3에서 샘플링이 이루어질 수 있다. 한편, 도 9에 도시된 바와 같이, 제2 제어 신호(CON2)가 입력되는 샘플링부(850)의 경우에는 t4에서 샘플링이 이루어질 수 있다.
복수 개의 난수 발생기를 구비하는 난수 발생 장치의 경우에는, 각각의 난수 발생기 간에 간섭(cross-talking) 현상이 생길 수 있고, 이로 인해 난수 발생 장치의 출력 결과가 불량해질 수 있다. 즉, 간섭과 같은 기생 효과를 감소시키기 위해서, 각각의 난수 발생기에 각기 다른 지연 시간을 갖는 샘플링 클록을 제공할 수 있다.
도 10은 본 발명의 또 다른 실시예에 따른 난수 발생 장치를 나타내는 도면이다. 상기 난수 발생 장치(1000)는 각기 다른 지연 시간을 갖는 샘플링 클록을 생성하기 위하여, 적어도 하나의 지연부(1041, 1042, 1043, 1044)를 구비할 수 있다. 도 10에 도시된 바와 같이, 플립 플롭(1019)에는 샘플링 클록(SP_CLK)이 입력되고, 플립 플롭(1029)에는 샘플링 클록(SP_CLK)이 지연부(1042)에 의해 지연된 신호가 입력되며, 플립 플롭(1039)에는 샘플링 클록(SP_CLK)이 복수 개의 지연부(1042, 1044)에 의해 지연된 신호가 입력된다. 또한 멀티플렉서(1011, 1021, 1031)의 선택 신호(SEL)도 샘플링 클록(SP_CLK)과 유사하게 각기 다른 지연 시간을 갖는 신호가 각각의 멀티플렉서(1011, 1021, 1031)로 입력된다. 도 10에 도시된 난수 발생 장치(1000)의 구체적인 동작은 도 8 및 도 9를 참조하여 상술한 바 있으므로, 여기에서는 설명을 생략한다.
도 11은 본 발명의 일실시예에 따른 난수 발생 방법을 나타내는 순서도(flowchart)이다. 도 11을 참조하면, 상기 난수 발생 방법(1100)은, 준안정상태 신호를 생성하여 출력하는 단계(S101), 상기 준안정상태 신호를 입력받고, 상기 입력받은 준안정상태 신호를 증폭하여, 증폭된 준안정상태 신호로서 출력하는 단계(S102) 및 상기 증폭된 준안정상태 신호 및 샘플링 클록을 입력받고, 상기 샘플링 클록에 따라 상기 증폭된 준안정상태 신호를 샘플링하여 출력하는 단계(S103)를 포함할 수 있다. 상기 난수 발생 방법(1100)은 앞서 도면을 참조하여 충분히 상술하였으므로 여기에서는 설명을 생략한다.
본 발명의 일실시예에 따른 난수 발생 장치 및 난수 발생 방법은 준안정성(Metastability)을 이용하여 진성 난수 발생기의 작업처리량(Throughput)을 증가시킬 수 있다. 또한, 본 발명의 일실시예에 따른 난수 발생 장치 및 난수 발생 방법은 특별한 레이아웃(Layout) 디자인을 필요로 하지 않고, 일반적인 디지털 구성요소로 구현될 수 있다.
도 12는 본 발명의 기술적 사상에 의한 다른 실시예에 따른 난수 발생 장치(1200)를 나타내는 도면이다. 도 13은 도 12의 난수 발생 장치(1200)를 더욱 자세히 나타낸 블록도이다. 이 실시예에 따른 난수 발생 장치(1200)는 도 7 및 도 10의 실시예들에 따른 난수 발생 장치(700, 1000)의 변형된 예일 수 있다. 이하 실시예들간의 중복되는 설명은 생략하기로 한다.
도 12 및 도 13을 참조하면, 즉, 난수 발생 장치(1200)는 n개의 난수 발생기(1230_1, 1230_2, 1230_n)를 포함할 수 있다. 제 n 난수 발생기(1230_n)는 제 n 준안정상태 신호 생성부(1220_n) 및 제 n 증폭부(1225_n)를 포함할 수 있다, 예를 들어, 제 1 난수 발생기(1230_1)는 제 1 준안정상태 신호 생성부(1220_1) 및 제 1 증폭부(1225_1)를 포함하고, 제 2 난수 발생기(1230_2)는 제 2 준안정상태 신호 생성부(1220_2) 및 제 2 증폭부(1225_2)를 포함할 수 있다.
샘플링부(1250)는 n개의 난수 발생기(1230_1, 1230_2, 1230_n)와 연결되어, 난수 발생기(1230_1, 1230_2, 1230_n)의 출력 신호를 샘플링할 수 있다. 예를 들어, 샘플링부(1250)는 XOR 게이트(XOR) 및 플립 플롭(1251)을 포함할 수 있다.
XOR 게이트(XOR)는 제 1 증폭부(1225_1) 내지 제 n 증폭부(1225_n)의 증폭 신호를 서로 XOR 연산하여 출력할 수 있다. 예를 들어, XOR 게이트(XOR)는 입력되는 증폭 신호 중 하이 레벨의 증폭 신호의 개수가 짝수개인 경우 하이 신호를 출력하고, 상기 증폭 신호 중 하이 레벨의 증폭 신호의 개수가 홀수개인 경우 로우 신호를 출력할 수 있다. 이 경우 XOR 연산에 의해, 각각의 난수 발생기(1230_1, 1230_2, 1230_n)의 엔트로피(즉, 신호가 하이 레벨인지 로우 레벨인지 여부의 불확실성)가 더해지게 되므로, 높은 엔트로피를 가지는 난수 발생기가 구현될 수 있다.
플립 플롭(1251)은 XOR 게이트(XOR)의 출력 신호를 샘플링하여 출력할 수 있다. 예를 들어, 플립 플롭(1251)이 D 플립 플롭이고, 제어부로부터 인가되는 샘플링 클록(SP_CLK)의 주기가 1 μs인 경우, 상기 D 플립 플롭은 매 1 μs마다 XOR 게이트(XOR)의 출력 신호의 상태(즉, 하이 상태 또는 로우 상태)를 저장하여 출력할 수 있다.
상술한 XOR 연산에 의해 얻어진 엔트로피를 수식으로 표현하면 다음과 같다. 제 1 난수 발생기(1230_1)의 엔트로피를
Figure pat00001
, 제 2 난수 발생기(1230_2)의 엔트로피를
Figure pat00002
, 및 제 n 난수 발생기(1230_n)의 엔트로피를
Figure pat00003
라 하면, 본 실시예에 따른 난수 발생 장치(1200)의 전체 엔트로피는 다음 수학식과 같이 표현될 수 있다.
Figure pat00004
이와 같이, 본 발명의 실시예에 따른 난수 발생 장치(1200)는 복수개의 난수 발생기의 엔트로피를 모두 더한 높은-엔트로피(high-entropy)를 가지므로, 고품질의 진성 난수가 생성될 수 있다.
도 14는 본 발명의 기술적 사상에 의한 일부 실시예에 따른 난수 발생 장치(1400)를 나타낸 블록도이다. 이 실시예에 따른 난수 발생 장치(1400)는 도 13의 실시예들에 따른 난수 발생 장치(1200)의 변형된 예일 수 있다. 이하 두 실시예들에서 중복되는 설명은 생략하기로 한다.
도 14를 참조하면, 난수 발생 장치(1400)는 복수개의 난수 발생기(1430_1, 1430_2, 1430_n)를 포함할 수 있다. 제 1 모드에서, 상기 복수개의 난수 발생기(1430_1, 1430_2, 1430_n) 각각은, 준안정상태 신호를 생성하고 상기 준안정상태 신호를 이용하여 난수를 생성할 수 있다. 제 2 모드에서, 상기 복수개의 난수 발생기는(1430_1, 1430_2, 1430_n) 서로 연결되어 링 오실레이터(ring oscillator)로서 동작할 수 있다.
이를 위해, 복수개의 난수 발생기(1430_1, 1430_2, 1430_n) 각각의 준안정상태 생성부(1420_1, 1420_2, 1420_n)는, 제 1 모드에서는 준안정상태 신호를 생성하여 출력하되, 제 2 모드에서 다른 난수 발생기의 출력 신호를 입력 받아 증폭할 수 있다.
예를 들어, 준안정상태 생성부(1420_1, 1420_2, 1420_n)가 반전부(INV11, INV21, INVn1)로 구현된 경우, 제 1 모드에서, 반전부(INV11, INV21, INVn1)가 준안정상태 신호를 생성할 수 있도록, 반전부(INV11, INV21, INVn1)의 입력 단자는 상기 반전부의 출력 단자와 서로 연결될 수 있다. 또한, 제 2 모드에서, 반전부(INV11, INV21, INVn1)가 단순한 반전 증폭기로서 동작하도록, 반전부(INV11, INV21, INVn1)의 입력 단자는 다른 난수 발생기와 연결될 수 있다.
이 경우, 준안전상태 생성부(1420_1, 1420_2, 1420_n)는, 제어부(1410)로부터 인가되는 모드 신호(M1, M2, Mn)에 응답하여 입력 받은 신호를 선택적으로 출력하는 멀티플렉서(MUX1, MUX2, MUXn)를 더 포함할 수 있다.
멀티플렉서(MUX1, MUX2, MUXn)의 제 1 입력 단자는 준안정상태 생성부(1420_1, 1420_2, 1420_n)의 출력 단자와 연결될 수 있고, 따라서 제 1 모드(예를 들어, 모드 신호(M1, M2, Mn)가 로우 상태)에서, 반전부(INV11, INV21, INVn1)의 입력 단자와 출력 단자가 서로 연결되어, 준안정상태의 신호가 생성될 수 있다. 또한, 멀티플렉서(MUX1, MUX2, MUXn)의 제 2 입력 단자는 다른 난수 발생기와 연결될 수 있고, 따라서 제 2 모드(예를 들어, 모드 신호(M1, M2, Mn)가 하이 상태)에서, 반전부는 다른 난수 발생기에 의해 생성된 신호를 반전 증폭할 수 있다.
비록 도 14의 경우 멀티플렉서(MUX1, MUX2, MUXn)의 제 2 입력 단자가 다른 난수 발생기의 준안정상태 생성부(1420_1, 1420_2, 1420_n)(즉, 반전부)의 출력 단자와 연결된 구성을 도시하지만, 본 발명은 이에 제한되지 않는다. 도 15에 나타난 바와 같이, 멀티플렉서(MUX1, MUX2, MUXn)의 제 2 입력 단자는 다른 난수 발생기의 증폭부(1425_1, 1425_2, 1425_n)의 출력 단자와 연결될 수도 있다. 즉, 당해 분야의 통상의 지식을 가진 자는, 멀티플렉서(MUX1, MUX2, MUXn)에 의해 제 1 모드에서 난수 발생 장치(1400)가 준안정상태 생성 원리에 의해 난수를 발생시키고, 제 2 모드에서 난수 발생 장치(1400)가 링 오실레이터의 동작을 수행하여 난수를 발생시키는 임의의 구성을 도출할 수 있을 것이다.
이하에서는 제 1 모드(즉, 준안정상태 모드) 및 제 2 모드(즉, 발진(oscillation) 모드)에서의 난수 발생 장치(1400)의 동작을 더욱 구체적으로 살펴보기로 한다.
<제 1 모드: 준안정상태 모드>
제 1 모드에서, 제 1 난수 발생기(1230_1)의 제 1 멀티플렉서(MUX1)는 예를 들어 제어부(1410)로부터 로우 상태의 모드 신호(M)를 입력받고, 제 1 멀티플렉서(MUX1)의 제 1 입력 단자와 반전부(INV11)의 입력 단자를 전기적으로 연결시킨다. 상기 제 1 입력 단자는 상기 반전부(INV11)의 출력 단자와 연결되어 있으므로, 결국 상기 반전부(INV11)의 상기 입력 단자와 상기 출력 단자가 서로 연결된다. 따라서 도 1에 설명된 바와 같이, 반전부(INV11)는 열잡음에 의한 준안정상태 신호를 생성할 수 있다.
이러한 연결 관계는 제 2 난수 발생기(1230_2)의 제 2 멀티플렉서(MUX2) 및 제 n 난수 발생기(1230_n)의 제 n 멀티플렉서(MUXn) 모두에 적용될 수 있다. 이 경우, 복수개의 난수 발생기(1230_1, 1230_2, 1230_n)는 각각의 난수를 생성하여 샘플링부(1250)에 전달하므로, 도 13에서 설명한 바와 같이, 난수 발생 장치(1400)는 수학식 1에 따른 높은 엔트로피를 가진다.
<제 2 모드: 발진 모드>
제 2 모드에서, 제 1 난수 발생기(1230_1)의 제 1 멀티플렉서(MUX1)는 예를 들어 제어부(1410)로부터 하이 상태의 모드 신호(M)를 입력받고, 제 1 멀티플렉서(MUX1)의 제 2 입력 단자와 제 1 난수 발생기(1230_1)의 반전부(INV11)의 입력 단자를 전기적으로 연결시킨다. 제 2 입력 단자는 제 n 난수 발생기(1230_n)의 반전부(INVn1)의 출력 단자와 연결되어 있으므로, 결국 제 1 난수 발생기(1230_1)의 반전부(INV11)의 입력 단자와 제 n 난수 발생기(1230_n)의 반전부(INVn1)의 출력 단자가 서로 연결된다. 따라서, 반전부(INV11)는 제 n 난수 발생기(1230_n)의 반전부(INVn1)의 출력 신호를 반전 증폭한다.
도 14에 나타난 바와 같이, 제 2 모드에서, 각각의 멀티플렉서(MUX1, MUX2, MUXn)는 모두 다른 난수 발생기의 반전부의 출력 신호를 반전 증폭할 수 있다. 예를 들어, 제 1 난수 발생기(1230_1)의 반전부(INV11)에 의해 제 n 난수 발생기(1230_n)의 반전부(INVn1)의 출력 신호가 반전 증폭되면, 상기 출력 신호는 다시 제 2 난수 발생기(1230_2)의 제 2 멀티플렉서(MUX2)의 제 2 입력 단자로 입력된다.
제 1 멀티플렉서(MUX1)와 마찬가지로, 제 2 멀티플렉서(MUX2)도 하이 상태의 모드 신호(M)를 입력받아 제 2 멀티플렉서(MUX2)의 제 2 입력 단자와 제 2 난수 발생기(1230_2)의 반전부(INV21)의 입력 단자를 연결시킨다. 따라서 제 1 난수 발생기(1230_1)의 반전부(INV11)에 의해 출력된 상기 출력 신호는 제 2 난수 발생기(1230_2)의 반전부(INV21)에 의해 다시 반전 증폭될 수 있다.
결국, 제 1 멀티플렉서(MUX1) 내지 제 n 멀티플렉서(MUXn)의 연결 기능으로 인해, 제 2 모드에서, 난수 발생 장치(1400)는 출력 신호를 계속적으로 반전 증폭시키는 링-오실레이터로서 기능하게 된다. 다만, 이러한 반전 증폭은 홀수 번 이루어져만 발진 기능이 수행될 수 있으므로, 본 실시예의 경우, 난수 발생기의 개수는 홀수개일 수 있다. 이하에서는 발진 모드에서의 링-오실레이터의 동작을 더욱 자세히 살펴보기로 한다.
<제 2 모드(발진 모드) 중 초기 기간>
상기 링-오실레이터는 발진 동작을 수행한다. 따라서 링-오실레이터는 하이 상태와 로우 상태로의 천이를 반복적으로 수행하며, 임의의 시점에서 샘플링될 경우 링-오실레이터는 하이 레벨 전압 또는 로우 레벨 전압을 제공할 것이다.
한편, 제 2 모드로의 진입 시점에서, 링-오실레이터에 의해 증폭되는 전압은 하이 레벨의 전압일수도 있고, 로우 레벨의 전압일수도 있다. 상기 전압의 하이/로우 여부는, 제 1 모드(준안정상태 모드)에서의 출력 신호에 의존적이므로, 예측 불가능하다. 따라서 각 난수 발생기(1430_1, 1430_2, 1430_n)의 출력단에서 출력되는 발진 신호는 다음 수학식으로 표현될 수 있다.
Figure pat00005
즉, 링-오실레이터는 초기 기간 동안 계속하여 논리 레벨을 반전시키는 반전 동작을 수행한다. 그에 따라 일정 주기를 갖는 사인파 곡선 형태의 신호가 출력된다. 이러한 출력 신호는 안정된 발진 신호로서, 일정한 듀티 사이클을 가진다. 다만 상기 사인파 곡선 형태의 신호는 예측될 수 없는(randomized) 초기 위상(
Figure pat00006
)을 가짐에 유의한다.
따라서, 제 2 모드(발진 모드)의 초기 단계에서 샘플링부(1250)가 각 난수 발생기(1430_1, 1430_2, 1430_n)의 출력단의 출력 신호를 샘플링할 경우, 샘플링 시점에서, 상기 출력 신호는 열잡음에 의해 하이 상태 또는 로우 상태의 랜덤 상태를 가질 것이다. 따라서 본 발명의 난수 발생 장치(1400)는 초기 단계의 링-오실레이터로서 동작하는 경우에도 진성 난수를 생성할 수 있고, 이 때 상기 난수 발생 장치(1400)가 가지는 엔트로피는
Figure pat00007
로 표현될 수 있다.
<제 2 모드(발진 모드) 중 초기 기간 이후>
초기 기간 이후, 링-오실레이터는 발진 동작을 수행하면서 지터(jitter)를 갖게 되며, 따라서 불규칙적인 주기를 갖는 발진 신호를 출력하게 된다.
더욱 구체적으로, 링-오실레이터가 계속하여 발진 동작을 수행하면서, 발진 신호에 노이즈가 축적되고, 그로 인해 링-오실레이터는 지터를 가지는 발진 신호를 출력한다. 여기서 지터는 시간축 상의 신호의 흔들림을 나타내며, 각 난수 발생기(1430_1, 1430_2, 1430_n)의 출력단에서 출력되는 발진 신호는 다음 수학식으로 표현될 수 있다.
Figure pat00008
여기서
Figure pat00009
는 문턱 레벨 값(threshold level value)이고, A는 사인 함수의 진폭이며,
Figure pat00010
는 링-오실레이터의 각주파수로서 다음과 같이 표현될 수 있다.
Figure pat00011
여기서
Figure pat00012
는 i번째 반전부(INV)의 시간 딜레이값(time delay value)이다.
지터는 시간에 대한 함수이므로, 링-오실레이터는 불규칙적인 주기를 가지며, 듀티 사이클이 일정하지 않은 발진 신호를 출력한다. 이러한 불규칙적인 주기를 가지는 신호를 기초로 샘플링 동작을 수행함으로써 진성 난수가 생성될 수 있다. 이 때 난수 발생 장치(1400)가 가지는 엔트로피는
Figure pat00013
로 표현될 수 있다.
결국, 제 2 모드에서, 난수 발생 장치(1400)가 가지는 엔트로피는 다음과 같다.
Figure pat00014
<결론 : 난수 발생 장치의 총 엔트로피>
상술한 제 1 모드에서의 엔트로피, 제 2 모드의 초기 단계에서의 엔트로피, 및 제 2 모드의 초기 단계 이후의 엔트로피를 종합하면, 본 발명의 기술적 사상에 따른 난수 발생 장치(1400)는 다음과 같은 엔트로피를 가진다.
Figure pat00015
따라서, 본 발명의 기술적 사상에 따른 난수 발생 장치는, 제 1 모드에서 복수개의 난수 발생기가 생성하는 준안정상태 신호에 기초한 엔트로피뿐만 아니라, 제 2 모드에서 복수개의 난수 발생기가 서로 연결되어 생성된 발진 신호에 기초한 엔트로피를 모두 더한 높은-엔트로피(high-entropy)를 가지므로, 고품질의 진성 난수가 생성될 수 있다.
도 15는 본 발명의 기술적 사상에 의한 또 다른 실시예에 따른 난수 발생 장치(1500)를 나타내는 블록도이다. 이 실시예에 따른 난수 발생 장치(1500)는 도 14의 실시예에 따른 난수 발생 장치(1500)의 변형된 예일 수 있다. 이하 두 실시예들에서 중복되는 설명은 생략하기로 한다.
도 15를 참조하면, 상술한 바와 같이, 멀티플렉서(MUX1, MUX2, MUX3)의 제 2 입력 단자는 다른 난수 발생기의 증폭부(1425_1, 1425_2, 1425_3)의 출력 단자와 연결될 수도 있다. 따라서 제 2 모드에서, 난수 발생 장치(1500)는 링-오실레이터로서 동작하며, 제 1 멀티플렉서(MUX1), 제 1 난수 발생기(1430_1)의 반전부들(INV11, INV12, INV13), 제 2 멀티플렉서(MUX2), 제 2 난수 발생기(1430_2)의 반전부들(INV21, INV22, INV23), 제 3 멀티플렉서(MUX3), 및 제 3 난수 발생기(1430_3)의 반전부들(INV31, INV32, INV33)을 거쳐 발진 신호가 생성될 수 있다.
즉, 상기 구성요소들을 계속적으로 거침으로써 상기 발진 신호가 계속적으로 생성될 수 있다. 다만, 상기 발진 신호의 지속적인 생성을 위해서는, 하나의 사이클에서 반전 증폭이 홀수 번 이루어져야 가능함에 유의한다. 따라서, 제 1 난수 발생기 내지 제 3 난수 발생기(1430_1, 1430_2, 1430_3)의 반전부들(INV11, INV12, INV13, INV21, INV22, INV23, INV31, INV32, INV33)의 총 개수는 홀수개일 수 있다.
증폭부(1425_1, 1425_2, 1425_3)의 출력 단자는 증폭 결과 높은 레벨의 전압을 가지므로, 제2 모드 동안 상기 출력 단자로부터 다른 난수 발생기의 반전부(INV11, INV21, INV31)에 입력되는 신호는 높은 전압 레벨을 가진다. 따라서 반전부들(예를 들어, 반전부들(INV33, INV11), 반전부들(INV13, INV21), 및 반전부들(INV23, INV31))간의 문턱 레벨의 미스매치로 인한 엔트로피의 손실을 방지할 수 있다.
도 16은 본 발명의 기술적 사상에 의한 실시예에 따른 난수 발생 장치(1600)를 나타내는 블록도이다. 이 실시예에 따른 난수 발생 장치(1600)는 도 14의 실시예에 따른 난수 발생 장치(1400)의 변형된 예일 수 있다. 이하 두 실시예들에서 중복되는 설명은 생략하기로 한다.
도 16을 참조하면, 샘플링부(1450)는 선형 피드백 시프트 레지스터(1453, linear feedback shift register, 이하 'LFSR'로 지칭함)로 구현될 수도 있다. LFSR(1453)로 인해 엔트로피의 추가 상승을 기대할 수 있다.
LSFR(1453)이 m-비트 LFSR로 구현될 경우, 병렬로 난수가 생성될 수 있다. 이 경우 상기 m-비트 LFSR의 출력은 병렬 출력 레지스터(1455, parallel output resigter)에 임시 보관되고, 샘플링 클록(SP_CLK)에 응답하여 병렬 난수가 출력될 수 있다. 이 경우, 일반적으로 샘플링 클록(SP_CLK)과 m-bit LFSR에 인가되는 클록(LFSR_CLK)이 서로 동기화되어야 할 필요는 없다.
도 17은 본 발명의 기술적 사상에 의한 실시예에 따른 난수 발생 장치(1700)를 나타내는 블록도이다. 이 실시예에 따른 난수 발생 장치(1700)는 도 14의 실시예에 따른 난수 발생 장치(1400)의 변형된 예일 수 있다. 이하 두 실시예들에서 중복되는 설명은 생략하기로 한다.
도 17을 참조하면, 샘플링부(1450)는 n개의 난수 발생기(1430_1, 1430_2, 1430_n)와 연결되어, 난수 발생기(1430_1, 1430_2, 1430_n)의 출력 신호를 샘플링할 수 있다. 예를 들어, 샘플링부(1450)는 XOR 게이트(XOR), mod 2 카운터(1457), 및 플립 플롭(1451)을 포함할 수 있다.
XOR 게이트(XOR)는 도 14에서 설명한 바와 같이 제 1 증폭부 내지 제 n 증폭부(1425_1, 1425_2, 1425_n)의 증폭 신호를 서로 XOR 연산하여 출력할 수 있다.
mod 2 카운터(1457)는 XOR 게이트(XOR)의 출력 신호의 라이징 에지의 개수(즉, 로우 상태에서 하이 상태로 천이하는 횟수)를 카운트할 수 있다. 즉, mod 2 카운터(1457)는 상기 라이징 에지의 개수가 홀수개인 경우 1을 출력하고, 짝수개인 경우 0을 출력할 수 있다. 그러나 본 발명은 이에 제한되는 것은 아니며, mod 2 카운터(1457)는 폴링 에지의 개수 또는 라이징 에지 및 폴링 에지의 개수를 카운트할 수도 있다. 또한, mod 2 카운터(1457)는 상기 카운트 기능을 수행하기 위해 다른 종류의 카운터로 구현될 수도 있다.
플립 플롭(1451)은 제어부(1410)로부터 인가되는 샘플링 클록(SP_CLK)에 응답하여 mod 2 카운터(1457)의 출력 신호를 샘플링하여 출력할 수 있다. 예를 들어, 플립 플롭(1451)이 D 플립 플롭(1451)이고 제어부(1410)로부터 인가되는 샘플링 클록(SP_CLK)의 주기가 1 μs인 경우, D 플립 플롭(1451)은 매 1 μs마다 mod 2 카운터(1457)의 출력 신호의 상태(즉, 하이 상태 또는 로우 상태)를 저장하여 출력할 수 있다.
결과적으로, 도 17의 실시예에 따른 난수 발생 장치(1700)는, 제 1 모드에서, 제어부(1410)로부터 인가되는 샘플링 클록(SP_CLK)의 주기 동안 XOR 게이트(XOR)의 라이징 에지의 개수를 카운트하여, 상기 라이징 에지의 개수가 홀수개인지 또는 짝수개인지 여부에 따라 0 또는 1의 난수를 생성할 수 있다.
도 18은 본 발명의 기술적 사상에 의한 실시예에 따른 난수 발생 장치(1500)를 나타내는 블록도이다. 이 실시예에 따른 난수 발생 장치(1500)는 도 14의 실시예에 따른 난수 발생 장치(1500)의 변형된 예일 수 있다. 이하 두 실시예들에서 중복되는 설명은 생략하기로 한다.
도 18을 참조하면, 제 1 멀티플렉서 내지 제 n 멀티플렉서(MUX1, MUX2, MUXn)의 제 2 입력 단자는 다른 난수 발생기의 준안정상태 생성부(즉, 반전부(INV11, INV21, INVn1))의 출력 단자 또는 증폭부(1425_1, 1425_2, 1425_n)의 출력 단자와 연결될 수 있다. 특히, 증폭부(1425_1, 1425_2, 1425_n)는 입력받은 신호를 증폭하여 출력하는 복수개의 증폭 스테이지(예를 들어, 인버터(INV12, INV1k), 인버터(INV22, INV2k), 및 인버터(INVn2, INVnk))를 포함할 수 있고, 이 경우 상기 복수개의 증폭 스테이지는 서로 직렬로 연결될 수 있다
제 1 난수 발생기(1430_1)의 제 1 멀티플렉서(MUX1)의 제 2 입력 단자는, 도 14의 실시예에서와 같이, 제 n 난수 발생기(1430_n)의 제 n 준안정상태 생성부(1420_n)(즉, 반전부(INVn1))의 출력 단자와 연결될 수 있다. 한편, 제 2 난수 발생기(1430_2)의 제 2 멀티플렉서(MUX2)의 제 2 입력 단자는, 도 15의 실시예에서와 같이, 제 1 난수 발생기(1430_1)의 제 1 증폭부(1425_1)의 출력 단자와 연결될 수도 있다. 또한, 비록 도시되지는 않았지만, 제 3 난수 발생기(미도시)의 제 3 멀티플렉서(미도시)의 제 2 입력 단자는, 제 2 증폭부(1425_2)의 복수개의 증폭 스테이지(INV22, ..., INV2k) 중 일 증폭 스테이지(예를 들어, INV22)의 출력 단자와 연결될 수 있다.
샘플링부(1450)는 n개의 난수 발생기와 연결되어, n개의 난수 발생기의 증폭부(1425_1, 1425_2, 1425_n)로부터 증폭 신호를 입력받고, 샘플링 클록(SP_CLK)에 따라 상기 증폭 신호를 샘플링하여 출력할 수 있다. 예를 들어, 샘플링부(1450)는 mod 2 카운터(1457_1, 1457_2, 1457_n), XOR 게이트(XOR), 및 플립 플롭(1451)을 포함할 수 있다.
mod 2 카운터(1457_1, 1457_2, 1457_n)는 각각의 난수 발생기(1430_1, 1430_2, 1430_n)와 연결되어, 제 1 증폭부 내지 제 n 증폭부(1425_1, 1425_2, 1425_n)에 의해 출력되는 증폭 신호의 라이징 에지의 개수를 카운트할 수 있다. mod 2 카운터(1457_1, 1457_2, 1457_n)가 폴링 에지의 개수 또는 라이징 및 폴링 에지의 개수를 카운트할 수도 있음은 상술한 바와 같다.
제 1 모드에서, mod 2 카운터(1457_1, 1457_2, 1457_n)는 각각의 난수 발생기의 증폭부(1425_1, 1425_2, 1425_n)에 의해 출력된 증폭된 준안정상태 신호의 라이징 에지의 개수가 홀수개인 경우 1을 출력하고, 짝수개인 경우 0을 출력할 수 있다.
한편, 제 2 모드에서, mod 2 카운터(1457_1, 1457_2, 1457_n)는 각각의 난수 발생기의 증폭부(1425_1, 1425_2, 1425_n)에 의해 증폭된 발진 신호의 라이징 에지의 개수가 홀수개인 경우 1을 출력하고, 짝수개인 경우 0을 출력할 수 있다.
XOR 게이트(XOR)는 n개의 mod 2 카운터(1457_1, 1457_2, 1457_n)의 출력 신호를 XOR 연산하여 출력할 수 있다. 더욱 구체적으로, XOR 게이트(XOR)는, 하이 상태를 출력하는 mod 2 카운터(1457_1, 1457_2, 1457_n)의 개수가 짝수개인 경우 하이 신호를 출력하고, 하이 상태를 출력하는 mod 2 카운터(1457_1, 1457_2, 1457_n)의 개수가 짝수개인 경우 로우 신호를 출력할 수 있다. XOR 연산에 의해, 각각의 난수 발생기의 엔트로피가 더해지게 되므로, 수학식 1에 따라, 높은 엔트로피를 가지는 난수 발생기가 구현될 수 있음은 상술한 바와 같다.
플립 플롭(1451)은 XOR 게이트(XOR)의 출력 신호를 샘플링하여 출력할 수 있다. 예를 들어, 플립 플롭(1451)이 D 플립 플롭(1451)인 경우, 제어부(1410)로부터 인가되는 샘플링 클록(SP_CLK)의 주기가 1 μs인 경우, D 플립 플롭(1451)은 매 1 μs마다 XOR 게이트(XOR)의 출력 신호의 상태(즉, 하이 상태 또는 로우 상태)를 저장하여 출력할 수 있다.
결과적으로, 도 18의 실시예에 따른 난수 발생 장치(1500)는, 제 1 모드 및 제 2 모드에서, 제어부(1410)로부터 인가되는 샘플링 클록(SP_CLK)의 주기 동안 각각의 난수 발생기(1430_1, 1430_2, 1430_n)의 (준안정상태 신호 또는 발진 신호의) 라이징 에지의 개수를 mod 2 카운트하고, 각각의 mod 2 카운터(1457)의 출력을 XOR 연산하여 0 또는 1의 난수를 생성할 수 있다.
도 19 및 도 20은 도 18의 난수 발생 장치(1500)에 의해 생성되는 출력 파형을 나타낸 그래프이다.
도 18 및 도 19를 참조하면, 제 n 난수 발생기(1430_n)의 제 n 준안정상태 생성부(1420_n)의 출력 단자에서 출력되는 신호가 나타난다. 제 1 모드(준안정상태 모드) 동안, 상기 출력 단자에서 열잡음에 의한 준안정상태 신호가 출력된다. 반면에 제 2 모드(발진 모드) 동안, 상기 출력 단자에서 상기 준안정상태 신호를 반전 증폭하여 생성된 발진 신호가 출력된다.
도 20을 참조하면, 제 n 난수 발생기(1430_n)의 제 n 증폭부(1425_n)의 출력 단자에서 출력되는 신호가 나타난다. 제 1 모드(준안정상태 모드) 동안, 상기 출력 단자에서 열잡음에 의한 준안정상태 신호가 증폭된 증폭 신호가 출력된다. 반면에 제 2 모드(발진 모드) 동안, 상기 출력 단자에서 상기 준안정상태 신호를 반전 증폭하여 생성된 발진 신호가 출력된다.
도 21 및 도 22는 본 발명의 기술적 사상에 의한 다른 실시예들에 따른 난수 발생 장치(2100, 2200)를 나타내는 블록도들이다. 이 실시예들에 따른 난수 발생 장치(2100, 2200)는 도 14의 실시예에 따른 난수 발생 장치(1400)의 변형된 예일 수 있다. 이하 두 실시예들에서 중복되는 설명은 생략하기로 한다.
도 21 및 도 22를 참조하면, 반전부는 인버터 대신 낸드(NAND) 게이트 또는 노아(NOR) 게이트로 구현될 수도 있다. 상기 인버터, 낸드 게이트, 및 노아 게이트가 이용되는 경우의 동작 원리에 대에서는 도 2a 및 도 2b에서 설명하였는바 구체적인 설명은 생략하기로 한다. 또한 도 22에 나타난 바와 같이, 제 1 난수 발생기(1430_1)의 제 1 증폭부(1425_1)의 증폭 스테이지의 개수와, 제 2 난수 발생기(1430_2)의 증폭부(1425_2)의 증폭 스테이지의 개수는 서로 다를 수도 있다.
본 발명을 명확하게 이해시키기 위해 첨부한 도면의 각 부위의 형상은 예시적인 것으로 이해하여야 한다. 도시된 형상 외의 다양한 형상으로 변형될 수 있음에 주의하여야 할 것이다. 도면들에 기재된 동일한 번호는 동일한 요소를 지칭한다.
이상에서 설명한 본 발명이 전술한 실시예 및 첨부된 도면에 한정되지 않으며, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하다는 것은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 명백할 것이다.

Claims (10)

  1. 복수개의 난수 발생기를 포함하는 난수 발생 장치에 있어서,
    제 1 모드에서, 상기 복수개의 난수 발생기 각각은, 준안정상태 신호를 생성하고 상기 준안정상태 신호를 이용하여 난수를 생성하고,
    제 2 모드에서, 상기 복수개의 난수 발생기는 서로 연결되어 링 오실레이터(ring oscillator)로서 동작하는 것을 특징으로 하는 난수 발생 장치.
  2. 제 1 항에 있어서,
    상기 난수 발생기 각각은,
    준안정상태 신호를 생성하여 출력하는 준안정상태 생성부; 및
    상기 준안정상태 생성부의 출력 신호를 증폭하는 증폭부를 포함하는 것을 특징으로 하는 난수 발생 장치.
  3. 제 2 항에 있어서,
    상기 준안정상태 생성부는,
    제 1 모드에서 상기 준안정상태 신호를 생성하여 출력하고,
    제 2 모드에서 다른 난수 발생기의 출력 신호를 입력 받아 증폭하는 것을 특징으로 하는 난수 발생 장치.
  4. 제 2 항에 있어서,
    상기 준안정상태 생성부는 입력받은 신호를 반전하여 출력하는 반전부를 포함하고,
    제 1 모드에서, 상기 반전부의 입력 단자는 상기 반전부의 출력 단자와 연결되고,
    제 2 모드에서, 상기 반전부의 상기 입력 단자는 다른 난수 발생기와 연결되는 것을 특징으로 하는 난수 발생 장치.
  5. 제 2 항에 있어서,
    상기 준안정상태 생성부는, 모드 신호에 응답하여 입력 받은 신호를 선택적으로 출력하는 멀티플렉서를 더 포함하고,
    상기 멀티플렉서의 제 1 입력 단자는 상기 준안정상태 생성부의 출력 단자와 연결되고,
    상기 멀티플렉서의 제 2 입력 단자는 다른 난수 발생기와 연결된 것을 특징으로 하는 난수 발생 장치.
  6. 제 5 항에 있어서,
    상기 멀티플렉서의 제 2 입력 단자는 다른 난수 발생기의 준안정상태 생성부의 출력 단자와 연결된 것을 특징으로 하는 난수 발생 장치.
  7. 제 5 항에 있어서,
    상기 멀티플렉서의 제 2 입력 단자는 다른 난수 발생기의 증폭부의 출력 단자와 연결된 것을 특징으로 하는 난수 발생 장치.
  8. 제 7 항에 있어서,
    상기 증폭부는, 입력받은 신호를 증폭하여 출력하는 복수개의 증폭 스테이지를 포함하고
    상기 복수개의 증폭 스테이지는 서로 직렬로 연결되고,
    상기 멀티플렉서의 제 2 입력 단자는 상기 복수개의 증폭 스테이지 중 일 증폭 스테이지의 출력 단자와 연결된 것을 특징으로 하는 난수 발생 장치.
  9. 제 1 준안정상태 신호를 생성하여 출력하는 제 1 준안정상태 생성부 및 상기 제 1 준안정상태 생성부의 출력 신호를 증폭하는 제 1 증폭부를 포함하는 제 1 난수 발생기; 및
    제 1 모드에서 제 2 준안정상태 신호를 생성하여 출력하는 제 2 준안정상태 생성부 및 상기 제 2 준안정상태 생성부의 출력 신호를 증폭하는 제 2 증폭부를 포함하는 제 2 난수 발생기를 포함하고,
    상기 제 2 준안정상태 생성부는, 제 2 모드에서 상기 제 1 준안정상태 생성부의 상기 출력 신호 또는 상기 제 1 증폭부의 출력 신호를 증폭하는 것을 특징으로 하는 난수 발생 장치.
  10. 제 9 항에 있어서,
    상기 제 2 준안정상태 생성부는, 모드 신호를 입력받고, 상기 모드 신호에 응답하여 입력받은 신호를 선택적으로 출력하는 멀티플렉서를 더 포함하고,
    상기 멀티플렉서의 제 1 입력 단자는 상기 제 2 준안정상태 생성부의 출력 단자와 연결되고,
    상기 멀티플렉서의 제 2 입력 단자는 상기 제 1 준안정상태 생성부의 출력 단자 또는 상기 제 1 증폭부의 출력 단자와 연결된 것을 특징으로 하는 난수 발생 장치.
KR1020110019888A 2009-02-09 2011-03-07 난수 발생 장치 KR20120101836A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020110019888A KR20120101836A (ko) 2011-03-07 2011-03-07 난수 발생 장치
US13/211,648 US8886692B2 (en) 2009-02-09 2011-08-17 Apparatus for generating random number

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110019888A KR20120101836A (ko) 2011-03-07 2011-03-07 난수 발생 장치

Publications (1)

Publication Number Publication Date
KR20120101836A true KR20120101836A (ko) 2012-09-17

Family

ID=47110622

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110019888A KR20120101836A (ko) 2009-02-09 2011-03-07 난수 발생 장치

Country Status (1)

Country Link
KR (1) KR20120101836A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180005900A (ko) * 2016-07-07 2018-01-17 국민대학교산학협력단 다중 엔트로피 풀 지원 난수 발생기
CN108108153A (zh) * 2016-11-24 2018-06-01 三星电子株式会社 随机数发生器和用可调整的亚稳定电压生成随机数的方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180005900A (ko) * 2016-07-07 2018-01-17 국민대학교산학협력단 다중 엔트로피 풀 지원 난수 발생기
KR101872329B1 (ko) * 2016-07-07 2018-06-28 국민대학교산학협력단 다중 엔트로피 풀 지원 난수 발생기
CN108108153A (zh) * 2016-11-24 2018-06-01 三星电子株式会社 随机数发生器和用可调整的亚稳定电压生成随机数的方法
CN108108153B (zh) * 2016-11-24 2023-11-24 三星电子株式会社 随机数发生器和用可调整的亚稳定电压生成随机数的方法

Similar Documents

Publication Publication Date Title
US8886692B2 (en) Apparatus for generating random number
KR101579837B1 (ko) 난수 발생 장치 및 난수 발생 방법
JP4248950B2 (ja) 乱数発生装置
US9047152B2 (en) Delay device, method, and random number generator using the same
JP4559985B2 (ja) 乱数発生回路
US9377997B2 (en) Random number generator
KR100574730B1 (ko) 난수 발생 회로
US9405510B2 (en) Random number generator
KR20060087431A (ko) 난수 발생 방법 및 난수 발생기
KR20170019702A (ko) 난수 발생 장치
US8395454B2 (en) Synchronized output of multiple ring oscillators
JP2014102768A (ja) 乱数生成回路
Fujieda On the feasibility of TERO-based true random number generator on Xilinx FPGAs
EP3770750A1 (en) Entropy generator and method of generating enhanced entropy using truly random static entropy
JP6220642B2 (ja) 乱数生成モードを備える記憶回路
KR20120101836A (ko) 난수 발생 장치
JP2012048614A (ja) 乱数生成回路
JP5119417B2 (ja) 擬似乱数生成装置
JP5356362B2 (ja) 乱数生成回路
US9236865B2 (en) Apparatus and method for generating random bits
CN111352608B (zh) 一种低开销型fpga基真随机数产生系统
JP4904620B2 (ja) 周波数及びデューティ比制御可能な発振器
JP2016206917A (ja) 半導体集積回路装置及びそれを用いた電子機器
CN110784176A (zh) 振荡器装置
JP2012155388A (ja) ゆらぎ増幅装置及び真性乱数生成器

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid