KR101646506B1 - 난수 발생기 - Google Patents

난수 발생기 Download PDF

Info

Publication number
KR101646506B1
KR101646506B1 KR1020090116560A KR20090116560A KR101646506B1 KR 101646506 B1 KR101646506 B1 KR 101646506B1 KR 1020090116560 A KR1020090116560 A KR 1020090116560A KR 20090116560 A KR20090116560 A KR 20090116560A KR 101646506 B1 KR101646506 B1 KR 101646506B1
Authority
KR
South Korea
Prior art keywords
clock signal
control clock
output signal
random number
output
Prior art date
Application number
KR1020090116560A
Other languages
English (en)
Other versions
KR20110060080A (ko
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 KR1020090116560A priority Critical patent/KR101646506B1/ko
Priority to JP2010267037A priority patent/JP2011118903A/ja
Publication of KR20110060080A publication Critical patent/KR20110060080A/ko
Application granted granted Critical
Publication of KR101646506B1 publication Critical patent/KR101646506B1/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
    • G06F7/588Random number generators, i.e. based on natural stochastic processes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K3/00Circuits for generating electric pulses; Monostable, bistable or multistable circuits
    • H03K3/84Generating pulses having a predetermined statistical distribution of a parameter, e.g. random pulse generators

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Pulse Circuits (AREA)

Abstract

난수 발생기는 출력 신호 제공부, 샘플링부 및 클럭 생성부를 포함한다. 상기 출력 신호 제공부는 엔트로피(entropy) 소스(source)로서 동작하는 하나의 능동소자를 포함하여 제1 클럭 신호에 응답하여 발진하는 출력 신호를 제공한다. 상기 샘플링부는 제2 제어 클럭 신호에 동기되어 상기 발진하는 출력신호를 샘플링하여 랜덤 비트로 제공한다. 상기 제어 클럭 생성부는 상기 제1 제어 클럭 신호와 상기 제2 제어 클럭 신호를 생성한다.

Description

난수 발생기{Random number generator}
본 발명은 보안 분야에 관한 것으로, 보다 상세하게는 난수 발생기에 관한 것이다.
정보 통신 기술의 발전에 따라서, 정보의 암호화 및 복호화 기술은 해당 정보의 보안 유지를 위하여 매우 중요시되고 있다. 난수(random number)는 보안 시스템(security system)의 비밀키(secret key)를 비롯한 여러 곳에서 사용된다. 따라서, 보안이 중요시되는 시스템은 난수 발생기(random number generator)가 구비되며, 상기 난수 발생기는 예측 불가능한 값을 갖는 난수를 발생시켜야만 한다. 보안이 중요시되는 시스템에 있어서, 난수는 주기성과 규칙성을 가져서는 안 된다. 즉, 보안 시스템에서는 예측이 불가능하고 어떠한 주기성도 갖지 않는 완전한 난수를 발생시킬 필요가 있는 것이다. 참 난수(true random number, 이하 'TRN')는 물리적 노이즈 원(physical noise source)으로부터 생성되며, 예측 불가능하고 어떠한 주기성도 갖지 않는다. 이러한 참 난수를 발생시키기 위하여, 기존의 난수 발생 장치는 노이즈 원으로써 열적 노이즈(thermal noise) 또는 샷 노이즈(shot noise)를 이용하였다. 또는 링 오실레이터를 이용하여 불규칙한 주기를 갖는 클럭 신호를 발생 시켜 이용하였다. 하지만 기존의 난수 발생 장치에서는 난수 발생 장치에 포함되는 소자들의 공정 변화에 의한 미스매치로 인하여 난수 발생 장치의 성능이 저하되는 문제점이 발생하였다.
이에 따라 본 발명의 일 목적은 공정 변화에 따른 미스매치의 영향을 최소화할 수 있는 난수 발생기를 제공하는데 있다.
본 발명의 일 목적은 공정 변화에 따른 미스매치의 영향을 최소화할 수 있는 복합형 난수 발생기를 제공하는데 있다.
상술한 본 발명의 일 목적을 달성하기 위하여, 본 발명의 일 실시예에 따른 난수 발생기는 출력 신호 제공부, 샘플링부 및 클럭 생성부를 포함한다. 상기 출력 신호 제공부는 엔트로피(entropy) 소스(source)로서 동작하는 하나의 능동소자를 포함하여, 제1 제어 클럭 신호의 제1 레벨에서는 메타스테이블(meta-stable) 상태로 수렴하고, 상기 제1 제어 클럭 신호의 제2 레벨에서는 발진하는 출력 신호를 제공한다. 상기 샘플링부는 제2 제어 클럭 신호에 동기되어 상기 발진하는 출력신호를 샘플링하여 랜덤 비트로 제공한다. 상기 제어 클럭 생성부는 상기 제1 제어 클럭 신호와 상기 제2 제어 클럭 신호를 생성한다.
상기 출력 신호 제공부는 상기 제1 제어 클럭 신호의 논리 레벨이 따라 상기 하나의 능동 소자의 입력을 수렴 경로 또는 발진 경로 중 하나로 연결하는 스위칭 소자; 및 상기 하나의 능동 소자의 출력과 연결되고, 캐스케이드 연결되는 복수의 수동 지연 소자들을 구비하는 수동 지연부를 포함할 수 있다.
상기 스위칭 소자는 상기 제1 제어 클럭 신호의 제1 레벨에서는 상기 하나의 능동 소자가 피드백 루프를 구성하여 상기 메타 스테이블 상태로 수렴하는 출력 신호를 제공하도록 하고, 상기 제1 제어 클럭 신호의 제2 레벨에서는 상기 하나의 능동 소자와 상기 수동 지연부가 링 오실레이터를 구성하여 상기 메타 스테이블 상태의 전압에 대하여 발진 동작을 수행하여 상기 발진하는 출력 신호를 제공하도록 할 수 있다.
상기 하나의 능동 소자는 인버터, 낸드 게이트, 노어 게이트 중 하나일 수 있다.
상기 스위칭 소자는 3단자 스위치 또는 상기 제1 제어 클럭 신호를 제어 단자로 수신하는 멀티플렉서일 수 있다.
상기 복수의 수동 지연 소자들 각각은 전원 전압과 연결되는 피모스 커패시터; 및 접지 전압과 연결되고 연결노드에서 상기 피모스 커패시터에 연결되는 엔모스 커패시터를 포함할 수 있다.
상기 복수의 수동 지연 소자들 각각은 상기 연결노드에서 상기 피모스 커패시터와 상기 엔모스 커패시터에 연결되는 트랜스미션 게이트를 더 포함할 수 있다.
상기 복수의 수동 지연 소자들 각각은 상기 연결노드에서 상기 피모스 커패시터와 상기 엔모스 커패시터에 연결되고, 두 입력 단자에 동일한 입력이 인가되는 멀티플렉서를 더 포함할 수 있다.
상기 복수의 수동 지연 소자들 각각은 두 입력 단자에 동일한 입력이 인가되 는 멀티플렉서를 포함할 수 있다.
상기 복수의 수동 지연 소자들 각각은 상기 멀티플렉서의 출력과 접지 전압 사이에 연결되는 커패시터를 더 포함할 수 있다.
상기 제어 클럭 생성부는 상기 제1 제어 클럭 신호를 생성하는 클럭 생성기; 및 상기 제1 제어 클럭 신호를 지연시켜 상기 제2 제어 클럭 신호로 제공하는 지연 소자를 포함할 수 있다.
상술한 본 발명의 일 목적을 달성하기 위하여, 본 발명의 일 실시예에 따른 난수 발생기는 출력 신호 제공부, 지연 제어부, 샘플링부 및 제어 클럭 생성기를 포함한다. 상기 출력 신호 제공부는 엔트로피(entropy) 소스(source)로서 동작하는 하나의 능동소자를 포함하여, 제어 클럭 신호의 제1 레벨에서는 메타스테이블(meta-stable) 상태로 수렴하고, 상기 제어 클럭 신호의 제2 레벨에서는 지연 제어 신호에 의하여 주파수가 가변되는 발진하는 출력 신호를 제공한다. 상기 지연 제어부는 상기 제어 클럭 신호에 기초하여 상기 지연 제어 신호를 제공한다. 상기 샘플링부는 상기 제어 클럭 신호에 응답하여 상기 발진하는 출력신호를 샘플링하여 랜덤 비트로 제공한다. 상기 제어 클럭 생성기는 상기 제어 클럭 신호를 생성한다.
상기 출력 신호 제공부는 상기 제1 제어 클럭 신호의 제1 레벨에서는 상기 하나의 능동 소자의 입력을 수렴 경로로 연결하고 상기 제1 제어 클럭 신호의 제2 레벨에서는 상기 하나의 능동 소자의 입력을 발진 경로로 연결하는 스위칭 소자; 및 상기 제1 제어 클럭 신호의 제2 레벨에서 상기 지연 제어 신호에 응답하여 상기 발진하는 출력 신호의 주파수를 결정하는 복수의 수동 지연 소자들을 구비하는 가 변 수동 지연부를 더 포함할 수 있다.
상기 지연 제어부는 상기 제어 클럭을 분주하는 분주기; 상기 분주된 제어 클럭 신호를 카운팅하는 카운터; 및 상기 카운터의 출력을 디코딩하여 상기 분주 제어 신호로서 상기 출력 신호 제공부에 제공하는 디코더를 포함할 수 있다.
상기 지연 제어부는 상기 제어 클럭을 분주하는 분주기; 상기 분주된 제어 클럭 신호에 대하여 선형 피드백 시프팅 동작을 수행하는 선형 피드백 시프트 레지스터(linear feedback shift register, LFSR); 및 상기 선형 피드백 시프트 레지스터의 출력을 디코딩하여 상기 분주 제어 신호로서 상기 출력 신호 제공부에 제공하는 디코더를 포함할 수 있다.
상기 샘플링부는 상기 제어 클럭을 분주하는 분주기; 상기 분주된 클럭 신호에 동기되어 상기 발진하는 출력 신호를 지연시키는 디-플립플롭; 상기 분주된 클럭 신호에 동기되어 상기 디-플립플롭의 출력을 순차적으로 저장하고 출력하는 시프트 레지스터; 및 상기 시프트 레지스터의 출력을 배타적 논리합 연산하여 상기 랜덤 비트로 제공하는 배타적 논리합 게이트를 포함할 수 있다.
상기한 본 발명의 일 목적을 달성하기 위하여 본 발명의 일 실시예에 따른 복합형 난수 발생기는 복수의 난수 발생부들, 배타적 논리합 게이트, 샘플링부를 포함한다. 상기 난수 발생부들은 클럭 신호에 응답하여 랜덤 신호들을 각각 생성한다. 배타적 논리합 게이트는 상기 랜덤 신호들을 배타적 논리합 연산한다. 상기 샘플링부는 샘플링 클럭 신호에 응답하여 상기 배타적 논리합 게이트의 출력을 샘플링하여 랜덤 비트로 제공한다. 상기 난수 발생부들 각각은 엔트로피(entropy) 소 스(source)로서 동작하는 하나의 능동소자를 포함하여, 상기 클럭 신호에 기초한 제1 제어 클럭 신호의 제1 레벨에서는 메타스테이블(meta-stable) 상태로 수렴하고, 상기 제1 제어 클럭 신호의 제2 레벨에서는 발진하는 출력 신호를 제공하는 출력 신호 제공부; 상기 클럭 신호에 기초한 제2 제어 클럭 신호에 동기되어 상기 발진하는 출력신호를 샘플링하여 랜덤 신호로 제공하는 샘플링부; 및 상기 제1 제어 클럭 신호와 상기 제2 제어 클럭 신호를 생성하는 제어 클럭 생성부를 포함한다.
상기 난수 발생부들 각각은 서로 다른 시점에서 인에블될 수 있다.
상기 난수 발생부들 각각은 서로 동시에 인에이블되고 상기 각각의 랜덤 신호들이 서로 다른 시점에서 상기 배타적 논리합 게이트에 제공될 수 있다.
본 발명에 실시예들에 따르면, 난수 발생기는 엔트로피 소스로서 동작하는 하나의 능동 소자만을 포함하여 구성되므로 공정 변화에 따른 트랜지스터들의 미스매치에 따른 영향을 감소시킬 수 있다.
본문에 개시되어 있는 본 발명의 실시예들에 대해서, 특정한 구조적 내지 기능적 설명들은 단지 본 발명의 실시예를 설명하기 위한 목적으로 예시된 것으로, 본 발명의 실시예들은 다양한 형태로 실시될 수 있으며 본문에 설명된 실시예들에 한정되는 것으로 해석되어서는 아니 된다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 본문에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 구성요소에 대해 사용하였다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위로부터 이탈되지 않은 채 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
도 1은 본 발명의 일 실시예에 따른 난수 발생기를 나타내는 블록도이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 난수 발생기(10)는 제어 클럭 생성부(100), 출력 신호 제공부(200) 및 샘플링부(400)를 포함한다.
제어 클럭 신호 생성부(100)는 클럭 생성기(110) 및 지연부(120)를 포함한다. 클럭 생성기(110)는 제1 제어 클럭 신호(CCLK1)를 생성하고, 지연부(120)는 제1 제어 클럭 신호(CCLK1)를 지연시켜 제2 제어 클럭 신호(CCLK2)로 제공한다.
출력 신호 제공부(200)는 엔트로피(entropy) 소스(source)로서 동작하는 하나의 능동소자(220)를 포함하여 제1 제어 클럭 신호(CCLK1)의 제1 레벨에서는 엔트 로피가 축적되어 메타스테이블(meta-stable) 상태로 수렴하고, 제1 제어 클럭 신호(CCLK1)의 제2 레벨에서는 발진하는 출력 신호(OUT)를 제공한다. 보다 구체적으로 출력 신호 제공부(200)는 스위칭 소자(210), 엔트로피(entropy) 소스(source)로서 동작하는 하나의 능동소자(220) 및 수동 지연부(300)를 포함하여 구성될 수 있다.
스위칭 소자(210)는 제1 제어 클럭 신호(CCLK1)의 제1 레벨에서는 능동소자(220)의 입력을 수렴 경로(S1)에 연결하고, 제1 제어 클럭 신호(CCLK1)의 제2 레벨에서는 능동소자(220)의 입력을 발진 경로(S2)로 연결한다. 후술하겠지만 제1 제어 클럭 신호(CCLK1)의 제1 레벨에서는 능동소자(220)의 입력과 출력이 서로 연결되어 능동소자(220)는 피드백 연결된다. 제1 제어 클럭 신호(CCLK1)의 제2 레벨에서는 능동소자(220)의 입력은 수동 지연부(300)의 출력과 연결되어 출력 신호 제공부(200)는 링 발진기로서 발진 동작을 수행하게 된다.
샘플링부(400)는 제2 제어 클럭 신호(CCLK2)에 동기되어 출력 신호(OUT)를 샘플링하여 랜덤 비트(RB)로 제공한다.
도 2는 본 발명의 일 실시예에 따른 도 1의 난수 발생기를 나타내는 회로도이다.
도 2를 참조하면, 난수 발생기(11)는 제어 클럭 생성부(100), 출력 신호 제공부(201) 및 샘플링부(410)를 포함하여 구성된다.
출력 신호 제공부(201)는 엔트로피(entropy) 소스(source)로서 동작하는 하나의 인버터(221)를 포함하여 제1 제어 클럭 신호(CCLK1)의 제1 레벨에서는 메타스 테이블(meta-stable) 상태로 수렴하고, 제1 제어 클럭 신호(CCLK1)의 제2 레벨에서는 발진하는 출력 신호(OUT)를 제공한다. 보다 구체적으로 출력 신호 제공부(201)는 3단자 스위치(211), 엔트로피(entropy) 소스(source)로서 동작하는 하나의 인버터(221) 및 수동 지연부(301)를 포함하여 구성될 수 있다. 즉 도 2의 실시예에서는 도 1의 스위칭 소자(210)가 3단자 스위치(211)로 구현되고, 엔트로피(entropy) 소스(source)로서 동작하는 하나의 능동 소자(220)가 인버터(221)로 구성된다.
수동 지연부(301)는 캐스케이드 연결되는 복수의 수동 지연 소자들(311, 312, 313)을 포함할 수 있다. 수동 지연 소자(311)는 트랜스미션 게이트(3111), 피모스 커패시터(3112) 및 엔모스 커패시터(3113)를 포함하여 구성된다. 여기서 트랜스미션 게이트(3111)는 엔모스 트랜지스터와 피모스 트랜지스터로 구성될 수 있고, 피모스 커패시터(3112)는 전원전압(VDD)에 연결되고, 연결 노드(N1)에서 트랜스미션 게이트(3111)와 연결된다. 또한 엔모스 커패시터(3113)는 접지전압에 연결되고, 연결 노드(N1)에서 트랜스미션 게이트(3111)와 연결된다. 수동 지연 소자(312)는 트랜스미션 게이트(3121), 피모스 커패시터(3122) 및 엔모스 커패시터(3123)를 포함하여 구성된다. 여기서 트랜스미션 게이트(3121)는 엔모스 트랜지스터와 피모스 트랜지스터로 구성될 수 있고, 피모스 커패시터(3122)는 전원전압(VDD)에 연결되고, 연결 노드(N2)에서 트랜스미션 게이트(3121)와 연결된다. 또한 엔모스 커패시터(3123)는 접지전압에 연결되고, 연결 노드(N2)에서 트랜스미션 게이트(3121)와 연결된다. 수동 지연 소자(313)는 트랜스미션 게이트(3131), 피모스 커패시터(3132) 및 엔모스 커패시터(3133)를 포함하여 구성된다. 여기서 트랜스미션 게이 트(3131)는 엔모스 트랜지스터와 피모스 트랜지스터로 구성될 수 있고, 피모스 커패시터(3132)는 전원전압(VDD)에 연결되고, 연결 노드(N3)에서 트랜스미션 게이트(3131)와 연결된다. 또한 엔모스 커패시터(3133)는 접지전압에 연결되고, 연결 노드(N3)에서 트랜스미션 게이트(3131)와 연결된다. 수동 지연부(301)를 구성하는 트랜지스터들은 모두 표준 CMOS 공정에 의해 제조되며 수동 소자들이다. 즉 출력 전압 제공부(201)는 하나의 능동 소자(여기서는 인버터(221))만을 포함하여 구성된다.
샘플링부(410)는 디플립플롭으로 구성되어 제2 제어 클럭 신호(CCLK2)에 동기되어 출력 신호(OUT)를 샘플링하여 랜덤 비트(RB)로 제공한다.
도 3은 본 발명의 다른 실시예에 따른 도 1의 난수 발생기를 나타내는 회로도이다.
도 3을 참조하면, 난수 발생기(12)는 제어 클럭 생성부(100), 출력 신호 제공부(202) 및 샘플링부(410)를 포함하여 구성된다.
도 3의 난수 발생기(12)가 도 2의 난수 발생기(11)와 차이가 나는 점은 출력 신호 제공부(202)를 구성하는 스위칭 소자가 도 2와는 달리 멀티플렉서(212)로 구현된다는 점이다. 다른 구성요소들은 도 2의 난수 발생기(11)와 동일하므로 다른 구성요소들에 대한 상세한 설명은 생략한다. 도 3의 난수 발생기(12)에서 스위칭 소자로 동작하는 멀티플렉서(212)는 제어 단자에 제1 제어 클럭 신호(CCLK1)가 인가되어 제1 제어 클럭 신호(CCLK1)의 제1 레벨에서는 능동소자(220)의 입력을 수렴 경로(S1)에 연결하고, 제1 제어 클럭 신호(CCLK1)의 제1 레벨에서는 능동소자(220) 의 입력을 발진 경로(S2)로 연결한다.
도 4는 제1 제어 클럭 신호가 제1 레벨일 때 인버터의 연결관계를 나타낸다.
도 4를 참조하면, 제1 제어 클럭 신호(CCLK1)가 제1 레벨일 때, 엔트로피 소스로서 동작하는 인버터(221)는 입력과 출력이 연결되어 피드백 루프를 구성한다. 여기서 인버터(221) 자체의 딜레이가 인버터(221)의 출력으로부터 인버터(221)의 입력까지의 피드백 루프의 딜레이보다 크면, 인버터(221)의 출력은 메타스테이블(meta-stable; 준안정) 상태를 유지하게 된다. 인버터(221)의 출력이 메타스테이블 상태를 유지하는 동안은 인버터(221)의 출력은 논리 하이나 논리 로우로 해석되지 않는다. 제1 제어 클럭 신호(CCLK1)가 제1 레벨일 때, 인버터(221)의 출력은 도 3의 수동 지연부(301)의 수동 지연 소자들(311, 312, 313)에 연결된다. 여기서 제1 제어 클럭 신호(CCLK1)가 제1 레벨일 때, 인버터(221)의 출력은 논리 하이나 논리 로우로 해석되지 않으므로 출력 신호(OUT)도 메타스테이블 상태가 된다.
도 5는 도 3의 난수 발생기에서 입출력되는 신호들을 나타낸다.
도 6은 도 3의 난수 발생기에서 제공되는 출력 신호를 설명하기 위한 도면이다.
도 5를 참조하면, 도 3의 난수 발생기(12)의 제어 클럭 신호 생성부(100)에서는 일정한 주기를 갖는 제1 제어 클럭 신호(CCLK1)를 생성한다. 본 발명의 실시예에 따른 난수 발생기(12)의 동작은 크게 두 가지의 동작 모드로 나누어진다. 첫 번째 동작 모드는 제1 제어 클럭 신호(CCLK1)가 제1 레벨(예를 들어, 로우 레벨)일 때의 동작모드이다. 두 번째 동작 모드는 제1 제어 클럭 신호(CCLK1)가 제2 레벨 (예를 들어 하이 레벨)일 때의 동작모드이다.
제1 동작 모드는 참조번호(23)에서 'MS'로 표시되는 모드로 스위칭 소자(도1의 210)가 S1(수렴 경로)에 연결되거나 또는 도 3의 멀티플렉서(212)가 S1(수렴 경로)을 선택하는 모드이다. 도 3의 멀티플렉서(212)가 S1(수렴 경로)을 선택함으로써 인버터(221)는 입력과 출력이 연결되는 피드백 루프를 구성한다. 따라서 제1 동작 모드에서는 상술한 바와 같이 메타스테이블한 상태의 전압이 출력 전압(OUT)으로 제공된다.
제2 동작 모드는 참조 번호(23)에서 'Gener.'로 표시되는 모드로서, 스위칭 단자(도1의 210)가 S2(수렴 경로)에 연결되거나 또는 도 3의 멀티플렉서(212)가 S2(수렴 경로)를 선택하는 모드이다. 멀티플렉서(212)가 S2(수렴 경로)를 선택함으로써 인버터(221)와 수동 지연부(301)의 수동 지연 소자들(311, 312, 313)은 링 발진기를 형성하게 되어 메타스테이블한 전압에 대하여 발진 증폭 동작을 수행하여 발진하는 출력 신호(OUT)를 제공한다. 제2 동작 모드에서 인버터(211) 자체의 지연은 수동 지연부(301)의 수동 지연 소자들(311, 312, 313)의 지연보다 작으면 풀 레인지(full-range)의 발진이 발생하게 된다.
또한 제1 동작 모드에서 인버터(211)의 게인과 수동 지연부(301)의 수동 지연 소자들(311, 312, 313)의 전달함수의 게인의 곱이 1보다 크게 되면, 풀 레인지(full-range)의 발진이 더 잘 발생하게 된다. 여기서 수동 지연부(301)의 수동 지연 소자들(311, 312, 313)은 수동(passive)이기 때문에 수동 지연부(301)의 전달함수의 게인은 1보다 작은 양의 실수가 된다. 따라서 제1 동작 모드에서 인버 터(211)의 게인은 1보다 훨씬 커야 한다. 또한 제1 동작 모드에서 인버터(211)의 출력 신호의 페이즈와 레벨은 인버터(211) 자체의 내부 노이즈(열적 노이즈)에 의하여 결정되므로 인버터(211)는 엔트로피원으로서의 역할을 잘 수행할 수 있다. 인버터(211)는 엔트로피원으로서의 역할을 잘 수행하면, 제2 동작 모드에서 발진하는 출력 신호(OUT)는 랜덤하게되고 예측할 수 없게 되어 랜덤 비트(RB)의 무작위성은 증가하게 되어 난수 발생기(12)의 성능은 향상되게 된다. 또한 여기서 인버터(211)만이 능동 소자로 구성되기 때문에 인버터(211)와 수동 지연부(301)을 구성하는 트랜지스터들의 미스매치는 제1 동작 모드에서 메타스테이블한 상태의 출력신호(OUT)에 영향을 미치지 않는다. 또한 인버터(211)의 문턱값이 변하더라도 인버터(211)의 출력의 메타스테이블한 상태는 인버터(211)의 문턱값을 따라 변화하므로 인버터(211)의 출력은 인버터(211)의 문턱값에 수렴하게 된다.
도 2와 도 3에서는 도 1의 능동 소자(220)로서 인버터를 예를 들어 설명하였으나, 도 1의 능동 소자(220)는 낸드 게이트 또는 노어 게이트 등을 이용할 수 있다. 도 1의 능동 소자(220)는 낸드 게이트 또는 노어 게이트 등으로 구현되는 경우에는 두 개의 입력단자는 하나의 입력 신호(인버터의 입력으로 입력되는 신호와 대응)를 공통으로 입력받는다.
도 6은 출력 신호 제공부에서 출력되는 출력 신호를 나타낸다.
도 6을 참조하면, 구간(t0)에서 제1 제어 클럭 신호(CCLK1)가 제1 레벨인 제1 동작모드에서는 능동 소자, 즉 인버터(221)에서 출력되는 메타스테이블 상태의 전압이 출력 신호(OUT)로 제공된다. 인버터(221)에서 출력되는 메타스테이블 상태 의 전압은 참조번호들(31, 32)로 도시되었다. 제1 제어 클럭 신호(CCLK1)가 제2 레벨인 제2 동작 모드에서는 인버터(221)와 수동 지연부(301)의 수동 지연 소자들(311, 312, 313)은 링 발진기를 형성하게 되어 발진하는 출력 신호(OUT)가 출력 신호 제공부(301)에서 제공된다. 제2 동작 모드에서 발진하는 출력 신호(OUT)는 곡선들(33, 34)로 도시되었다.
인버터(221)에서는 회로 동작에 의하여 열 등이 발생하게 된다. 여기서 발생하는 열은 비가역성을 가지는 노이즈 원이 된다. 즉 인버터의 자체의 열적 노이즈(thermal noise)를 가진다. 제1 동작모드(t0 구간)에서는 메타 스테이블한 상태의 전압이 출력된다. 이러한 열적 노이즈는 불규칙한 것으로 제2 동작모드에서 위쪽 또는 아래쪽으로 발진 동작을 시작하게 된다. 위쪽 또는 아래쪽으로의 발진 동작은 랜덤하게 시작되므로 이를 기초로한 랜덤 비트도 불규칙하게 된다. 곡선(33)은 메타스테이블한 상태의 전압이 위쪽으로 먼저 발진동작을 시작한 경우이다. 곡선(34)은 메타스테이블한 상태의 전압이 위쪽으로 먼저 발진동작을 시작한 경우이다.
어느 방향으로 먼저 발진 동작을 시작하는지에 따라서, 샘플링(410)에서 샘플링되는 값이 달라지게 된다. 'A1' 구간을 예로 들면, 곡선(33)에서는 하이 레벨 값이 샘플링되나, 곡선(34)에서는 로우 레벨 값이 샘플링되게 된다. 본 발명의 실시예에 따른 난수 발생기(12)에서는 하이 레벨 값이 샘플링 될지 로우 레벨 값이 샘플링 될지 하이 레벨 값이 샘플링 될지 알 수 없는 배주기성 및 예측 불가능성을 갖는다.
샘플링부(140)의 샘플링 동작은 발진이 안정적으로 이루어지는 구간(t2)에서 이루어지게 된다.
구간(t1)은 변이 절차(transition process)가 이뤄지는 구간이다. 즉 발진이 시작되면 점차적으로 진폭(amplitude)이 커지다가 일정 값으로 수렴하게 된다. 이때 발진 시작 지접부터 수렴이 완료되는 시점까지의 구간(t1)을 변이 절차 구간이라고 한다. 변이 절차 구간의 소요 시간은 매우 작은 값(일반적으로 nano sec. 값을 가짐)이며, 일반적으로 수 주기 이내에 이루어진다. 또한, 샘플링 부(410)의 샘플링 동작은 변이 절차 구간(t1)이 경과한 후에 이루어져야 하므로, 샘플링 클럭인 제2 제어 클럭 신호(CCLK2)는 제1 제어 클럭 신호(CCLK2)에 비하여 일정 지연량만큼 위상 지연된 신호가 된다. 여기서, '일정 지연량'이란 상술한 변이 절차 구간(t1)의 시간을 고려하여 결정될 수 있다. 변이 절차 구간(t1)은 최대 전압 진폭, 또는 인버팅 소자(예를 들어, 인버터)의 사양 등에 의하여 달라질 수 있는 값이다.
엔트로피 소스로서 동작하는 인버터(221)의 열적 노이즈가 매 동작시마다 달라지므로 제2 동작 모드에서 발진하는 방향에 있어서 불규칙성을 갖는다. 따라서 샘플링부(410)에서 출력되는 랜덤 비트(RB)는 참조번호(25)에 나타나듯이 1, 1, 0, 1로서 무작위성을 갖게 되는 것이다. 참조번호(25)에서 사선으로 표시된 부분은 메타 스테이블한 상태의 전압이 샘플링부(410)에 인가되어 샘플링부(140)는 이 메타 스테이블한 상태의 전압을 논리 하이나 논리 로우로 인식하지 않기 때문에 샘플링부(140)가 랜덤 비트를 출력하지 않는 것을 나타낸다.
도 7은 본 발명의 또 다른 실시예에 따른 도 1의 난수 발생기를 나타내는 회 로도이다.
도 7을 참조하면, 난수 발생기(13)는 제어 클럭 생성부(100), 출력 신호 제공부(203) 및 샘플링부(410)를 포함하여 구성된다.
도 7의 난수 발생기(13)가 도 3의 난수 발생기(12)와 차이가 나는 점은 출력 신호 제공부(202)를 구성하는 능동 소자가 도 3과는 달리 낸드 게이트(222)로 구현된다는 점이다. 다른 구성요소들은 도 3의 난수 발생기(12)와 동일하므로 다른 구성요소들에 대한 상세한 설명은 생략한다. 낸드 게이트(222)에는 멀티 플렉서(212)의 출력이 공통으로 입력된다.
도 8은 본 발명의 또 다른 실시예에 따른 도 1의 난수 발생기를 나타내는 회로도이다.
도 8을 참조하면, 난수 발생기(14)는 제어 클럭 생성부(100), 출력 신호 제공부(204) 및 샘플링부(410)를 포함하여 구성된다.
도 8의 난수 발생기(14)가 도 3의 난수 발생기(12)와 차이가 나는 점은 출력 신호 제공부(204)의 수동 지연부(302)를 구성하는 복수의 수동 지연 소자들(321, 322, 323)에 있어서이다. 수동 지연 소자(321)는 피모스 커패시터(3211) 및 엔모스 커패시터(3212)를 포함하여 구성된다. 피모스 커패시터(3211)는 전원전압(VDD)에 연결되고 엔모스 커패시터(3212)는 접지전압에 연결된다. 피모스 커패시터(3211)과 엔모스 커패시터(3212)는 연결노드(N1)에서 서로 연결된다. 수동 지연 소자(322)는 피모스 커패시터(3221) 및 엔모스 커패시터(3222)를 포함하여 구성된다. 피모스 커패시터(3221)는 전원전압(VDD)에 연결되고 엔모스 커패시터(3222)는 접지전압에 연 결된다. 피모스 커패시터(3221)과 엔모스 커패시터(3222)는 연결노드(N2)에서 서로 연결된다. 수동 지연 소자(323)는 피모스 커패시터(3231) 및 엔모스 커패시터(3232)를 포함하여 구성된다. 피모스 커패시터(3231)는 전원전압(VDD)에 연결되고 엔모스 커패시터(3232)는 접지전압에 연결된다. 피모스 커패시터(3231)와 엔모스 커패시터(3232)는 연결노드(N2)에서 서로 연결된다. 다른 구성요소들은 도 3의 난수 발생기(12)와 동일하므로 다른 구성요소들에 대한 상세한 설명은 생략한다. 수동 지연부(321)를 구성하는 모스 트랜지스터들은 모두 표준 CMOS 공정에 의해 제조되며 수동 소자들이다.
도 9는 본 발명의 또 다른 실시예에 따른 도 1의 난수 발생기를 나타내는 회로도이다.
도 9를 참조하면, 난수 발생기(15)는 제어 클럭 생성부(100), 출력 신호 제공부(205) 및 샘플링부(410)를 포함하여 구성된다.
도 9의 난수 발생기(15)가 도 3의 난수 발생기(12)와 차이가 나는 점은 출력 신호 제공부(205)의 수동 지연부(303)를 구성하는 복수의 수동 지연 소자들(331, 332, 333)에 있어서이다.
수동 지연 소자(331)는 멀티플렉서(3311), 피모스 커패시터(3312) 및 엔모스 커패시터(3313)를 포함하여 구성된다. 피모스 커패시터(3312)는 전원전압(VDD)에 연결되고, 연결 노드(N1)에서 멀티플렉서(3311)와 연결된다. 또한 엔모스 커패시터(3313)는 접지전압에 연결되고, 연결 노드(N1)에서 멀티플렉서(3311)와 연결된다. 멀티플렉서(3311)에는 하나의 입력이 공통으로 인가된다. 수동 지연 소자(332) 는 멀티플렉서(3321), 피모스 커패시터(3322) 및 엔모스 커패시터(3323)를 포함하여 구성된다. 여기서 피모스 커패시터(3322)는 전원전압(VDD)에 연결되고, 연결 노드(N2)에서 멀티플렉서(3321)와 연결된다. 또한 엔모스 커패시터(3323)는 접지전압에 연결되고, 연결 노드(N2)에서 멀티플렉서(3321)와 연결된다. 멀티플렉서(3321)에는 하나의 입력이 공통으로 인가된다. 수동 지연 소자(333)는 멀티플렉서(3331), 피모스 커패시터(3332) 및 엔모스 커패시터(3333)를 포함하여 구성된다. 여기서 피모스 커패시터(3332)는 전원전압(VDD)에 연결되고, 연결 노드(N1)에서 멀티플렉서(3331)와 연결된다. 또한 엔모스 커패시터(3333)는 접지전압에 연결되고, 연결 노드(N1)에서 멀티플렉서(3331)와 연결된다. 수동 지연부(301)를 구성하는 소자들은 모두 표준 CMOS 공정에 의해 제조되며 수동 소자들이다.
도 10은 본 발명의 또 다른 실시예에 따른 도 1의 난수 발생기를 나타내는 회로도이다.
도 10을 참조하면, 난수 발생기(16)는 제어 클럭 생성부(100), 출력 신호 제공부(206) 및 샘플링부(410)를 포함하여 구성된다.
도 10의 난수 발생기(16)가 도 9의 난수 발생기(15)와 차이가 나는 점은 출력 신호 제공부(206)의 수동 지연부(304)를 구성하는 복수의 수동 지연 소자들(341, 342, 343)에 있어서이다.
수동 지연 소자(341)는 멀티플렉서(3411) 및 커패시터(3412)를 포함한다. 멀티플렉서(3411)와 커패시터(3412)는 연결노드(N1)에서 연결되고, 커패시터(3412)는 접지 전압에 연결된다. 멀티플렉서(3411)에는 하나의 입력이 공통으로 인가된다. 수동 지연 소자(342)는 멀티플렉서(3421) 및 커패시터(3422)를 포함한다. 멀티플렉서(3421)와 커패시터(3422)는 연결노드(N2)에서 연결되고, 커패시터(3422)는 접지 전압에 연결된다. 멀티플렉서(3421)에는 하나의 입력이 공통으로 인가된다. 수동 지연 소자(343)는 멀티플렉서(3431) 및 커패시터(3432)를 포함한다. 멀티플렉서(3431)와 커패시터(3432)는 연결노드(N1)에서 연결되고, 커패시터(3432)는 접지 전압에 연결된다. 멀티플렉서(3431)에는 하나의 입력이 공통으로 인가된다. 수동 지연부(304)를 구성하는 소자들은 모두 수동 소자들이다.
도 11은 본 발명의 또 다른 실시예에 따른 도 1의 난수 발생기를 나타내는 회로도이다.
도 11을 참조하면, 난수 발생기(17)는 제어 클럭 생성부(100), 출력 신호 제공부(207) 및 샘플링부(410)를 포함하여 구성된다.
도 11의 난수 발생기(17)가 도 10의 난수 발생기(16)와 차이가 나는 점은 출력 신호 제공부(207)의 수동 지연부(305)를 구성하는 복수의 수동 지연 소자들(351, 352, 353)에 있어서이다.
수동 지연 소자(351)는 멀티플렉서(3511)를 포함한다. 멀티플렉서(3511)에는 하나의 입력이 공통으로 인가된다. 수동 지연 소자(352)는 멀티플렉서(3521)를 포함한다. 멀티플렉서(3521)에는 하나의 입력이 공통으로 인가된다. 수동 지연 소자(353)는 멀티플렉서(3531)를 포함한다. 멀티플렉서(3531)에는 하나의 입력이 공통으로 인가된다. 수동 지연부(305)를 구성하는 소자들은 모두 수동 소자들이다.
도 12는 본 발명의 또 다른 실시예에 따른 도 1의 난수 발생기를 나타내는 회로도이다.
도 12를 참조하면, 난수 발생기(18)는 제어 클럭 생성부(102), 출력 신호 제공부(208) 및 샘플링부(410)를 포함하여 구성된다.
도 12의 난수 발생기(18)가 도 11의 난수 발생기(17)와 차이가 나는 점은 제어 클럭 생성부(102)를 구성하는 지연소자가 인버터(121)로 구성된다는 점이다.
도 13은 본 발명의 또 다른 실시예에 따른 도 1의 난수 발생기를 나타내는 회로도이다.
도 13을 참조하면, 난수 발생기(19)는 제어 클럭 생성부(100), 출력 신호 제공부(209) 및 샘플링부(410)를 포함하여 구성된다.
도 13의 난수 발생기(19)가 도 11의 난수 발생기(17)와 차이가 나는 점은 출력 신호 제공부(209)의 수동 지연부(306)가 배타적 논리합 게이트(364)를 더 포함한다는 것이다.
수동 지연부(306)는 수동 지연 소자들(361, 362, 363) 및 배타적 논리합 게이트(364)를 포함한다. 수동 지연 소자(361)는 멀티플렉서(3611)를 포함한다. 멀티플렉서(3611)에는 하나의 입력이 공통으로 인가된다. 수동 지연 소자(362)는 멀티플렉서(3621)를 포함한다. 멀티플렉서(3621)에는 하나의 입력이 공통으로 인가된다. 수동 지연 소자(363)는 멀티플렉서(3631)를 포함한다. 멀티플렉서(3631)에는 하나의 입력이 공통으로 인가된다. 멀티플렉서들(3611, 3621, 3613)의 출력들은 배타적 논리합 게이트(364)에 연결된다. 배타적 논리합 게이트(364)의 출력은 샘플링부(410)를 구성하는 디플립플롭에 연결되어 제2 제어 클럭 신호(CCLK2)에 동기되어 샘플링된다. 멀티플렉서들(3611, 3621, 3613)의 출력들이 배타적 논리합 게이트(364)에 연결되면, 도 6을 참조하여 설명된 전이 구간(t1)에서의 샘플링 확률이 증가하게 된다. 또한 배타적 논리합 게이트(364)에 연결되는 멀티플렉서들(3611, 3621, 3613)의 출력들의 개수는 탭(미도시)을 사용하여 가변적으로 선택될 수 있다.
도 14는 본 발명의 일 실시예에 따른 난수 발생기를 나타내는 블록도이다.
도 14를 참조하면, 본 발명의 일 실시예에 따른 난수 발생기(50)는 제어 클럭 생성기(510), 출력 신호 제공부(600), 샘플링부(8000) 및 지연 제어부(900)를 포함한다.
제어 클럭 생성기(510)는 제어 클럭 신호(CCLK)을 생성하여 출력 신호 제공부(600), 샘플링부(800) 및 지연 제어부(900)에 제공한다. 도 14에서는 제어 클럭 생성기(510)가 하나의 제어 클럭 신호(CCLK)를 생성하는 것으로 도시되었으나, 제어 클럭 생성기(510)는 복수의 제어 클럭을 생성하여 각각 출력 신호 제공부(600), 샘플링부(800) 및 지연 제어부(900)에 제공할 수도 있다.
출력 신호 제공부(600)는 엔트로피 소스로서 동작하는 하나의 능동 소자(620)를 포함하여, 제어 클럭 신호(CCLK)의 제1 레벨에서는 메타스테이블 엔트로피가 축적되어 메타스테이블(meta-stable) 상태로 수렴하고, 제어 클럭 신호(CCLK)의 제2 레벨에서는 발진하는 출력 신호(OUT)를 제공하되, 발진하는 출력 신호(OUT)신호의 주파수는 지연 제어부(900)에서 제공되는 지연 제어 신호(DCS)에 의하여 가변될 수 있다. 보다 구체적으로 출력 신호 제공부(600)는 스위칭 소자(610), 엔트 로피(entrophy) 소스(source)로서 동작하는 하나의 능동소자(620) 및 가변 수동 지연부(700)를 포함하여 구성될 수 있다.
스위칭 소자(610)는 제어 클럭 신호(CCLK)의 제1 레벨에서는 능동소자(620)의 입력을 수렴 경로(S1)에 연결하고, 제어 클럭 신호(CCLK)의 제2 레벨에서는 능동소자(620)의 입력을 발진 경로(S2)로 연결한다. 후술하겠지만 제어 클럭 신호(CCLK)의 제1 레벨에서는 능동소자(620)의 입력과 출력이 서로 연결되어 능동소자(620)는 피드백 연결된다. 제어 클럭 신호(CCLK)의 제2 레벨에서는 능동소자(620)의 입력은 가변 수동 지연부(700)의 출력과 연결되어 출력 신호 제공부(600)는 링 발진기로서 발진 동작을 수행하게 된다. 이 때 가변 수동 지연부(700)에 인가되는 지연 제어 신호(DCS)에 의하여 발진하는 출력 신호(OUT)의 주파수가 가변될 수 있다.
샘플링부(800)는 제어 클럭 신호(CCLK)에 응답하여 발진하는 출력 신호(OUT)를 샘플링하여 랜덤 비트(RB)로 제공한다.
지연제어부(900)는 제어 클럭 신호(CCLK)에 기초하여 지연 제어 신호(DCS)를 생성하고, 생성된 지연 제어 신호(DCS)를 가변 수동 지연부(700)에 제공한다.
도 15 본 발명의 일 실시예에 따른 도 14의 난수 발생기를 나타내는 회로도이다.
도 15를 참조하면, 난수 발생기(51)는 제어 클럭 생성기(510), 출력 신호 제공부(601) 및 샘플링부(800)를 포함하여 구성된다.
출력 신호 제공부(601)는 엔트로피(entrophy) 소스(source)로서 동작하는 하 나의 인버터(621)를 포함하여 제어 클럭 신호(CCLK)의 제1 레벨에서는 메타스테이블(meta-stable) 상태로 수렴하고, 제어 클럭 신호(CCLK)의 제2 레벨에서는 지연 제어 신호(DCS)에 의하여 주파수가 가변되는 발진하는 출력 신호(OUT)를 제공한다. 보다 구체적으로 출력 신호 제공부(601)는 3단자 스위치(611), 엔트로피(entrophy) 소스(source)로서 동작하는 하나의 인버터(621) 및 수동 지연부(701)를 포함하여 구성될 수 있다. 즉 도 15의 실시예에서는 도 14의 스위칭 소자(610)가 3단자 스위치(611)로 구현되고, 엔트로피(entrophy) 소스(source)로서 동작하는 하나의 능동 소자(620)가 인버터(621)로 구성된다.
수동 지연부(701)는 캐스케이드 연결되는 복수의 수동 지연 소자들(711, 712, 713)과 복수의 스위치들(714, 715, 716)을 포함할 수 있다. 수동 지연 소자(711)는 트랜스미션 게이트(7111), 피모스 커패시터(7112) 및 엔모스 커패시터(7113)를 포함하여 구성된다. 여기서 트랜스미션 게이트(7111)는 엔모스 트랜지스터와 피모스 트랜지스터로 구성될 수 있고, 피모스 커패시터(7112)는 전원전압(VDD)에 연결되고, 연결 노드(N1)에서 트랜스미션 게이트(7111)와 연결된다. 또한 엔모스 커패시터(7113)는 접지전압에 연결되고, 연결 노드(N1)에서 트랜스미션 게이트(7111)와 연결된다. 수동 지연 소자(712)는 트랜스미션 게이트(7121), 피모스 커패시터(7122) 및 엔모스 커패시터(7123)를 포함하여 구성된다. 여기서 트랜스미션 게이트(7121)는 엔모스 트랜지스터와 피모스 트랜지스터로 구성될 수 있고, 피모스 커패시터(7122)는 전원전압(VDD)에 연결되고, 연결 노드(N2)에서 트랜스미션 게이트(7121)와 연결된다. 또한 엔모스 커패시터(7123)는 접지전압에 연결되고, 연결 노드(N2)에서 트랜스미션 게이트(7121)와 연결된다. 수동 지연 소자(713)는 트랜스미션 게이트(7131), 피모스 커패시터(7132) 및 엔모스 커패시터(7133)를 포함하여 구성된다. 여기서 트랜스미션 게이트(7131)는 엔모스 트랜지스터와 피모스 트랜지스터로 구성될 수 있고, 피모스 커패시터(7132)는 전원전압(VDD)에 연결되고, 연결 노드(N3)에서 트랜스미션 게이트(3131)와 연결된다. 또한 엔모스 커패시터(7133)는 접지전압에 연결되고, 연결 노드(N3)에서 트랜스미션 게이트(7131)와 연결된다.
스위치들(714, 145, 716)은 각각 노드들(M1, M2, M3)과 발진 경로(S2) 사이에 연결된다. 노드들((M1, M2, M3)은 각각 연결 노드들(N1, N2, N3)와 연결된다. 지연 제어 신호(DCS)에 의하여 스위치들(714, 145, 716) 중 하나가 연결되면, 연결되는 스위치에 의하여 출력 신호 제공부(604)가 발진 동작을 수행할 때(즉 제어 클럭 신호의 제2 레벨에서)의 지연량이 결정되어 발진하는 출력 신호(OUT)의 주파수가 결정된다. 즉 지연 제어 신호(DCS)에 의하여 연결되는 스위치에 따라 발진동작을 수행하는 복수의 수동 지연 소자들(711, 712, 713)의 수가 달라져서 발진하는 출력 신호(OUT)의 주파수가 달라진다.
수동 지연부(701)를 구성하는 트랜지스터들은 모두 표준 CMOS 공정에 의해 제조되며 수동 소자들이다. 즉 출력 전압 제공부(601)는 하나의 능동 소자(여기서는 인버터(621))만을 포함하여 구성된다.
도 16은 도 15의 난수 발생기의 신호들을 나타내는 도면이다.
도 16을 참조하면, 도 15의 난수 발생기(51)의 제어 클럭 생성기(510)에서는 일정한 주기를 갖는 제어 클럭 신호(CCLK)를 생성한다.
본 발명의 실시예에 따른 난수 발생기(15)의 동작은 크게 두 가지의 동작 모드로 나누어진다. 첫 번째 동작 모드는 제어 클럭 신호(CCLK)가 제1 레벨(예를 들어, 로우 레벨)일 때의 동작모드이다. 두 번째 동작 모드는 제제어 클럭 신호(CCLK)가 제2 레벨(예를 들어 하이 레벨)일 때의 동작모드이다.
제1 동작모드에서는 스위칭 소자(도 15의 611)가 S1(수렴 경로)에 연결되고, 제2 동작모드에서는 스위칭 소자(611)가 S2(발진 경로)에 연결된다. 스위칭 소자(611)가 S1(수렴 경로)에 연결되면 인버터(621)는 입력과 출력이 연결되는 피드백 루프를 구성한다. 따라서 제1 동작 모드에서는 상술한 바와 같이 메타스테이블한 상태의 전압이 출력 전압(OUT)으로 제공된다.
제2 동작모드에서 스위칭 소자(611)가 S1(수렴 경로)에 연결되면 인버터(221)와 수동 지연부(301)의 수동 지연 소자들(311, 312, 313)중 지연 제어 신호(DCS)에 의하여 선택되는 일부 또는 전부는 링 발진기를 형성하게 되고 메타스테이블한 전압에 대하여 발진 증폭 동작을 수행하여 주파수가 변화하는 발진하는 출력 신호(OUT)를 제공한다. 샘플링 클럭 신호(SAMPLING CLK)에 기초하여 발진하는 출력 신호(OUT)가 샘플링되어 랜더비트(RB)로 제공된다. 여기서 샘플링 클럭 신호(SAMPLING CLK)는 제어 클럭 신호(CCLK)에 응답하여 샘플링부(800) 내부에서 생성되는 신호이다.
도 17은 본 발명의 다른 실시예에 따른 도 14의 난수 발생기를 나타내는 회로도이다.
도 17을 참조하면, 난수 발생기(52)는 제어 클럭 생성부(510), 출력 신호 제공부(602), 샘플링부(800) 및 지연 제어부(900)를 포함하여 구성된다.
도 17의 난수 발생기(52)가 도 15의 난수 발생기(51)와 차이가 나는 점은 출력 신호 제공부(602)의 가변 수동 지연부(702)의 구성에 있어서이다. 다른 구성요소들은 도 15의 난수 발생기(51)와 동일하므로 다른 구성요소들에 대한 상세한 설명은 생략한다. 가변 수동 지연부(702)는 복수의 디멀티플렉서들(721, 722), 인버터(723) 및 패스 게이트(724)를 포함하여 구성된다. 디멀티플렉서들(721, 722)의 제어 단자에는 지연 제어 신호(DCS)가 인가되고, 제1 출력단자는 발진경로(S2)에 연결되고, 제2 출력단자는 다음의 디멀티플렉서에 연결된다. 최종 디멀티플렉서(미도시)의 제2 출력단자는 패스 게이트(724)에 연결되고, 패스게이트의 제어 단자들은 인버터(723)에 연결된다. 디멀티플렉서들(721, 722, ...)은 딜레이 체인을 형성하는데 제2 동작 모드에서 지연 제어 신호(DCS)에 의하여 디멀티플렉서들(721, 722, ...) 중 일부 또는 하나가 인버터(623)와 함께 링 발진기를 형성하게 된다. 링 발진기에 포함되는 디멀티플렉서들(721, 722, ...)의 개수에 따라 발진하는 출력 신호(OUT)의 주파수가 달라지게 된다.
도 18은 본 발명의 또 다른 실시예에 따른 도 14의 난수 발생기를 나타내는 회로도이다.
도 18을 참조하면, 난수 발생기(53)는 제어 클럭 생성기(520), 출력 신호 제공부(603) 샘플링부(810) 및 지연 제어부(910)를 포함하여 구성된다. 도 18의 난수 발생기(53)는 출력 신호 제공부(603), 샘플링부(810) 및 지연 제어부(910)의 구성 에 있어서 도 17의 난수 발생기(52)와 차이가 있다.
출력 신호 제공부(603)는 제어 클럭 신호(CCLK)를 지연시켜 멀티플렉서(613)의 제어 신호로서 제공하는 지연기(325)를 포함하는 점이 도 17의 난수 발생기(52)의 출력 신호 제공부(702)와 차이가 있다.
샘플링부(810)는 분주기(811), 디플립플롭(812), 시프트 레지스터(813) 및 배타적 논리합 게이트(814)를 포함한다.
분주기(811)는 제어 클럭 신호(CCLK)를 2분주하여 디플립플롭(812)에 제공한다. 디플립플롭(812)은 분주된 제어 클럭 신호에 동기되어 발진하는 출력 신호(OUT)를 샘플링하여 시프트 레지스터(813)에 제공한다. 시프트 레지스터(813)는 디플립플롭(812)의 출력인 샘플링된 출력 신호를 분주된 클럭 신호에 응답하여 순차적으로 저장하고 출력한다. 배타적 논리합 게이트(814)는 시프트 레지스터(813)의 출력에 대하여 배타적 논리합 연산을 수행하여 랜덤 비트(RB)로 제공한다. 시프트 레지스터(813)의 출력에 대하여 배타적 논리합 연산을 수행하면, 트랜지션 구간에서의 샘플링 확률을 증가시킬 수 있다.
지연 제어부(910)는 분주기(911), 카운터(912) 및 디코더(913)를 포함하여 구성된다.
분주기(911)는 제어 클럭 신호(CCLK)를 2분주하여 카운터(912)에 제공한다. 카운터(912)는 분주기(911)의 출력인 분주된 제어 클럭 신호(CCLK)를 카운팅하여 디코더(913)에 제공한다. 디코더(913)는 카운터(912)의 출력을 디코딩하여 지연 제어 신호(DCS)로서 멀티플렉서들(721, 722)에 제공한다. 지연 제어 신호(DCS)에 따 라 멀티플렉서들(721, 722)의 입력이 제1 출력 단자(상위 출력 단자) 또는 제2 출력 단자(하위 출력 단자) 중 하나로 연결된다. 예를 들어 멀티플렉서(721)의 입력이 제1 출력단자로 연결되면 제2 동작 모드에서 링 발진기에는 멀티플렉서(721)가 포함된다. 예를 들어 멀티플렉서(721)의 입력이 제2 출력단자에 연결되고, 멀티플렉서(722)의 입력이 제1 출력단자에 연결되면, 제2 동작 모드에서 링 발진기에는 멀티플렉서들(721, 723)이 포함된다.
도 19는 본 발명의 또 다른 실시예에 따른 도 14의 난수 발생기를 나타내는 회로도이다.
도 19를 참조하면, 난수 발생기(54)는 제어 클럭 생성기(520), 출력 신호 제공부(603), 샘플링부(810) 및 지연 제어부(920)를 포함하여 구성된다. 도 19의 난수 발생기(54)는 지연 제어부(920)의 구성에 있어서 도 18의 난수 발생기(53)와 차이가 있다.
지연 제어부(820)는 분주기(921), LFSR(linear feedback, shift register 922) 및 디코더(913)를 포함하여 구성된다.
분주기(912)는 제어 클럭 신호(CCLK)를 2분주하여 카운터(912)에 제공한다. LFSR(912)는 분주기(911)의 출력인 분주된 제어 클럭 신호(CCLK)에 대하여 선형 피드백 시프팅 동작을 수행하여 디코더(923)에 제공한다. 디코더(923)는 LFSR(922)의 출력을 디코딩하여 지연 제어 신호(DCS)로서 멀티플렉서들(721, 722)에 제공한다.
도 20은 본 발명의 또 다른 실시예에 따른 도 14의 난수 발생기를 나타내는 회로도이다.
도 20을 참조하면, 난수 발생기(55)는 제어 클럭 생성기(520), 출력 신호 제공부(603) 샘플링부(810) 및 지연 제어부(910)를 포함하여 구성된다. 도 20의 난수 발생기(55)는 샘플링부(820) 구성에 있어서 도 18의 난수 발생기(53)와 차이가 있다.
샘플링부(820)는 분주기들(821, 822), 디플립플롭(823), 시프트 레지스터(824), 배타적 논리합 게이트(825), 및 디플립플롭(825)를 포함하여 구성된다.
분주기들(821, 822)은 각각 제어 클럭 신호(CCLK)를 2분주한다. 디플립플롭(823)은 분주기(821)에서 제공되는 분주된 제어 클럭 신호(CCLK)에 동기되어 발진하는 출력 신호(OUT)를 샘플링하여 시프트 레지스터(824)에 제공한다. 시프트 레지스터(824)는 디플립플롭(813)의 출력인 샘플링된 출력 신호를 분주된 클럭 신호에 응답하여 순차적으로 저장하고 출력한다. 배타적 논리합 게이트(825)는 시프트 레지스터(824)의 출력에 대하여 배타적 논리합 연산을 수행한다. 디플립플롭(826)은 분주기(822)에서 제공되는 분주된 제어 클럭 신호에 동기되어 타적 논리합 게이트(825)의 출력을 샘플링하여 랜덤 비트(RB)로 제공한다.
도 14 및 도 15, 도 18 내지 도 20을 참조하여 설명한 난수 발생기들도 도 1 내지 도 13을 참조하여 설명한 난수발생기들과 동일하게 출력 신호 제공부(예를 들어 도 14의 600)가 하나의 능동 소자(610)만을 구비하고 스위칭 소자(610) 및 가변 수동 지연부(700)는 수동 소자들로 구성되어 제1 동작 모드에서는 메타 스테이블 상태로 수렴하고 제2 동작 모드에서는 발진하는 출력 신호(OUT)를 제공할 수 있다.
도 21은 본 발명의 일 실시예에 따른 복합형 난수 발생기의 구성을 나타내는 블록도이다.
도 21을 참조하면, 복합형 난수 발생기(1100)는 복수의 난수 발생부들(1111, 1121, 1131) 배타적 논리합 게이트(1120) 및 샘플링부(1130)를 포함한다. 복수의 난수 발생부들(1111, 1121, 1131)은 각각 도 1의 난수 발생기(10) 또는 도 14의 난수 발생기(50)를 포함하여 구성될 수 있다. 복수의 난수 발생부들(1111, 1121, 1131)은 엔트로피 소스로서 동작하는 하나의 능동 소자를 구비하여 인에이블 신호(EN) 및 클럭 신호(CLK)에 응답하여 각각 랜덤 신호들(RS1, RS2, RSn)을 발생한다. 여기서 인에이블 신호(EN)는 난수 발생부들(1111, 1121, 1131)을 인에이블시키는 신호이고, 클럭 신호(CLK)는 랜덤 신호들(RS1, RS2, RSn)을 생성하기 위하여 발진하는 출력 신호(도 1참조)를 샘플링하는데 사용될 수 있는 신호이다. 샘플링부(1130)는 디플립플롭으로 구성되어 샘플링 클럭 신호(SCLK)에 동기되어 배타적 논리합 게이트(1120)의 출력을 샘플링하여 랜덤비트(RB)로 제공한다. 배타적 논리합 게이트(1120)는 랜덤 신호들(RS1, RS2, RSn)에 대하여 배타적 논리합 연산을 수행한다. 배타적 논리합 연산은 랜덤 신호들(RS1, RS2, RSn)이 서로 다른 레벨인 경우에만 하이 레벨이 되므로 배타적 논리합 게이트(1120)를 사용하면 랜덤 비트(RB)의 불규칙성과 예측 불가능성이 증가하게 된다.
도 22는 본 발명의 다른 실시예에 따른 복합형 난수 발생기의 구성을 나타내는 블록도이다.
도 22를 참조하면, 복합형 난수 발생기(1200)는 복수의 난수 발생부들(1211, 1212, 1213), 복수의 지연소자들(1221, 1222, 1223, 1224), 배타적 논리합 게이 트(1230) 및 샘플링부(1240)를 포함한다. 복수의 난수 발생부들(1211, 1221, 1331)은 각각 도 1의 난수 발생기(10) 또는 도 14의 난수 발생기(50)를 포함하여 구성될 수 있다. 복수의 난수 발생부들(1211, 1221, 1231)은 엔트로피 소스로서 동작하는 하나의 능동 소자를 구비하여 인에이블 신호(EN) 및 클럭 신호(CLK)에 기초하여 각각 랜덤 신호들(RS1, RS2, RSn)을 발생한다. 복수의 지연소자들(1221, 1222, 1223, 1224) 중 지연 소자들(1222, 1224)은 클럭 신호(CLK)를 서로 다른 지연 시간만큼 지연시겨 난수 발생부들(1212, 1213)에 제공한다. 배타적 논리합 게이트(1230)는 랜덤 신호들(RS1, RS2, RSn)에 대하여 배타적 논리합 연산을 수행한다. 샘플링부(1230)는 디플립플롭으로 구성되어 샘플링 클럭 신호(SCLK)에 동기되어 배타적 논리합 게이트(1230)의 출력을 샘플링하여 랜덤비트(RB)로 제공한다. 도 22의 복합형 난수 발생기(1200)에서는 복수의 지연소자들(1221, 1222, 1223, 1224)을 이용하여 복수의 난수 발생부들(1211, 1212, 1213)의 인에이블 시점과 샘플링 시점을 조절하여 통계적 안정성을 높이고, 전력 소모를 감소시킬 수 있다.
도 23은 본 발명의 또 다른 실시예에 따른 복합형 난수 발생기의 구성을 나타내는 블록도이다.
도 23을 참조하면, 복합형 난수 발생기(1300)는 복수의 난수 발생부들(1311, 1312, 1313), 복수의 지연소자들(1321, 1322, 1323), 배타적 논리합 게이트(1330) 및 샘플링부(1340)를 포함한다. 복수의 난수 발생부들(1321, 1322, 1323)은 각각 도 1의 난수 발생기(10) 또는 도 14의 난수 발생기(50)를 포함하여 구성될 수 있다. 복수의 난수 발생부들(1311, 1321, 1331)은 엔트로피 소스로서 동작하는 하나 의 능동 소자를 구비하여 인에이블 신호(EN) 및 클럭 신호(CLK)에 기초하여 각각 랜덤 신호들(RS1, RS2, RSn)을 발생한다. 복수의 지연소자들(1321, 1322, 1323)은 각각 랜덤 신호들(RS1, RS2, RSn)을 서로 다른 지연시간만큼 지연시킨다. 배타적 논리합 게이트(1330)는 서로 다른 지연시간만큼 지연된 랜덤 신호들(RS1, RS2, RSn)에 대하여 배타적 논리합 연산을 수행한다. 샘플링부(1340)는 디플립플롭으로 구성되어 샘플링 클럭 신호(SCLK)에 동기되어 배타적 논리합 게이트(1330)의 출력을 샘플링하여 랜덤비트(RB)로 제공한다. 도 23의 복합형 난수 발생기(1300)에서는 복수의 지연소자들(1321, 1322, 1323)을 이용하여 랜덤 신호들(RS1, RS2, RSn)이 배타적 논리합 게이트(1330)에 인가되는 시점을 달리하여 통계적 안정성을 증가시킬 수 있다.
도 24는 본 발명의 또 다른 실시예에 따른 복합형 난수 발생기의 구성을 나타내는 블록도이다.
도 24를 참조하면, 복합형 난수 발생기(1400)는 난수 발생부(1410), 복수의 지연 소자들(1421, 1422, 1423), 배타적 논리합 게이트(1330) 및 샘플링부(1340)를 포함한다. 난수 발생부(1410)는 도 1의 난수 발생기(10) 또는 도 14의 난수 발생기(50)를 포함하여 구성될 수 있다. 난수 발생부(1410)는 엔트로피 소스로서 동작하는 하나의 능동 소자를 구비하여 인에이블 신호(EN) 및 클럭 신호(CLK)에 기초하여 랜덤 신호(RS)를 발생한다. 복수의 지연소자들(1421, 1422, 1423)은 랜덤 신호(Rs)를 서로 다른 지연시간만큼 지연시킨다. 배타적 논리합 게이트(1430)는 서로 다른 지연시간만큼 지연된 랜덤 신호(RS)에 대하여 배타적 논리합 연산을 수행한 다. 샘플링부(1340)는 디플립플롭으로 구성되어 샘플링 클럭 신호(SCLK)에 동기되어 배타적 논리합 게이트(1330)의 출력을 샘플링하여 랜덤비트(RB)로 제공한다. 도 24의 복합형 난수 발생기(1400)에서는 복수의 지연소자들(1421, 1422, 1423)을 이용하여 하나의 랜덤 신호(RS)가 배타적 논리합 게이트(1330)에 인가되는 시점을 달리하여 통계적 안정성을 증가시키고, 전류 소모를 감소시킬 수 있다.
도 25는 본 발명의 일 실시예에 따른 IC카드를 나타낸다.
본 발명의 실시예들에 따른 난수 발생기가 도 25의 IC카드에 적용될 수 있다.
도 25를 참조하면, IC카드(1500)는 플라스틱 케이스로 이루어지는 카드(1510)와 이러한 카드(1510)외 내부에 탑재된 원칩의 마이크로 컴퓨터(미도시) 등으로 이루어지는 IC카드용 칩을 구비한다. IC카드(1500)는 IC 카드용 칩의 외부단자에 접속되어 있는 복수의 접점(전극)(102)을 포함한다.
복수의 접점(102)은, 도 30을 참조하여 후술되는 바와 같이 전원단자(VCC), 접지 단자(VSS), 리셋 입력단자(RES바), 클럭 단자(CLK), 데이터 단자(DATA)를 포함한다. IC카드는 이러한 접점(1520)을 통하여 리더 라이터(미도시)와 같은 외부결합 장치로부터 전원공급을 받고, 또 외부결합 장치와의 사이에서의 데이터의 통신을 행한다.
도 26은 도 25의 IC카드에 탑재되는 IC카드용 칩의 구성을 나타내는 블록도이다.
도 26을 참조하면, IC 카드용 칩(1600)은 중앙처리장치(CPU, 1610), 입출력 포트(1620), ROM(1640), RAM(1650), EEPROM(1660)과 같은 기억장치 및 암호화 및 부호처리의 연산을 수행하는 코프로세서(coprocessor, 1670)를 포함한다. 클럭 생성기(1680)는 외부결합장치(미도시)로부터 도 26의 접점(1520)을 통하여 외부 클럭 신호(CLK)을 수신하고, 수신된 외부 클럭 신호(CLK)에 동기되어 시스템 클럭 신호(CLKS)를 생성하여 칩 내부에 공급한다.
CPU(1610)는 논리 연산이나 산술 연산등을 수행하고, 시스템 컨트롤 로직(SCL), 난수 발생기(1611)를 구비하는 시큐리티 로직(SL) 및 타이머(1630) 등을 제어한다. ROM(1640), RAM(1650), EEPROM(1660)과 같은 기억장치는 프로그램이나 데이터를 저장한다. 입출력 포트(1620)는 외부결합장치와 통신을 수행한다. 데이터 버스(DBL)와 어드레스 버스(ABL)는 각 장치들을 서로 연결한다.
도 27은 본 발명의 일 실시예에 따른 비접촉 IC카드를 나타낸다.
도 27에는 비접촉 IC카드(1700)와 외부장치로서 설치되는 리드/라이트 장치의 코일(안테나, 1761, 1762)도 함께 도시되어 있다.
도 27을 참조하면, 비접촉 IC카(1700)드는, 특별히 제한되는 것은 아니지만, 소위 밀착ㅇ형의 비접촉 IC카드로 하고, 예컨대 동박 등을 이용해서 카드면 위로 코일 모양으로 형성되는 수전(受電) 코일(카드측 안테나, 1762)과, 소정의 배선층을 통해서 수전 코일(1762)에 결합되는 LSI(1701)를 갖춘다. 이 LSI(1701)는 4개의 다이오드가 브리지 결합되어서 구성되는 정류 회로(1763)와, 정류회로(1763)의 정류전압을 평활화하는 평활 콘덴서(1764)와, 안정화 전원회로(1750)에 의해 논리회로(1731) 및 불휘발성 메모리(1733) 등을 포함하는 내부회로(1730)의 동작 전 압(VDD)이 형성된다. 상기 정류회로(1763)에 병렬로 클럭 발생 회로(1710), 데이터 수신 회로(1721) 및 데이터 송신 회로(1723)가 설치된다.
상기 다이오드 브릿지 회로로 이루어지는 정류회로(1763)는, 리드 라이트 장치의 송전 코일(안테나, 1761))과의 전자결합에 의해 비접촉 IC카드(1700)의 수전 코일(1762)에 전력원인으로서 전달되는 교류 신호 즉 커리어를 정류하고, 상기 평활 콘덴서(1763)에서 평활한 전압을 안정화 전원에 의해 직류전원전압(VDD)을 생성하고, LSI(1701)의 각 기능 블록에 동작 전원으로서 공급한다. 파워 온-리셋(power-on-reset, 1740) 회로는, 전원전압(VDD)의 발생을 검출하고, 즉, 리드ㅇ라이트 장치와의 결합을 검출하고, 데이터의 수신이나 송신을 정상적으로 하도록 하기 때문에, 논리회로(1731)의 레지스터나 래치회로 등을 리셋 시킨다. 데이터 수신 회로(1721)는, 리드ㅇ라이트 장치로부터 예컨대 커리어를 주파수 변조함에 의해 전송되는 데이터를 수신복조(複調)하고, 내부입력 데이터로서 LSI(1701)의 내부회로에 전달한다. 내부회로에서 형성된 출력 데이터는, 데이터 송신 회로에 의해 커리어를 주파수 변조해서 리드ㅇ라이트 장치로 전송한다.
상기와 같은 내부회로(논리회로, 1731)와 데이터 수신 회로(1721) 및 데이터 송신 회로(1723)에서는, 상기 동작 전압(VDD)의 이외에, 동작 시퀸스 제어나 신호의 수신이나 송신 때문에 클럭 신호를 필요로 한다. 이 실시예에서는, 클럭 발생 회로(1710)에 의해 상기교류 신호를 펄스 신호로 해서 클록 신호를 생성한다. 논리회로(1731)는 난수발생기(1732)를 구비하고 있으며, 외부와의 데이터 송신이나 데이터 수신에 이러한 난수를 이용할 수 있다.
상기 비접촉 IC카드(1700)에서는, 직류전원전압(VDD)의 전류공급 능력이 작기 때문에, 난수발생기(1732)의 소비 전력도 작은 것이 바람직하다. 도 27의 난수발생기(1732는, 단위회로를 순차적으로 동작시킬 것이기 때문에 소비 전류를 감소시킬 수 있다.
본 발명의 실시예들에 따른 난수 발생기는 엔트로피 소스로서 동작하는 하나의 능동 소자만을 포함하여 구성되므로 공정 변화에 따른 트랜지스터들의 미스매치에 따른 영향을 감소시킬 수 있고, 처리량을 증가시킬 수 있으며, 전력 소모를 감소시킬 수 있다. 따라서 본 발명의 실시예들에 따른 난수 발생기는 모바일 장치나 휴대용 장치에 폭넓게 채용되어 기기의 보안성을 증가시킬 수 있다.
상술한 바와 같이, 본 발명의 바람직한 실시예를 참조하여 설명하였지만 해당 기술 분야에서 통상의 지식을 가진 자라면 하기의 특허청구범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
도 1은 본 발명의 일 실시예에 따른 난수 발생기를 나타내는 블록도이다.
도 2는 본 발명의 일 실시예에 따른 도 1의 난수 발생기를 나타내는 회로도이다.
도 3은 본 발명의 다른 실시예에 따른 도 1의 난수 발생기를 나타내는 회로도이다.
도 4는 제1 제어 클럭 신호가 제1 레벨일 때 인버터의 연결관계를 나타낸다.
도 5는 도 3의 난수 발생기에서 입출력되는 신호들을 나타낸다.
도 6은 도 3의 난수 발생기에서 제공되는 출력 신호를 설명하기 위한 도면이다.
도 7은 본 발명의 또 다른 실시예에 따른 도 1의 난수 발생기를 나타내는 회로도이다.
도 8은 본 발명의 또 다른 실시예에 따른 도 1의 난수 발생기를 나타내는 회로도이다.
도 9는 본 발명의 또 다른 실시예에 따른 도 1의 난수 발생기를 나타내는 회로도이다.
도 10은 본 발명의 또 다른 실시예에 따른 도 1의 난수 발생기를 나타내는 회로도이다.
도 11은 본 발명의 또 다른 실시예에 따른 도 1의 난수 발생기를 나타내는 회로도이다.
도 12는 본 발명의 또 다른 실시예에 따른 도 1의 난수 발생기를 나타내는 회로도이다.
도 13은 본 발명의 또 다른 실시예에 따른 도 1의 난수 발생기를 나타내는 회로도이다.
도 14는 본 발명의 일 실시예에 따른 난수 발생기를 나타내는 블록도이다.
도 15 본 발명의 일 실시예에 따른 도 14의 난수 발생기를 나타내는 회로도이다.
도 16은 도 15의 난수 발생기의 신호들을 나타내는 도면이다.
도 17은 본 발명의 다른 실시예에 따른 도 14의 난수 발생기를 나타내는 회로도이다.
도 18은 본 발명의 또 다른 실시예에 따른 도 14의 난수 발생기를 나타내는 회로도이다.
도 19는 본 발명의 또 다른 실시예에 따른 도 14의 난수 발생기를 나타내는 회로도이다.
도 20은 본 발명의 또 다른 실시예에 따른 도 14의 난수 발생기를 나타내는 회로도이다.
도 21은 본 발명의 일 실시예에 따른 복합형 난수 발생기의 구성을 나타내는 블록도이다.
도 22는 본 발명의 다른 실시예에 따른 복합형 난수 발생기의 구성을 나타내는 블록도이다.
도 23은 본 발명의 또 다른 실시예에 따른 복합형 난수 발생기의 구성을 나타내는 블록도이다.
도 24는 본 발명의 또 다른 실시예에 따른 복합형 난수 발생기의 구성을 나타내는 블록도이다.
도 25는 본 발명의 일 실시예에 따른 IC카드를 나타낸다.
도 26은 도 25의 IC카드에 탑재되는 IC카드용 칩의 구성을 나타내는 블록도이다.
도 27은 본 발명의 일 실시예에 따른 비접촉 IC카드를 나타낸다.

Claims (19)

  1. 엔트로피(entrophy) 소스(source)로서 동작하는 하나만의 능동소자를 포함하여, 제1 제어 클럭 신호의 제1 레벨에서는 메타스테이블(meta-stable) 상태로 수렴하고, 상기 제1 제어 클럭 신호의 제2 레벨에서는 발진하는 출력 신호를 제공하는 출력 신호 제공부;
    제2 제어 클럭 신호에 동기되어 상기 발진하는 출력신호를 샘플링하여 랜덤 비트로 제공하는 샘플링부; 및
    상기 제1 제어 클럭 신호와 상기 제2 제어 클럭 신호를 생성하는 제어 클럭 생성부를 포함하고,
    상기 출력 신호 제공부는,
    상기 제1 제어 클럭 신호의 논리 레벨이 따라 상기 하나만의 능동 소자의 입력을 수렴 경로 또는 발진 경로 중 하나로 연결하는 하나만의 스위칭 소자; 및
    상기 하나만의 능동 소자의 출력과 연결되고, 캐스케이드 연결되는 복수의 수동 지연 소자들을 구비하는 수동 지연부를 더 포함하는 난수 발생기.
  2. 삭제
  3. 제1항에 있어서,
    상기 하나만의 스위칭 소자는 상기 제1 제어 클럭 신호의 제1 레벨에서는 상기 하나만의 능동 소자가 피드백 루프를 구성하여 상기 메타 스테이블 상태로 수렴하는 출력 신호를 제공하도록 하고, 상기 제1 제어 클럭 신호의 제2 레벨에서는 상기 하나만의 능동 소자와 상기 수동 지연부가 링 오실레이터를 구성하여 상기 메타 스테이블 상태의 전압에 대하여 발진 동작을 수행하여 상기 발진하는 출력 신호를 제공하도록 하는 것을 특징으로 하는 난수 발생기.
  4. 제1항에 있어서, 상기 하나만의 능동 소자는 인버터, 낸드 게이트, 노어 게이트 중 하나이고,
    상기 하나만의 스위칭 소자는 3단자 스위치 또는 상기 제1 제어 클럭 신호를 제어 단자로 수신하는 멀티플렉서인 것을 특징으로 하는 난수 발생기.
  5. 삭제
  6. 제1항에 있어서, 상기 복수의 수동 지연 소자들 각각은
    전원 전압과 연결되는 피모스 커패시터; 및
    접지 전압과 연결되고 연결노드에서 상기 피모스 커패시터에 연결되는 엔모스 커패시터를 포함하는 것을 특징으로 하는 난수 발생기.
  7. 삭제
  8. 삭제
  9. 삭제
  10. 삭제
  11. 삭제
  12. 엔트로피(entrophy) 소스(source)로서 동작하는 하나만의 능동소자를 포함하여, 제어 클럭 신호의 제1 레벨에서는 메타스테이블(meta-stable) 상태로 수렴하고, 상기 제어 클럭 신호의 제2 레벨에서는 지연 제어 신호에 의하여 주파수가 가변되는 발진하는 출력 신호를 제공하는 출력 신호 제공부;
    상기 제어 클럭 신호에 기초하여 상기 지연 제어 신호를 제공하는 지연 제어부;
    상기 제어 클럭 신호에 응답하여 상기 발진하는 출력신호를 샘플링하여 랜덤 비트로 제공하는 샘플링부; 및
    상기 제어 클럭 신호를 생성하는 제어 클럭 생성기를 포함하고,
    상기 출력 신호 제공부는,
    상기 제어 클럭 신호의 제1 레벨에서는 상기 하나만의 능동 소자의 입력을 수렴 경로로 연결하고 상기 제어 클럭 신호의 제2 레벨에서는 상기 하나만의 능동 소자의 입력을 발진 경로로 연결하는 하나만의 스위칭 소자; 및
    상기 제어 클럭 신호의 제2 레벨에서 상기 지연 제어 신호에 응답하여 상기 발진하는 출력 신호의 주파수를 결정하는 복수의 수동 지연 소자들을 구비하는 가변 수동 지연부를 더 포함하는 난수 발생기.
  13. 삭제
  14. 제12항에 있어서, 상기 지연 제어부는
    상기 제어 클럭 신호를 분주하는 분주기;
    상기 분주된 제어 클럭 신호를 카운팅하는 카운터; 및
    상기 카운터의 출력을 디코딩하여 상기 지연 제어 신호로서 상기 출력 신호 제공부에 제공하는 디코더를 포함하는 것을 특징으로 하는 난수 발생기.
  15. 삭제
  16. 제12항에 있어서, 상기 샘플링부는,
    상기 제어 클럭 신호를 분주하는 분주기;
    상기 분주된 제어 클럭 신호에 동기되어 상기 발진하는 출력 신호를 지연시키는 디-플립플롭;
    상기 분주된 제어 클럭 신호에 동기되어 상기 디-플립플롭의 출력을 순차적으로 저장하고 출력하는 시프트 레지스터; 및
    상기 시프트 레지스터의 출력을 배타적 논리합 연산하여 상기 랜덤 비트로 제공하는 배타적 논리합 게이트를 포함하는 것을 특징으로 하는 난수 발생기.
  17. 클럭 신호에 응답하여 랜덤 신호들을 각각 생성하는 복수의 난수 발생부들;
    상기 랜덤 신호들을 배타적 논리합 연산하는 배타적 논리합 게이트; 및
    샘플링 클럭 신호에 응답하여 상기 배타적 논리합 게이트의 출력을 샘플링하여 랜덤 비트로 제공하는 샘플링부를 포함하고,
    상기 난수 발생부들 각각은
    엔트로피(entropy) 소스(source)로서 동작하는 하나만의 능동소자를 포함하여, 상기 클럭 신호에 기초한 제1 제어 클럭 신호의 제1 레벨에서는 메타스테이블(meta-stable) 상태로 수렴하고, 상기 제1 제어 클럭 신호의 제2 레벨에서는 발진하는 출력 신호를 제공하는 출력 신호 제공부;
    상기 클럭 신호에 기초한 제2 제어 클럭 신호에 동기되어 상기 발진하는 출력신호를 샘플링하여 랜덤 신호로 제공하는 샘플링부; 및
    상기 제1 제어 클럭 신호와 상기 제2 제어 클럭 신호를 생성하는 제어 클럭 생성부를 포함하고,
    상기 출력 신호 제공부는,
    상기 제1 제어 클럭 신호의 논리 레벨이 따라 상기 하나만의 능동 소자의 입력을 수렴 경로 또는 발진 경로 중 하나로 연결하는 하나만의 스위칭 소자; 및
    상기 하나만의 능동 소자의 출력과 연결되고, 캐스케이드 연결되는 복수의 수동 지연 소자들을 구비하는 수동 지연부를 더 포함하는 복합형 난수 발생기.
  18. 삭제
  19. 삭제
KR1020090116560A 2009-11-30 2009-11-30 난수 발생기 KR101646506B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020090116560A KR101646506B1 (ko) 2009-11-30 2009-11-30 난수 발생기
JP2010267037A JP2011118903A (ja) 2009-11-30 2010-11-30 乱数発生器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090116560A KR101646506B1 (ko) 2009-11-30 2009-11-30 난수 발생기

Publications (2)

Publication Number Publication Date
KR20110060080A KR20110060080A (ko) 2011-06-08
KR101646506B1 true KR101646506B1 (ko) 2016-08-10

Family

ID=44284083

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090116560A KR101646506B1 (ko) 2009-11-30 2009-11-30 난수 발생기

Country Status (2)

Country Link
JP (1) JP2011118903A (ko)
KR (1) KR101646506B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11366639B2 (en) 2018-05-11 2022-06-21 Electronics And Telecommunications Research Institute Apparatus and method for generating quantum random number
KR20230021785A (ko) 2021-08-06 2023-02-14 고려대학교 산학협력단 난수 생성 방법
US11698659B2 (en) 2021-02-25 2023-07-11 Samsung Electronics Co., Ltd. Integrated circuit and operating method thereof

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101721176B1 (ko) * 2012-10-24 2017-03-29 에스케이 텔레콤주식회사 난수 생성시 신호원에 의한 편향을 제거하는 방법 및 장치
KR102170279B1 (ko) 2016-11-09 2020-10-26 포항공과대학교 산학협력단 진성 난수 발생기
KR102584587B1 (ko) * 2018-07-02 2023-10-05 한국전자통신연구원 난수 발생 장치

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040264233A1 (en) * 2003-06-24 2004-12-30 Renesas Technology Corp. Random number generator with ring oscillation circuit
US20050004960A1 (en) * 2003-03-14 2005-01-06 Laszlo Hars Electronic circuit for random number generation

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050004960A1 (en) * 2003-03-14 2005-01-06 Laszlo Hars Electronic circuit for random number generation
US20040264233A1 (en) * 2003-06-24 2004-12-30 Renesas Technology Corp. Random number generator with ring oscillation circuit

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11366639B2 (en) 2018-05-11 2022-06-21 Electronics And Telecommunications Research Institute Apparatus and method for generating quantum random number
US11698659B2 (en) 2021-02-25 2023-07-11 Samsung Electronics Co., Ltd. Integrated circuit and operating method thereof
KR20230021785A (ko) 2021-08-06 2023-02-14 고려대학교 산학협력단 난수 생성 방법

Also Published As

Publication number Publication date
JP2011118903A (ja) 2011-06-16
KR20110060080A (ko) 2011-06-08

Similar Documents

Publication Publication Date Title
US8527567B2 (en) Random number generators having metastable seed signal generators therein
US10498544B2 (en) Security device having physical unclonable function
KR101646506B1 (ko) 난수 발생기
US8874632B2 (en) Apparatus for generating random number
US6480869B1 (en) Random-number generating circuit, non-contact IC card having random-number generating circuit, reader/writer, and method of testing an apparatus having the random generating circuit
JP4353435B2 (ja) 乱数発生方法と半導体集積回路装置及び電子装置
US7251734B2 (en) Secure integrated circuit including parts having a confidential nature and method for operating the same
CN100533597C (zh) 使用熔丝存储pll配置数据的装置和方法
US20130305078A1 (en) System on chip (soc), method of operating the soc, and system having the soc
Mansouri et al. Ring oscillator physical unclonable function with multi level supply voltages
US20070180009A1 (en) RFID tag with random number generator having a noise-based input
US8285767B2 (en) Apparatus and method for generating a random number
US20170048061A1 (en) Apparatus for generating random number
US20160277025A1 (en) Data generating device and authentication system
US20070133790A1 (en) Random number generator and method for generating random number
KR102122457B1 (ko) Puf를 갖는 보안 장치
EP1622271A1 (en) Electronic circuit for RFID transponder
US11303461B2 (en) Security device having physical unclonable function
JP2022044659A (ja) 半導体装置、非接触電子装置、および周期検出方法
Shi et al. A 90nm RFID tag's baseband processor with novel PIE decoder and uplink clock generator
Wang et al. Design of a passive UHF RFID transponder featuring a variation-tolerant baseband processor
Shi et al. A subthreshold baseband processor core design with custom modules and cells for passive RFID tags
Weiwei et al. Very-Low-Voltage and Cross-Submicron-Technology Passive Tag's Logic Design
Shi et al. A process-compatible passive RFID tag's digital design for subthreshold operation
Bhanushali On implementing power-efficient and scalable short-range RF-powered radios using RF-only architectures

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20190731

Year of fee payment: 4