KR20060125855A - 난수발생 방법과 반도체 집적 회로 장치 - Google Patents

난수발생 방법과 반도체 집적 회로 장치 Download PDF

Info

Publication number
KR20060125855A
KR20060125855A KR1020067016264A KR20067016264A KR20060125855A KR 20060125855 A KR20060125855 A KR 20060125855A KR 1020067016264 A KR1020067016264 A KR 1020067016264A KR 20067016264 A KR20067016264 A KR 20067016264A KR 20060125855 A KR20060125855 A KR 20060125855A
Authority
KR
South Korea
Prior art keywords
circuit
random number
logic
output
circuits
Prior art date
Application number
KR1020067016264A
Other languages
English (en)
Other versions
KR100875786B1 (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 가부시키가이샤 히타치초에루.에스.아이.시스테무즈
Publication of KR20060125855A publication Critical patent/KR20060125855A/ko
Application granted granted Critical
Publication of KR100875786B1 publication Critical patent/KR100875786B1/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
    • 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/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/57Arithmetic logic units [ALU], i.e. arrangements or devices for performing two or more of the operations covered by groups G06F7/483 – G06F7/556 or for performing logical operations
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/06Sense amplifiers; Associated circuits, e.g. timing or triggering circuits
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence 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)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Metal-Oxide And Bipolar Metal-Oxide Semiconductor Integrated Circuits (AREA)

Abstract

서로 동일한 제조과정을 가지고 동일한 형상으로서 형성된 제1 및 제2의 논리회로와, 상기 제1 논리회로 및 제 2 논리회로의 문턱치전압의 차전압(差電壓)에 중첩된 잡음을 증폭하여 2치(値) 신호를 형성하는 증폭회로로 이루어지는 단위회로의 복수개와, 상기 복수개의 단위회로로부터 출력되는 복수개로 이루어지는 2치 신호중의 어느 하나의 신호변화에 응답하여 출력신호를 형성하는 신호변화검출회로를 구비하고, 상기 신호변화검출회로로부터 출력되는 2치 신호의 복수개를 조합하여 난수를 생성한다.
문턱치 전압, 논리 게이트 회로, 진성난수

Description

난수발생 방법과 반도체 집적 회로 장치{RANDOM NUMBER GENERATING METHOD AND SEMICONDUCTOR INTEGRATED CIRCUIT}
이 발명은, 난수발생 방법과 반도체 집적 회로 장치에 관한 것이고, 주로 반도체제조 기술에 최적인 난수발생 방법 및 그 반도체 집적 회로 장치에 이용시에 유효한 기술에 관한 것이다
최근의 네트워크화 및 IT화가 급속히 확대한 사회에 있어서, 암호기술이나 인증 기술 등의 시큐리티(security) 기술의 중요성이 높아지고 있다. 그러한 기술의 중요한 요소의 하나로서 난수가 종종 이용되고 있다. 현재, 몇 종류의 기본원리에 근거한 난수발생 회로가 실용화되어 있다. 고도정보 시큐리티용 초소형 진성(眞性)난수생성 회로의 예 로서, 「토시바 리뷰」Vol. 58·8(2003) (제1의 선행 기술)이 있다. 또한, 특개 2003-173254호 공보(제2의 선행 기술)에는, RS플립 플랍의 전원을 온 오프(on/off)하는 것에 의해 얻을 수 있는 불확정출력을 이용하는 난수생성 회로가 기재되어 있다.
난수발생 회로의 성능을 비교하는 요소는, 난수의 품위(불규칙성), 회로면적, 소비 전력 및 응답시간 (새로운 난수를 생성하기 때문에 요하는 시간)등이지만, 종래의 난수발생 회로는 어느 것이나 일장일단을 가지고 있다. 난수에는, 컴퓨터의 알고리즘 등에서 난수를 발생시키는 유사난수와, 자연계의 물리현상 등을 써서 난수를 발생시키는 진성난수(眞性亂數)의 2가지가 있다. 일반적으로, 후자 쪽의 품위가 높다고 여겨진다. 진성난수는, 우연성, 비재현성, 예측 불가능성의 특징을 가지고 있지만 복잡한 회로나 소자를 필요로 하고, 간편한 장치에 적용하기가 적합하지 않다. 예컨대, 상기 제1의 선행 기술에 있어서 제안되는 기술은, 진성난수 발생회로이지만, 프로세스(에칭 공정)의 변경 및 그 제어가 필요한 것이다. 또한, 상기 제2의 선행 기술은 전원투입시의 과도적 상황 하에서의 현상을 이용하기 때문에, 난수의 불규칙성을 저하시키는 요인이 설계 단계에서는 예측 불능이며, 난수의 품질을 보증하기는 어렵다고 생각된다.
따라서, 이 발명의 하나의 목적은, 제조 프로세스의 변경 없이, 작은 면적에서 높은 품위의 난수를 생성할 수 있는 난수발생 방법 및 난수발생 회로를 구비한 반도체 집적 회로 장치를 제공하는 것에 있다.
이 발명의 다른 목적은, 저소비 전력화를 실현한 난수발생 방법 및 이러한 난수발생 회로를 구비한 반도체 집적 회로 장치를 제공하는 것에 있다. 이 발명의 상기 및 그 밖의 목적으로 신규한 특징은, 본 명세서의 기술 및 첨부 도면으로부터 밝혀질 것이다.
본원에 있어서 개시되는 발명 중 대표적인 것의 개요를 간단히 설명하면, 다음과 같다. 즉, 상호 동일한 제조 과정을 거쳐서 동일한 형태로 형성된 제1 및 제2논리회로와, 상기 제1논리회로 및 제2논리회로의 문턱치전압의 차전압(差電壓)에 중첩되는 잡음을 증폭해서 2치(値) 신호를 형성하는 증폭 회로로 이루어지는 단위회로의 복수개와, 상기 복수개의 단위회로로부터 출력되는 복수개로 이루어지는 2치 신호 중 어느 1개의 신호변화에 응답해서 출력 신호를 형성하는 신호변화 검출회로를 구비하고, 상기 신호변화 검출회로로부터 출력되는 2치 신호의 복수개를 조합시켜서 난수를 생성한다.
도 1은, 이 발명에 관한 반도체 집적 회로 장치에 탑재된 진성난수 발생회로의 기본개념을 나타내는 회로도이다.
도 2는, 도 1의 진성난수 발생회로를 설명하는 동작 원리도이다.
도 3은, 이 발명에 관한 진성난수 발생회로의 1실시예를 나타내는 기본적 회로도이다.
도 4는, 도 3의 진성난수 발생회로의 1실시예를 나타내는 구체적 회로도이다.
도 5는, 도 3의 진성난수 발생회로의 동작의 일례를 설명하기 위한 파형도이다.
도 6은, 도 4의 진성난수 발생회로의 신호변화 검출회로의 1실시예를 나타내는 구체적 회로도이다.
도 7은, 이 발명에 관한 진성난수 발생회로의 다른 1실시예를 나타내는 회로도이다.
도 8은, 도 7의 진성난수 발생회로의 동작의 일례를 설명하기 위한 개념적인 파형도이다.
도 9는, 이 발명에 관한 진성난수 발생회로와 그 요소회로의 1실시예를 나타내는 회로도이다.
도 10은, 이 발명에 관한 진성난수 발생회로와 그 요소회로의 다른 1실시예를 나타내는 회로도이다.
도 11은, 도 9의 진성난수 발생회로의 동작의 일례를 설명하기 위한 개략 파형도이다.
도 12는, 이 발명에 관한 진성난수 발생회로의 다른 1실시예를 나타내는 개념도이다.
도 13은, 도 12의 초기값 발생회로의 1실시예를 나타내는 회로도이다.
도 14는, 도 12의 초기값 발생회로의 다른 1실시예를 나타내는 회로도이다.
도 15는, 도 13과 도 14의 초기값 발생회로의 동작을 설명하기 위한 파형도이다.
도 16은, 이 발명에 관한 진성난수 발생회로의 다른 1실시예를 나타내는 회로도이다.
도 17은, 이 발명에 관한 진성난수 발생회로의 1실시예를 나타내는 회로도이다.
도 18은, 도 17의 진성난수 발생회로에 설치된 테스트 회로의 동작의 일례를 설명하기 위한 타이밍도이다.
도 19는, 이 발명에 관한 진성난수 발생회로의 1실시예를 나타내는 회로도이다.
도 20은, 도 19의 진성난수 발생회로의 동작 파형도이다.
도 21은, 이 발명에 관한 진성난수 발생회로의 1실시예를 나타내는 회로도이다.
도 22는, 이 발명에 관한 진성난수 발생회로의 출력부의 다른 1실시예를 나타내는 회로도이다.
도 23은, 도 21에 나타낸 진성난수 발생회로의 동작 파형도이다.
도 24는, 이 발명에 관한 진성난수 발생회로의 1실시예를 나타내는 칩 구성도이다.
도 25는, 이 발명에 관한 반도체 집적 회로 장치의 1실시예를 나타내는 블록도이다.
도 26은, 이 발명에 관한 반도체 집적 회로 장치의 다른 1실시예를 나타내는 블록도이다.
도 27은, 이 발명에 관한 진성난수 발생회로의 다른 1실시예를 나타내는 구성도이다.
도 28은, 도 27에 나타낸 진성난수 발생회로의 동작의 1 예를 나타내는 타이밍도이다.
도 29는, 이 발명이 적용되는 IC카드의 1실시예를 나타내는 외관도이다.
도 30은, 이 발명에 관한 IC카드에 탑재된 IC카드용 칩의 1실시예를 나타내는 개략 블록도이다.
도 31은, 이 발명이 적용되는 비접촉 IC카드의 1실시예를 나타내는 블록도이다.
도 32는, 이 발명에 관한 진성난수 발생회로로 생성된 진성난수의 2차원살포도이다.
도 33은, 도 4의 진성난수 발생회로의 변형 예를 나타내는 구체적 회로도이다.
도 34는, 도 1에 나타낸 진성난수 발생회로의 기본개념의 변형 예를 나타내는 회로도이다.
도 35는, 도 1에 나타낸 진성난수 발생회로의 기본개념의 또 다른 별도의 변형 예를 나타내는 회로도이다.
이 발명을 보다 상세하게 서술하기 위해, 첨부한 도면에 따라 이것을 설명한다.
도 1에는, 이 발명에 관한 반도체 집적 회로 장치에 탑재된 진성난수 발생회로의 기본개념의 회로도가 나타나 있다. 도 1에 나타난 CMOS 인버터 회로(INV1∼INV4)는, 반도체 집적 회로 장치의 설계 및 제조 상에서는, 현실적으로 제어가능한 범위내에 있어서, 상호 동일한 특성을 가지도록 구성된다. 복수의 인버터를 상호 동일한 특성으로 하기 위한 기술에 대해서, 이하에서 개략적으로 설명한다.
CMOS 인버터 회로에 있어서, 그 특성은, 개략적으로는, 그것을 구성하는 P채널형 MOSFET와 N채널형 MOSFET와의 상대적인 컨덕턴스에 의해 결정된다고 이해할 것이다.
그러한 관점에서는 채널 폭 W와 채널 길이 L과의 비 W/L은 같지만 사이즈가 다른 MOSFET에 의해도 같은 특성의 CMOS 인버터를 구성할 수 있다고 이해될 수 있다. 그렇지만, 반도체 집적 회로 장치의 제조불균일에 의한 전기 특성에의 영향은, 다른 사이즈의 소자에 대해서는 다른 것이 된다.
이 실시예에서는, 이러한 복수의 CMOS 인버터(INV1∼INV4)의 제 각각은, 최적인 것으로는, 제 각각을 구성하는 소자의 상호, 즉 P채널형 MOSFET의 상호 및 N채널형 MOSFET의 상호가 서로 동일한 구조, 동일한 사이즈로 구성된다. 말할 필요도 없이 그러한 소자는, 동일한 소자는 동일한 프로세스 하에서 일괄 제조된다는 반도체 집적 회로 장치의 특징에 따라서 제조된다. 이것에 의해 복수의 CMOS 인버터(INV1∼INV4)는, 반도체 집적 회로 장치의 제조상의 가공 치수의 불균일, 각종층의 두께불균일, 불순물 농도 불균일 등의 제조불균일에 의한 영향을 균등하게 받게 된다.
도 1과 같이 입출력이 단락된 CMOS 인버터 회로(INV1)의 출력 전압은, 논리 문턱치전압에 도달한다. 모든 CMOS 인버터 회로가, 완전히 같은 전기적 특성을 가지고 있으면, 4 개의 인버터 회로(INV1∼INV4)의 논리 문턱치전압은 같아진다. 그러나, 이것은 이상적인 상태이며 실제의 반도체소자에 있어서는, 근소한 특성의 차 이가 존재하기 때문에, 각 인버터 회로(INV1∼INV4)의 논리 문턱치전압에 차이가 생긴다.
CMOS 인버터 회로의 논리 문턱치의 불균일의 요인으로서는, MOS트랜지스터 특성의 불균일이 지배적이라고 파악된다. 그리고, MOS트랜지스터 특성의 불균일의 원인으로서는, MOS트랜지스터의 게이트 폭이나, 게이트 절연막 막두께, 도전 결정 불순물농도와 그 분포등을 들 수 있다. 이러한 불균일은 매크로적인 부분과 마이크로(미크로)적인 것으로 나눌 수 있다. 매크로적인 부분으로서는, 동일 로트내의 복수의 웨이퍼간의 게이트 폭 불균일 등이다.
본원 발명에 있어서는, 주로 마이크로적인 부분의 불균일을 고려하는 것이며, 비교적 근접한 위치에 배치된 소자 간에 있어서의 불균일에 대해서 검토했다. 이러한 마이크로적인 불균일은, 비교적 근접한 소자 간에 랜덤으로 발생하는 것으로서 관측된다.
즉, 도 1의 인버터 회로(INV1, INV2)의 논리 문턱치의 불균일도 랜덤이라고 생각된다. 이 논리 문턱치의 불균일은, 후술하는 것처럼 진성난수를 발생시키는 경우엔 바람직하지 않은 반면, 다른 관점에서는 반도체소자가 가지는 특징적인 특성의 불균일이 고유한 식별 정보로서 이용된다. 즉, CMOS 인버터 회로를 사용한 경우에는, 논리 문턱치에 생기는 불균일이 N채널형 MOS트랜지스터가 가진 불균일에 P채널형 MOS트랜지스터가 가진 불균일이 더하여진 것으로 볼 수 있고, 불균일 범위가 넓어져 식별 번호 또는 식별 정보의 발생을 효과적으로 행하도록 할 수가 있다. 그러나 이것은 반도체소자의 각 노드에서 발생하는 잡음에 응답한 진성난수를 발생시 키는 경우에는 바람직하지 못한 것이다.
도 1에 나타낸 개념도에서는, 4개의 인버터 회로(INV1∼INV4)를 기본회로( 또는 단위회로)UC0로서, CMOS 인버터 회로(INV1)의 입력과 출력을 단락하고, 인버터 회로(INV1)의 논리 문턱치전압(VLT1)을 형성한다. 이 논리 문턱치전압(VLT1)은 인버터 회로(INV2)의 입력에 공급된다. 이러한 인버터 회로(INV2)에 있어서는, 그 문턱치전압(VLT2)을 참조전압으로서 상기 논리 문턱치전압(VLT1)과의 전압비교와 증폭 동작을 행한다. 그리고, 이러한 인버터 회로(INV2)의 출력 신호는, 종렬 접속된 인버터 회로(INV3)과 INV4로 이루어지는 증폭 회로에 의해 더욱 증폭되어서 2치 신호로 변환된다.
이상적인 조건에 있어서는, 기본회로의 제1의 인버터 회로(INV1)의 단락된 입출력 노드의 전압(논리 문턱치전압(VLT1))과 제2의 인버터 회로(INV2)의 논리 문턱치전압(VLT2)은 같아지도록 설계, 제조되지만, 실제로는 상기와 같은 프로세스 불균일이 존재하기 때문에 일치한다고는 할 수 없다.
반도체 내를 전자가 이동할 때, 불규칙한 움직임을 하기 때문에 조금이지만 전기신호 노이즈를 발생시킨다. 그 현상은, 제1의 인버터 회로(INV1)에도 제2의 인버터 회로(INV2)에도 발생하지만, 상기한 바와 같이 VLT1=VLT2과 같은 이상적인 조건에 있어서는, 제1의 인버터 회로(INV1)의 전기신호 노이즈가 제2의 인버터 회로(INV2)에 의해 증폭되어, 제2의 인버터 회로의 출력 신호는 전기신호 노이즈를 반영해서 진폭한다. 전기신호 노이즈는 완전히 무질서한 움직임을 하기 때문에, 제2의 인버터 회로(INV2)로부터 얻을 수 있는 출력 신호는 진성난수라고 할 수 있다.
즉, 도 2(a)에 나타낸 바와 같이, 단위회로 UC0의 제1의 인버터 회로(INV1)와 제2의 인버터 회로(INV2)의 논리 문턱치전압(VLT1, VLT2)이 일치하고 있을 경우, 전기신호 노이즈(Vnz)가 반전 증폭되어서 출력 신호(Vout)로서 집어낼 수 있다. 또, 동일한 도면에서는 제2의 인버터 회로(INV2)의 전기신호 노이즈는 생략되고 제1의 인버터 회로(INV1)의 전기신호 노이즈(Vnz)에 포함된다. 이렇게하여, 제1의 인버터 회로(INV1)의 전기신호 노이즈(Vnz)는 제2의 인버터 회로(INV2)에 의해 반전 증폭된다. 더욱이 제2의 인버터 회로(INV2)의 출력 신호(Vout)는, 제3 및 제4의 인버터 회로(INV3, INV4)에 의해 더욱 증폭되어, 제4의 인버터 회로(INV4)의 출력에서는 최종적으로 전원전압 레벨의 진폭의 논리 레벨의 정보를 꺼낼 수 있다.
그러나, 전기신호 노이즈(Vnz)는 극히 작고, 또한 실제로는 각 인버터 회로(INV1, INV2)를 구성하는 MOS트랜지스터의 특성은 상기와 같은 요인에 의해 불균일이 있기 때문에, 기본회로UC0의 제1 및 제2의 인버터 회로(INV1, INV2)의 논리 문턱치전압(VLT1, VLT2)은 반드시 같다고는 말할 수 없다.
즉, 도 2(b)에서 나타낸 바와 같이, 단위회로UC0의 제1의 인버터 회로(INV1)과 제2의 인버터 회로(INV2)의 논리 문턱치전압(VLT1, VLT2)과의 사이에 △V와 같은 프로세스 불균일에 의한 차전압(差電壓)△V가 존재하고, 상기 전기신호전압 노이즈(Vnz)의 진폭보다, 상기 제2의 인버터 회로(INV2)의 논리 문턱치전압(VLT2)이 항상 클 경우에는, 제2의 인버터 회로(INV2)의 출력 신호(Vout)는 항상 하이 레벨이 된다. 따라서, 상기 단위회로UC0를 단독으로 본 경우에는, 제2의 인버터 회로(INV2)의 출력 신호(Vout)가 상기의 전기신호 노이즈(Vnz)를 반영하면 항상 보증 되는 것은 아니다.
거기에서, 일반적으로는 상기 2개의 논리 문턱치전압(VLT1, VLT2)의 상기와 같은 프로세스 불균일를 보정하는 방향으로 트리밍이나 보상 회로를 부가하는 것이 생각되지만, 회로가 복잡해지거나, 소비 전류가 증대하는 등의 문제를 갖게 된다.
본원 발명자에 있어서는, 트랜지스터의 특성의 불균일은 랜덤한 정규분포인 것에 착안하고, 도 1이 나타낸 것 같이, 수많은 기본회로를 관찰하여, 제1인버터 회로(INV1)와 제2의 인버터 회로(INV2)의 특성이 극히 동일한 조합이 있는 확률로 존재하고, 그러한 기본회로는 도 2(a)에 나타낸 것 같이 전기 노이즈(Vnz)에 민감하게 반응하게 됨을 알아냈다.
즉, 도 2(c)의 문턱치 전압분포도에 나타낸 것 같이, 인버터 회로(INV1, INV2)의 논리 문턱치전압(VLT1, VLT2)은, 정규분포가 되는 것이 알려지고 있다. 2개의 인버터 회로(INV1과 INV2)를 조합시키면, 그 차이 VLT1-VLT2는 원래의 논리 문턱치전압(VLT1, VLT2)의 분산의 2배인 정규분포가 된다. 전기신호 노이즈 전압(Vnz)의 진폭보다, 제1의 인버터 회로와 제2의 인버터 회로의 논리 문턱치전압의 차이VLT1-VLT2이 작은 기본회로가 존재할 확률은, 인버터 회로의 논리 문턱치전압(VLT)의 분산과, 전기신호 노이즈 전압의 진폭(Vnz)에서 결정된다. 기본 회로군 중에 포함되는 노이즈를 전기신호의 노이즈를 반영하는 기본회로의 평균수는, 기본 회로군을 구성하는 기본회로의 수에, 상기의 확률을 곱한 수이다.
도 1에 있어서, (UC0∼UCn)과 같은 복수의 기본회로의 출력(D0∼Dn)을 배타논리화회로로 대표되는 것 같은 신호변화 검출회로(EXOR)에 입력하면, 그 출력R은 접속된 기본회로(UC0∼UCn)의 출력 신호(D0∼Dn)의 변화의 어느 것에도 반응해서 반전(反轉)한다.
상기 복수의 기본회로(UC0∼UCn) 중, 제1인버터 회로와 제2의 인버터의 특성이 극히 동일한 조합의 기본회로가 적어도 1개 이상 존재하도록 결정된 복수로 이루어지는 기본 회로군의 각 출력을, 신호변화 검출회로(EXOR)에 입력한다. 그렇게 하면, 배타논리화회로와 같은 신호변화 검출회로(EXOR)의 출력R은, 기본회로(UC0∼UC1)의 출력(D0∼Dn)의 중 어느 1개가 변화되면 반전한다. 즉, 신호변화 검출회로(EXOR)의 입력이 기본회로의 출력일 경우, 출력은 이러한 기본회로의 전기 노이즈를 반영한 진성난수(眞性亂數)가 된다. 기본 회로군에, 제1인버터 회로와 제2의 인버터 회로의 특성이 극히 동일한 조합의 기본회로가 복수 존재해도, 각 기본회로끼리의 전기신호 노이즈에 상관은 없기 때문에, 신호변화 검출회로(EXOR)의 출력R은 동일하게 난수이며, 보다 품위가 높은 진성난수를 얻을 수 있다. 도 1에 나타낸 논리식 R-D0*D1*…*Dn에 있어서 、*의 기호는 배타적 논리화기호를 나타낸다.
도 3에는, 이 발명에 관한 난수발생 회로의 1실시예의 기본적 회로도가 나타나 있다. 이 실시예에서는, 상기 도1의 인버터 회로(INV1∼INV4)가, 2입력의 넌드(NAND)게이트 회로(G1∼G4)로 치환할 수 있다. 상기 게이트 회로(G1)는, 한 방향의 입력과 출력이 결합된다. 이 게이트 회로(G1)의 공통화된 입출력이 게이트 회로(G2)의 한 방향의 입력과 접속된다. 게이트 회로(G2)의 출력은 게이트 회로(G3)의 한 방향의 입력에 접속된다. 게이트 회로(G3)의 출력은 게이트 회로(G4)의 한 방향의 입력에 접속된다. 그리고, 이것들의 게이트 회로(G1∼G4)의 다른 쪽의 입력 에는, 동작 제어 신호(ACT)가 공통으로 공급된다.
도 1의 인버터 회로(INV1∼INV4)는, 상기 NAND 게이트회로(G1∼G4)와 같은 논리 게이트 회로의 1종으로 파악할 수 있다. 즉, 입력 신호를 반전시키는 논리동작을 하는 것이기 때문이다.
도 1과 같이 인버터 회로(INV1∼INV4)를 이용했을 경우에는, 인버터 회로(INV1과 INV2)와 같이 초단측에 있어서는 논리 문턱치전압(VLT)부근에서 동작하는 것이며, 전원전압(VDD)과 회로의 접지 전위와의 사이에 직류전류를 흘리는 것이 된다. 본원발명에서는, 상기와 같이 소자의 프로세스 불균일에 의한 논리 문턱치전압의 정규분포를 이용하는 것이며, 그 때문에 비교적 다수로 이루어지는 단위회로를 동작시킬 필요가 있어서, 상기 인버터 회로(INV1과 INV2)에서의 직류전류는 저소비 전력화를 실현하는 경우에 무시할 수 없다.
이것에 대하여, 이 실시예와 같이 게이트 회로(G1∼G4)를 이용했을 경우에는, 각 게이트 회로(G1∼G4)는, 동작 제어 신호(ACT)를 로우 레벨(논리0)과 같은 비활성화 레벨이라고 했을 때, 상기 동작 제어 신호(ACT)와는 다른 쪽의 입력 신호에 무관계하게 출력 신호를 하이 레벨(논리1)로 하고, 각 게이트 회로(G1, G2)에 있어서도 직류전류가 발생하지 않는다. 즉, 이 실시예 회로에서는, 난수를 필요로 하는 타이밍에서 상기 동작 제어 신호(ACT)를 하이 레벨(논리1)과 같은 활성화 레벨로 한다.
이것에 의해, 각 게이트 회로(G1∼G4)는, 상기 동작 제어 신호(ACT)와는 다른 쪽의 입력 신호에 응답하여 반전 신호를 형성한다는 인버터 회로로서의 동작을 한다. 이것에 의해, 상기 동작 제어 신호(ACT)를 하이 레벨로 하는 것에 의해, 도 1의 기본회로도와 같은 동작을 하는 것이 된다.
도 4에는, 도 3의 진성난수 발생회로의 1실시예의 구체적 회로도가 나타나 있다.게이트 회로(G1)는, 출력노드(N1)와 회로의 접지 전위(VSS)와의 사이에 직렬형태로 된 N 채널 MOSFETQ1과 Q3, 상기 출력노드(N1)와 전원전압(VDD)과의 사이에 병렬 형태로 된 P 채널 MOSFETQ2과 Q4로 구성된다. 상기 MOSFET Q1과 Q3의 게이트가 공통으로 접속되어서 제1의 입력이 된다. 상기 MOSFET Q2과 Q4의 게이트가 공통으로 접속되어서 제2의 입력이 된다. 다른 게이트 회로(G2∼G4)도 상기로 같은 회로에 의해 구성된다.
상기 게이트 회로(G1∼G4)는, 반도체 집적 회로 장치의 설계 및 제조 상에서는, 현실적으로 제어가능한 범위내에 있어서, 상호 동일한 특성을 가지도록 구성된다. 복수의 게이트 회로를 상호 동일한 특성으로 하는 기술에 대하여, 이하에서 개략적으로 설명한다. 게이트 회로(G1∼G4)에 있어서, 그 특성인 논리 문턱치는, 개략적으로는, 그것을 구성하는 P 채널 MOSFET와 N 채널MOSFET으로 결정된다고 이해된다. 그러한 관점에서는 채널 폭W와 채널 길이L과의 비 W/L은 같지만 사이즈가 다른 MOSFET에 의해도 같은 특성의 CMOS게이트 회로를 구성할 수 있다고 이해된다. 그렇지만, 반도체 집적 회로 장치의 제조불균일에 의한 전기 특성에의 영향은, 다른 사이즈의 소자에 대하여는 다른 것이 된다.
이 실시예에서는, 이러한 복수의 게이트 회로(G1∼G4)의 제 각각은, 최적인 것으로는, 제 각각을 구성하는 소자의 상호, 즉 P 채널형 MOSFET의 상호간, 및 N 채널형 MOSFET의 상호간이 서로 동일한 구조, 동일한 사이즈로 구성된다. 말할 필요도 없이 그러한 소자는, 같은 소자는 같은 프로세스를 기초로 일괄 제조된다는 반도체 집적 회로 장치의 특징을 따라서 제조된다. 이것에 의해 복수의 게이트회로(G1∼G4)는, 반도체 집적 회로 장치의 제조상의 가공 치수의 불균일, 각종 층의 두께불균일, 불순물농도 불균일 등등의 제조불균일에 의한 영향을 균등하게 받게 되며, 또한, 논리 문턱치전압도 정규분포를 가지게 된다.
도 3에 나타낸 실시예에서는, 2개의 게이트 회로(G1과 G2)의 논리 문턱치의 크기의 판정 출력이 게이트 회로(G2)로부터 출력된다. 이러한 신호전달 및 증폭 경로에 상기와 같은 전기신호 노이즈가 중첩함에 의해, 이러한 전기신호 노이즈를 반영한 출력 신호를 얻는다. 즉, 게이트 회로(G1)의 단락된 입출력 노드의 전압(논리 문턱치에 상당한다)을 게이트 회로(G2)의 입력 바이어스로서 공급하고, 상기 전기신호 노이즈에 반영한 출력 신호를 후단의 게이트 회로(G3, G4)에 의해 증폭해서 CMOS레벨의 2치(値) 신호를 얻는 것이다. 따라서, 엄밀하게는 게이트 회로(G3과 G4)는, 단지 증폭 동작을 행하는 것이기 때문에 게이트 회로(G1과 G2)와 같이 P 채널형 MOSFET의 상호간, 및 N 채널형 MOSFET의 상호간이 서로 동일한 구조, 동일한 사이즈로 구성될 필요는 없지만, 이 실시예에서는 주로 회로 설계의 관점부터 동일한 구조, 동일한 사이즈로 구성된다.
도 5에는, 상기 도 3의 진성난수 발생회로의 동작의 일례를 설명하기 위한 파형도가 나타나 있다. 동일한 도면에서는, 신호전달 경로에서의 전기신호 노이즈는 생략되어 있다. 동작 제어 신호(ACT)를 로우 레벨로부터 하이 레벨로 변화시키 면, 상기 각 게이트 회로(G1∼G4)가 실질적으로 동작 상태가 되고, 게이트 회로(G1)의 출력 노드(N1)가 그 논리 문턱치에 대응한 전압이 된다. 또, 이것에 필요한 시간을 수속 시간(收束時間)으로 부르기로 한다.
게이트 회로(G2)는, 그 논리 문턱치에 의해 노드(N1)의 전압을 판정하고, 그 출력 노드(N2)의 전위를 정한다. 이 예에서는, 게이트 회로(G1)의 논리 문턱치가, 게이트 회로(G2)의 논리 문턱치보다도 간신히 크므로, 게이트 회로(G2)에서의 증폭 동작에 의해 노드(N2)의 전위가 상기 노드(N1)에 대하여 작은 전압이 된다. 이 노드(N2)의 전압은, 게이트 회로(G3)에 의해 증폭되어서 노드(N3)와 같이 하이 레벨로 커진다. 그리고, 게이트 회로(G4)에 의해 더욱 증폭되어서 노드(N4)와 같이 회로의 접지 전위(VSS)에 도달한다.
상기 노드(N1과 N2)의 전위차가 아주 적고, 거기에 발생하는 전기신호 노이즈가 노드(N2)의 전위 이하가 되면, 출력 신호는 반전하게 된다. 즉, 상기 도 2(a) 와 동일하게 노드(N1과 N2)의 전위차를 반전시키도록 전기신호 노이즈가 발생했을 경우, 반대로 한다면 전기신호 노이즈에 의해 노드(N1과 N2)의 전위차관계가 역전할 것 같은 아주 작은 전압차밖에 없는 게이트 회로(G1과 G2)의 조합을 가진 기본회로에서는, 출력은 이러한 기본회로의 전기 노이즈를 반영한 진성난수를 발생시킬 수 있다. 당연한 것이지만, 상기의 진성난수를 발생시킬 수 있는 것은, 수속 시간이 경과한 후인 것은 말할 필요도 없다. 수속(收束)시간 중이면, 각 NAND 게이트의 노드의 과도적인 상태의 영향을 받고, 본래의 미소한 전기 노이즈를 반영한 진성난수를 얻는 것은 어렵다.
이 실시예에서는, 회로가 정지 상태 즉 동작 제어 신호(ACT)가 로우 레벨일 때, 도 3의 N 채널 MOSFETQ3, Q7, Q11, Q15이 off 상태가 되고, 상기의 CMOS 인버터 회로를 이용했을 경우와 같은 관통 전류가 억제된다. 또한, 게이트 회로로서 넌드(NAND)회로를 이용한 이점은, CMOS 논리 LSI의 표준소자이기 때문에, 적용할 제품을 한정하지 않는 것이다. 즉, 완전논리 기술형 회로로 구성되기 때문에, 회로 설계가 용이해지는 것이다.
도 4의 실시예에서는, 동작 제어 신호(ACT)가 직렬의 N 채널 MOSFET의 Q3, Q7, Q11, Q15의 게이트에 접속되어 있지만, N 채널 MOSFETQ1, Q5, Q9, Q13에 접속되어서, 노드(N1, N2, N3)는 N 채널 MOSFET의 Q3, Q7, Q11, Q15의 게이트에 접속되어도 좋다.
트랜지스터 레벨 회로기술에 있어서 중요한 것은, 개개의 NAND소자 중의 MOSFET의 신호접속 위치이다. 상기의 정지 상태에서는 각 게이트 회로(G1∼G4)의 출력 즉 노드(N1, N2, N3)의 전위가 자동적으로 전원전압이 되기 때문에, 그것들 신호의 접속처의 P 채널 MOSFET의 NBTI에 의한 특성의 변동을 방지할 수 있는 효과가 있다.
MOS 트랜지스터는, 그 문턱치전압이 전계강도와 온도에 의존하는 것 같은 전계 스트레스에 의해 원치 않게 변동하는 일이 있다. 특히 NBTI (Negative Bias Temperature lnstability)이라고 불리는 현상은, P 채널형 MOSFET로 현저에 나타나는 현상이다. 그 방어책으로서, 목적외의 시간에 있어서 PMOS의 게이트에 인가되는 전압을 높은 전압으로 하는 방법이 잘 이용할 수 있다. 이 실시예에서는, 상기 동 작 제어 신호(ACT)의 하이 레벨에 의해 논리 문턱치 판정 동작을 행하게 하고, 이러한 논리 문턱치 판정 동작시 이외에는, 동작 제어 신호(ACT)를 로우 레벨로 해서 P 채널형 MOSFET의 게이트에는, 전원전압을 공급하도록 게이트 전압을 고정 전압으로 하는 것이다. 이것에 의해, P 채널형 MOSFET는, 게이트, 드레인 및 소스와 기판(채널)의 모두가 전원전압과 다름없는 동전위가 되고, 상기 MOSFET의 경시 변화에 의한 논리 문턱치의 변동이 극력 억제할 수 있다. 이것은, 상기와 같이 각 단위회로의 출력 신호를 조합에 의해 식별 정보를 얻는 동시에서 특히 유효한 것이 된다.
이것에 대하여, 난수발생 회로에 있어서는, 상기와 같은 소자특성의 변동, 혹은 전원전압의 변동 등에는 기본적으로는 영향을 받지 않는다는 특징을 갖고 있다. 이 실시예의 난수발생 회로에서는, 상기 설명한 것 같이 비교적 다수의 단위회로 중에서 적어도 1개, 게이트 회로(G1과 G2)의 논리 문턱치전압이 상기 전기신호 노이즈로부터 동일하다고 간주되는 것이 존재하면 좋다. 상기 소자특성의 변동, 혹은 전원전압의 변동 등에는 상기 다수로 이루어지는 단위회로군의 전부에 있어서 발생하고, 그것에 의해 어떤 단위회로에서는 게이트 회로(G1과 G2)의 논리 문턱치전압이 상기 전기신호 노이즈와 같은 것으로 간주되었던 것이 벗어나 버려도, 별도의 단위회로에서는 반대로 게이트 회로(G1과 G2)의 논리 문턱치전압이 상기 전기신호 노이즈와 같은 것으로 간주되기 때문이다.
도 33에는, 도 4의 진성난수 발생회로의 변형예가 나타나 있다.
도 33(a)의 NAND 게이트회로(G1과 G2)(상기 도 1의 인버터 회로(INV1과 INV2)에 상당)의 전기적 특성불균일을 억제하기 때문에, NAND를 구성하는 트랜지스터의 채널 길이L 및 채널 폭W를 어느 것이나 표준 사이즈(보통 프로세스의 최소치수)보다도 크게 한다.
이러한 트랜지스터의 L 및 W를 크게 하는 것으로써 트랜지스터의 게이트 전극의 가공 오차에 기인하는 특성의 불균일을 억제할 수 있다. 또한, MOS트랜지스터의 게이트 전극직하의 불순물농도의 통계적 변동에 기인하는 불균일(이것을, 「동요(動搖) 현상 」이라 한다.)을 억제할 수 있다. 최근의 첨단 프로세스에서는, 동일 칩 상의 MOS트랜지스터의 전기적 특성불균일은, 가공 오차부터의 동요 현상의 영향이 지배적인 것으로 알려지고 있다.
NAND 게이트회로(G1과 G2)를 구성하는 각 트랜지스터 크기는 공통일 필요는 없지만, 회로동작시의 상태에 관계된, 바꿔 말하면 상기 활성상태에서의 논리 문턱치의 결정에 영향을 미치게 하는 P 채널 MOSFETQ2(Q6)과 N 채널 MOSFETQ1, Q3(Q5, Q7)을 우선해서 크게 한다. 각 NAND 게이트회로(G1과 G2)가 대응하는 MOSFET는 같은 형상일 필요가 있다.
또한, 증폭 회로로서 동작하는 게이트 회로(G3 및 G4)는, 상기한 바와 같이 설정하는 것은 필요없지만, 회로 설계상 혹은 소자 레이아웃상은 게이트 회로(G1과 G2)로 같은 것을 이용하는 것이 간단해지고, 후술하는 것 같은 난수발생 회로의 존재를 숨기는 경우에 유리한 것이 된다.
도 33(b)에는, 도 33(a)와 같은 효과를 얻을 수 있는 별도의 실현 방법의 회로가 나타나 있다. 즉, 3입력 NAND게이트를 이용하고, 활성상태에서의 논리 문턱치 의 결정에 영향을 미치게 하는 P 채널 MOSFET와 N 채널 MOSFET를 각 2개씩으로 해서 상기 동요 현상의 영향을 억제하는 것이다. 이것은 특수한 사이즈의 MOS트랜지스터를 특별히 설계하는 것 없이 표준적인 사이즈의 게이트 부품으로 실현된다는 이점이 있다.
또, 상기 도 3, 도 4 및 도 33은 어느 것이나 NAND 게이트를 이용해서 기본회로를 구성했지만, NAND의 대신에 NOR 게이트여도 상관없다. 단지, 그 경우에는 이러한 기본회로는, 동작 제어 신호(ACT)가 로우 레벨(논리0)에서 활성화하는 것이 된다. 상기와 같이 , NBTI라고 불리는 전계 스트레스에 기인하는 열화 현상은 특히 P 채널 MOSFET에서 현저하다. 그러나 다른 소자, 예컨대 폴리 실리콘FET나 유기 트랜지스터 등에 있어서, 이러한 열화 현상이 P 채널형이 아니라N 채널형으로 현저할 경우는, 노아(NOE)게이트를 이용하는 것이 바람직하다.
또, 도 3에 나타낸 실시예에 있어서, 각 단위회로(UC0∼UCn)내의 NAND 게이트(G2, G3, G4)에 대해서는, 각각 접속된 공통 제어 신호(ACT)를 전원(VDD)에 접속해서 항상 하이 레벨(논리1)로 해도 좋으며, 그것에 의해서 본 실시예가 가지는 기본적 기능은 변하지 않는다.
도 6에는, 도 3의 진성난수 발생회로의 신호변화 검출회로(EXOR)의 1실시예의 구체적 회로도가 나타나 있다. 이 실시예에서는, 배타적 논리화회로(EX0∼EXn)가 종렬 접속되어서 상기 신호변화 검출회로(EXOR)가 구성된다. 단위회로UC0의 출력 신호D0를 받는 배타적 논리화회로(EX0)의 다른 쪽의 입력에는, 특별히 제한되는 것은 아니지만, 로우 레벨(논리0)과 같은 고정값이 주어진다. 차단의 단위회로UC1 의 출력 신호D0를 받는 배타적 논리화회로(EX1)의 다른 쪽의 입력에는, 상기 배타적 논리화회로(EX0)의 출력 신호가 공급된다. 이하, n+1번째의 단위회로UCn의 출력 신호Dn를 받는 배타적 논리화회로(EXn)의 다른 쪽의 입력에는, 도시하지 않지만 1개 앞의 배타적 논리화회로(EXn-1)의 출력 신호가 공급된다.
이것에 의해, 배타적 논리화회로(EXn)의 출력 신호R은, 상기 n+1개의 단위회로(UC0∼UCn)의 출력 신호(D0∼Dn) 중 어느 1개라도 변화되면, 그것에 대응해서 그것에 대응한 배타적 논리화회로(EX)의 출력 신호가 변화되고, 상기 직렬형태로 된 배타적 논리화회로에 의해 출력 신호R이 변화되는 것이 된다. 즉, 상기출력 신호R은, 단위회로(기본회로)의 전기 노이즈를 반영한 진성난수가 된다.
상기 신호변화 검출회로(EXOR)로서는, 논리 게이트 회로로 구성할 경우에는 상기와 같은 복수개의 배타적 논리화회로를 이용하는 것이 편리하지만, 또한 그것에 한정되지 않고, 출력 신호(D0∼Dn)의 논리 레벨의 변화를 검출하는 것이면 어떤 것이어도 좋다. 예컨대, 출력 신호(D0∼Dn)와, 그 지연 신호에 의해 숏 펄스를 형성하는 것 등 여러가지의 실시 형태를 채용할 수 있다.
도 7에는, 이 발명에 관한 진성난수 발생회로의 다른 1실시예의 회로도가 나타나 있다. 이 실시예에서는, 단위회로(UC0∼UCn)가 디코더(DEC)를 이용해서 시간적으로 분산되어서 동작된다. 그리고, 1개의 배타적 논리화회로(EX)와, 1개의 플립 플랍 회로(FF)를 이용하고, 복수의 단위회로UC0~UCn의 출력의 배타논리를 누산하는 것에 의해 진성난수(RR)를 얻는 것이다. 또, 배타논리화를 복잡한 논리에 변경하는 것으로써 발생 패턴을 보다 해독되기 어려운 진성난수를 얻을 수 있다.
상기 디코더(DEC)은, 특별히 제한되는 것은 아니지만, 카운터와 디코더에 의해 구성된다. 즉, 클록(CLK)을 카운터에서 계수(計數)하고, 그 계수출력을 디코드 해서 단위회로(UC0∼UCn)를 순차 동작 상태로 하는 동작 제어 신호(DEC0∼DECn)를 생성하는 것이다. 또는, 쉬프트레지스터를 이용하고, 선택 신호에 대응한 초기값을 클록(CLK)에 의해 순차적으로 시프트 해서 단위회로(UC0∼UCn)를 순차적으로 동작 상태로 하는 동작 제어 신호(DEC0∼DECn)를 형성하게 된다.
이렇게 단위회로(UC0∼UCn)를 순차적으로 동작 상태로 하기 때문에, 단위회로UC0를 예로 들어 설명하면, 게이트 회로(G1과 G2)에 대하여 동작 제어 신호로서의 디코드 출력DEC0가 공급된다. 증폭 회로로서의 게이트 회로(G3과 G4)는, 상기 게이트 회로(G1과 G2)가 동작 제어 신호DEC0에 의해 동작 상태라고 했을 때에는, 그것에 대응한 출력 신호의 증폭 동작을 행하고, 상기 게이트 회로(G1과 G2)가 동작 제어 신호DEC0에 의해 비동작 상태가 된 경우에는, 전단의 단위회로의 출력 신호를 통해서 전달하는 동작을 한다.
게이트 회로(G3)의 한 쪽의 입력에는, 그것에 대응한 게이트 회로(G2)의 출력 신호가 전해지고, 다른 쪽의 입력에는 전단의 단위회로의 출력 신호가 전해진다. 게이트 회로(G4)는, 한 방향의 입력에는 그것에 대응한 게이트 회로(G3)의 출력 신호가 공급되어, 다른 쪽의 입력에는 전원전압에 대응된 하이 레벨이 고정적으로 공급된다. 이것에 의해, 게이트 회로(G4)는 실질적으로는 인버터 회로로서 동작한다. 초단의 단위회로UC0의 게이트 회로(G3)의 다른 쪽의 입력에는, 전원전압에 대응된 하이 레벨이 고정적으로 공급된다.
도 8에는, 도 7의 진성난수 발생회로의 동작의 일례를 설명하기 위한 개념적인 파형도가 나타나 있다. 디코더(DEC)에 의해, 초단의 단위회로UC0에 대응한 동작 제어 신호DEC0가 하이 레벨의 선택 레벨이 되면, 게이트 회로(G1과 G2)에 의한 출력 신호가 형성되어서 게이트 회로(G3, G4)에 의해 증폭되어서 출력 신호D0가 형성된다. 단위회로(UC1∼UCn)에 있어서는, 상기 동작 제어 신호(DEC1∼DECn)가 로우 레벨의 비선택 레벨이므로, 게이트 회로(G2)에 상당하는 게이트 회로의 출력 신호는 모두 하이 레벨이 된다. 그 때문에, 게이트 회로(G3)에 상당하는 게이트 회로는 인버터 회로로서의 동작을 행하고, 전단회로로부터의 출력 신호를 증폭하기만 한다. 이 결과, 상기초단의 단위회로UC0의 출력 신호D0는, 상기 단위회로(UC1∼UCn)의 게이트 회로를 통과시켜서 배타적 논리화회로(EX)에 전해진다. 즉, Dl∼Dn은, D0를 따른 레벨이 된다.
디코더(DEC)에 의해, 제2번째의 단위회로UC1에 대응한 동작 제어 신호DEC1 이 하이 레벨의 선택 레벨이 되면, 상기와 같이 게이트 회로(G1과 G2)에 대응한 2개의 게이트 회로에 의한 출력 신호가 형성되어서 게이트 회로(G3, G4)에 대응한 게이트 회로에 의해 증폭되어서 출력 신호D1이 형성된다. 즉, 상기초단의 단위회로에서는, 선택 신호DEC0 의 로우 레벨에 의해 게이트 회로(G2)의 출력 신호가 하이 레벨이 되고, 출력 신호D0를 하이 레벨로 고정한다. 따라서, 상기한 바와 같은 단위회로UC1에 있어서는, 상기한 바와 같이 게이트 회로(G3, G4)에 대응한 게이트 회로에 의한 증폭 동작이 행하여진다. 이하에서, 그 출력 신호D1은, 상기와 같이 후단측의 단위회로에 있어서의 증폭 회로로서의 게이트 회로를 통과시켜서 배타적 논 리화회로(EX)에 전해진다. 즉, D2∼Dn은, D1을 따른 레벨이 된다. 제3번째 이후의 단위회로(UC2∼UCn)의 선택 동작도 상기와 같다.
도 7의 실시예 회로의 실제의 파형은, 도 8 과는 다르다. 즉, 단위회로UC0에 있어서 비선택 상태인 때에는, 출력 신호D0가 하이 레벨이 된다. 즉, 상기 DEC1이 비선택 레벨이 됨과 동시에 출력 신호D0는 비선택 상태에 대응한 하이 레벨의 출력 신호를 형성하는 것이 된다. 이 것은, 단위회로(UC1∼UCn)가 비선택 레벨이 되었을 때에, 각 출력 신호D1∼Dn도 일제히 하이 레벨이 된다. 이러한 비선택 상태에 대응해서 출력 신호(D0∼Dn)의 레벨을 충실하게 표현하면, 상기 단위회로(UC0∼UCn)가 순서동작하고, 그 출력이 순차 시리얼에 출력되는 것을 알기 어려워지므로, 단위회로(UC0∼UCn)에 있어서의 비선택 상태에서의 출력 레벨의 변화를 무시하여 도 8과 같이 나타내는 것이다.
도 7의 실시예 회로에 있어서, (n+1)개의 단위회로(기본회로)를 포함하는 단위회로군이 예시되고 있으며, (n+1)개의 기본회로 중, 제1게이트 회로(G1)(제1인버터 회로(INV1))와 제2게이트 회로(G2)(제2의 인버터 회로(INV2))의 특성이 극히 동일한 조합의 단위회로가 적어도 1개 이상 존재한다. 상기와 같이 , 단위회로군 중에 포함되는 제1게이트회로(G1)와 제2게이트 회로(G2)의 특성이 극히 동일한 조합의 단위회로의 수가 많을수록, 얻을 수 있는 난수의 품위는 높아진다. 단위회로군에 포함되는 제1게이트 회로(G1)와 제2게이트 회로(G2)의 특성이 극히 동일한 조합의 단위회로의 수를 충분한 수로 하기 위해서는, 제1게이트 회로(G1)과 제2게이트 회로(G2)의 특성이 극히 동일한 조합의 단위회로가 존재할 확률을 높이고, 단위회 로군에 포함되는 단위회로수를, 이러한 확률에 적당한 적정한 수로 하는 것이 필요하다. 제1게이트 회로(G1)와 제2게이트 회로(G2)의 특성이 극히 동일한 조합의 단위회로가 존재할 확률은, 해당 회로의 제조 프로세스와 설계 수법 등에 의존하는 요소가 높기 (생산고에 따름)때문에, 단위 회로군에 포함되는 단위회로수의 최적화가 중요하다.
또한, 난수의 품위를 향상시키는 별도의 수단으로서, 배타논리화회로(EX)와 플립 플랍 회로(FF)를 이용한 누산의 회수를 늘리는 것도 유효하다. 구체적으로는, 도 8에 예시된 동작 파형에 있어서, (n+1)개의 단위회로의 누산을, 예컨대 (n+1)×m과 m배로 연장한다. 즉, 단위회로(UC0∼UCn) 전출력(D0∼Dn)을 m회에 걸쳐 판독하여 1비트의 난수R(RR)을 결정하는 것이다.
도 9에는, 이 발명에 관한 진성난수 발생회로와 그 요소회로의 1실시예의 회로도가 나타나 있다. 도 9(a)에 나타낸 진성난수 발생회로에서는, 도 9(b)에서 나타낸 것 같은 단위회로(요소회로)가 M×N개와 같이 매트릭스 배치된다.
1개의 행이 상기 도 7의 회로와 같이 접속되어, 그 출력부에 행선택 신호에 의해 선택되는 NAND 게이트회로(G0)와 클록드 인버터회로(CN0)가 설치된다. M 개로 이루어지는 각 행을 구성하는 단위회로는, 대응하는 것끼리가 열 디코더에 의해 형성된 열선택 신호(C0∼CM-1)에 의해 공통적으로 선택된다. 상기 N개의 행방향으로 배치된 단위회로는, 행 디코더에 의해 형성된 행선택 신호(R0∼RN-1)에 의해 1개가 선택된다. 이러한 행선택 신호(R0∼RN-1)는, 상기 NAND 게이트회로(G0)와 클록드 인버터회로(CN0)로 이루어지는 행선택 회로의 선택 신호로서도 이용할 수 있 다. 선택 회로를 구성하는 클록드 인버터회로(CN0)는, 그것이 비동작 상태인 때에 출력 하이인피던스 상태가 되므로, 상기 N개의 클록드 인버터회로의 출력 신호가 공통적으로 접속되어, 선택된 1개의 행에 대응한 클록드 인버터회로의 출력 신호가 NAND 게이트회로(G11)에 전달된다.
동작 제어 신호(ACT)에 의해 게이트가 제어되는 NAND 게이트회로(G10)와 인버터 회로(INV10)를 통과시켜서 클록(CLK)이 M진 카운터에 공급된다. 이것에 의해, M진 카운터에서는 동작 제어 신호(ACT)가 활성상태인 때에 클록(CLK)에 대응해서 0∼M-1의 계수동작을 하고, 열 디코더에 의해 (C0∼CM-1)의 선택 신호가 형성되어서 단위회로의 출력 신호가 도 7의 실시예와 같이 시리얼에 출력된다.
상기 M진 카운터의 캐리 신호가 N진 카운터에 공급되므로, N진 카운터는 M진 카운터의 1주위에 대응해서 계수동작을 행한다. 이것에 의해, 상기 행 방향에 배치된 M개의 단위회로의 판독이 행하여지면, 행선택의 전환이 행하여져서 0행째로부터 RN-1행째까지, 각각 N개의 단위회로의 판독이 실시된다.
본 실시예에 있어서, M×N사이클에서 모든 단위회로의 판독이 행하여지기 때문에, M×N사이클에 의해 출력RR로부터 1비트의 진성난수를 생성할 수가 있다. 이것을 K회 반복하는 것에 의해 K비트의 진성난수를 얻을 수 있다. 이 구성에서는, M×N개의 단위회로 중 적어도 1개만 상기와 같은 전기신호 노이즈에 응답하는 단위회로가 존재하도록 M×N의 수를 고르는 것이다. 또, 상기 K회의 반복의 사이에 J개(0 <J <K의 정수)의 난수를 집어내도 좋다. 단지 그 경우는, 각 난수 비트의 취득 사이클은 M×N 사이클 이상 떨어져 있어야 한다. 또한, 상기M개로 이루어지는 단위회로 중, 상기 진성난수를 발생시키는 것이 적어도 1개 존재하도록 M의 수를 고르게 하면, M사이클 마다(각행 마다)에 1비트의 진성난수(RR)를 취득할 수가 있으므로, M×N사이클에 의해 N비트의 진성난수를 발생시키는 진성난수 발생회로를 구성할 수가 있다.
도 9(b)에는, 상기 도 9(a)에 있어서의 회로요소의 1실시예의 구체적 회로도가 나타나 있다. 단위회로는, 상기 도 7에 나타낸 게이트 회로(G1∼G4)에, 행/열선택 기능을 설치하기 위한 게이트 회로(G5과 G6)가 추가된다. NAND 게이트회로(G5)의 2개의 입력에는, 열선택 신호(Ci)와, 행선택 신호(Ri)가 공급된다. 게이트 회로(G3)에는, 상기 도 7의 단위회로와 같이 그 행에 있어서의 1단 전의 단위회로의 출력 신호(Di)가 공급된다. 이것에 의해, 행 및 열이 선택 상태로 된 1개의 단위회로만이 상기와 같은 동작 상태가 된다.
도 9(c)에는, 상기 도 9(b)에 있어서의 회로요소의 다른 1실시예의 구체적 회로도가 나타나 있다. 단위회로는, 도 9(b) 및 상기 도 7에 나타낸 게이트 회로(G1∼G4)을 3입력 넌드 게이트로 해서, 행/열선택 기능을 겸비하고 있다. NAND 게이트회로(G5 및 G6)의 3개의 입력 중 2개의 입력에는, 열선택 신호(Ci)와, 행선택 신호(Ri)가 공급된다. 게이트 회로(G7)에는, 도 9(b) 및 상기 도 7의 단위회로와 같이 그 행에 있어서의 1단 전의 단위회로의 출력 신호(Di)가 공급된다. 이것에 의해, 행 및 열이 선택 상태가 된 1개의 단위회로만이 상기와 같은 동작 상태가 된다.
도 9(a)에 있어서의 클록드 인버터회로(CN)는, 도 9(d)에 나타낸 바와 같 이, 전원전압(VDD)과 회로의 접지 전위(VSS)와의 사이에 직렬접속된 P 채널 MOSFETQ1, Q2과 N 채널 MOSFETQ4, Q3로 구성된다. P 채널 MOSFETQ1과 N 채널 MOSFETQ3의 게이트가 공통으로 접속되어서 입력 단자A라고 한다.
P 채널 MOSFETQ2과 N 채널 MOSFETQ4의 드레인이 공통으로 접속되어서 출력 단자B가 된다. 그리고, 단자 C로부터 공급되는 제어 신호는, N 채널 MOSFETQ4의 게이트에 공급되어, 상기 제어 신호가 인버터 회로(INV12)에 의해 반전되어서 P 채널 MOSFETQ2의 게이트에 공급된다.
단자 C로부터 공급되는 행선택 신호와 같은 선택 신호가 하이 레벨인 때에 N 채널 MOSFETQ4과 P 채널 MOSFETQ2이 on 상태가 되고, 입력 단자A로부터의 입력 신호를 받는 N 채널 MOSFETQ3과 P 채널 MOSFETQ1의 on/off에 대응한 출력 신호가 출력 단자B로부터 출력된다. 단자 C로부터 공급되는 행선택 신호와 같은 선택 신호가 하이 레벨인 때에 N 채널 MOSFETQ4과 P 채널 MOSFETQ2이 동시에 on 상태가 되고, 입력 단자A로부터의 입력 신호에 의해 N 채널 MOSFETQ3 또는 P 채널 MOSFETQ1이 상보적으로 on 상태가 되고, 로우 레벨 또는 하이 레벨이 출력 단자B로부터 출력된다.
또한, 도 9(a)에 있어서의 클록드 인버터회로(CN)는, 도 9(e)에 나타낸 것 같은 트랜스퍼 게이트 회로여도 좋다. 클록드 인버터회로(CN)는, 도 9(e)에 나타낸 바와 같이, 입력 단자A와 출력 단자B와의 사이에 직렬접속된 P 채널 MOSFET Q5과, N 채널 MOSFET Q6으로 구성된다. 단자 C로부터 공급되는 제어 신호는, N 채널 MOSFETQ6의 게이트에 공급되어, 상기 제어 신호가 인버터 회로(INV14)에 의해 반전 되어서 P 채널 MOSFETQ5의 게이트에 공급된다. 단자 C로부터 공급되는 행선택 신호와 같은 선택 신호가 하이 레벨인 때에 P 채널 MOSFETQ5과 N 채널 MOSFETQ6이 on 상태가 되고, 입력 단자A로부터의 입력 신호가 출력 단자B으로부터 출력된다. 단자 C로부터 공급되는 행선택 신호와 같은 선택 신호가 하이 레벨인 때에 N 채널 MOSFETQ4과 P 채널 MOSFETQ2이 동시에 on 상태가 되고, 입력 단자A로부터의 입력 신호에 의해 N 채널 MOSFETQ3 또는 P 채널 MOSFETQ1이 상보적으로 on 상태가 되고, 로우 레벨 또는 하이 레벨이 출력 단자B로부터 출력된다. 또한, 단자 C로부터 공급되는 행선택 신호와 같은 선택 신호가 로우 레벨인 때에 N 채널 MOSFETQ4과 P 채널 MOSFETQ2이 동시에 off 상태가 되고, 출력 단자B는 하이 임피던스가 된다.
도 10에는, 이 발명에 관한 진성난수 발생회로와 그 요소회로의 다른 1실시예의 회로도가 나타나 있다. 도 10(a)에 나타낸 진성난수 발생회로에서는, 도 10(b)에 나타낸 단위회로가 M (열)×N(행)개와 같이 매트릭스 배치된다. 1개의 행이 상기 도 7의 회로와 같이 접속되어, 그 출력부에 NAND 게이트회로(G0)와 배타적 논리화회로(EX0)가 설치된다.NAND 게이트회로(G0)의 다른 쪽의 입력은 전원(VDD)가 접속되어 항상 하이 레벨(논리1)상태이다. M 개로 이루어지는 각 행을 구성하는 단위회로는, 대응하는 것끼리가 열 디코더에 의해 형성된 열선택 신호(C0∼CM-1)에 의해 공통적으로 선택된다.
동작 제어 신호(ACT)에 의해 게이트가 제어되는 NAND 게이트회로(G10)와 인버터 회로(INV10)를 통과시켜서 클록(CLK)이 M진 카운터에 공급된다. 이것에 의해, M진 카운터에서는 동작 제어 신호(ACT)가 활성상태시에 클록(CLK)에 대응해서 0∼ M-1의 계수동작을 하고, 열 디코더에 의해 (C0∼CM-1)의 선택 신호가 형성되어서, N행에서 구성되는 Ci를 공통이라고 하는 각행의 단위회로의 출력 신호가 도 7의 실시예와 같이 시리얼에 출력된다.
NAND 게이트회로(G0)의 출력은, 배타적 논리화회로(EX0)에 접속되어, (EX0)의 다른 쪽의 입력에 접속된다. 더욱이 배타적 논리화회로(EX0)의 출력은, 이웃한 행의 배타적 논리화회로에 접속되어, 모든 행의 배타적 논리화회로의 출력은 순차적으로 이웃한 행에 종렬 접속된다. 배타적 논리화회로(EX0)의 다른 쪽의 입력에는, 특별히 제한되는 것은 아니지만, 하이 레벨(논리1)과 같은 고정값이 주어진다. 이것에 의해, 종렬 접속된 배타적 논리화회로의 출력 신호(RA)는, 상기 선택된 (Ci)를 공통으로 하는 N행의 단위회로로부터 생성되는 N개의 출력 신호 중 어느 1개라도 변화되면, 그것에 대응해서 각 행의 배타적 논리화회로의 각 출력 신호가 변화되고, 상기 종렬 형태로 된 배타적 논리화회로에 의해 출력 신호(RA)가 변화하는 것이 된다. 즉, 상기출력 신호(RA)는, 1사이클의 동작에서 N개의 단위회로(기본회로)의 전기 노이즈를 반영한 값이 된다.
본 실시예에 있어서, M사이클에서 모든 단위회로의 판독이 행하여지기 때문에, M사이클에 의해 출력RR로부터 1비트의 진성난수를 생성할 수가 있다. 이것을 K회 반복하는 것에 의해 K비트의 진성난수를 얻을 수 있다. 이 구성에서는, M×N개의 단위회로 중 적어도 1개만 상기와 같은 전기신호 노이즈에 응답하는 단위회로가 존재하도록 M×N의 수를 고르는 것이다. 또, 상기 K회의 반복의 사이에 J개(0 <J <K의 정수)의 난수를 집어내도 좋다. 단 그 경우는, 각 난수 비트의 취득 사이클은 M사이클 이상 떨어져 있어야 한다.
도 10(b)에는, 상기 도 10(a)의 진성난수 발생회로에 있어서의 회로요소의 1실시예의 구체적 회로도가 나타나 있다. NAND 게이트회로(G1과 G2)의 2개의 입력의 한 방향에는, 열선택 신호(Ci)가 공급된다.
게이트 회로(G3)에는, 상기 도 7의 단위회로와 동일하게 그 행에 있어서의 1단 전의 단위회로의 출력 신호(Di)가 공급된다. 이것에 의해, 열이 선택 상태로 된 1개의 단위회로만이 상기와 같은 동작 상태가 된다.
도 11에는, 도 9의 진성난수 발생회로의 동작의 일례를 설명하기 위한 개략파형도가 나타나 있다. 동작 제어 신호(ACT)가 하이 레벨의 활성화 레벨로 된 상태에서, 클록(CLK)을 입력하면, 그것에 대응해서 열선택 신호(C0∼CM-1)가 열 디코더로부터 출력된다. 이 때, N진 카운터는 계수값이 제로이기 때문에 0행째의 행선택 신호(R0)를 선택 레벨로 하므로, 제0행째의 단위회로의 출력 신호가 열선택 신호(C0∼CM-1)에 대응해서 시리얼에 출력된다. 0행째의 단위회로의 판독이 행하여지면, 그 캐리 신호에 의해 N진 카운터가 +1의 계수동작을 행하고, 상기 제0행째 R0를 비선택으로 해서 대신 제1행째 R1을 선택 상태로 한다. 이렇게 하여, N-1행째까지의 단위회로의 판독이 순차적으로 행하여진다. 진성난수(RR)는, 상기 단위회로의 시리얼 출력R과, 1개 전의 출력과의 배타적 논리화에 의해 결정된다. 또한, 도 10의 진성난수 발생회로의 동작 파형도는, 도 9와 유사하므로 생략한다 .
도 9와 다른 점은, 선택 신호(R0∼RN-1)가 없는 것이다.
그것에 의해서 N진 카운터를 진행시키기 위한 동작이 불필요해지고, M ×N개 의 단위회로(기본회로)를 모두 선택하기 때문에 필요한 사이클이 M회가 된다.
도 12에는, 이 발명에 관한 진성난수 발생회로의 다른 1실시예의 개념도가 나타나 있다. 이 실시예에서는, 산술방식의 난수발생 회로와, 본 발명에 이러한 물리현상을 이용한 진성난수 발생회로를 조합시킨 방법에 의해, 난수를 발생시키는 것이다. 상기와 같이 산술방식의 난수발생 회로는, 회로가 비교적 소규모이지만, 얻을 수 있는 난수의 품위는 높지 않다. 특히, 무수한 난수를 취득했을 경우, 주기성이 나타난다는 본질적인 결점이 있다. 거기에서, 산술방식의 알고리즘 중에, 이 발명에 관한 진성난수 발생회로에서의 전기신호 노이즈에 응답한 불규칙한 요소를 초기값으로서 삽입하는 것으로써 주기성을 저감하는 것이 가능하다.
도 13에는, 도 12의 초기값 발생회로의 1실시예의 회로도가 나타나 있다. 이 실시예는, 기본적으로는 상기 도 6의 실시예와 같다. 다른 점은, 배타적 논리화(EX0∼EXn)으로 바꿔서 플립 플랍 회로(FF0∼FFn)가 설치되며, 이러한 플립플랍회로(FF0∼FFn)로부터 (D0∼Dn)과 같은 초기값을 얻는 것이다.
상기 신호(D0∼Dn)는, 그 속의 대부분이 상기와 같은 프로세스 불균일에 의해 고정값이 되지만, 그 속의 어느1 내지 몇 비트가 전기신호 노이즈에 응답한 난수가 되므로, 상기 산술방식 난수발생 회로의 초기값으로서의 기능을 충분히 발휘시킬 수 있다.
도 14에는, 도 12의 초기값 발생회로의 다른 1실시예의 회로도가 나타나 있다. 이 실시예는, 기본적으로는 상기 도 6의 실시예와 같다. 다른 점은, 활성화 신호(ACT)에 의해 1비트의 난수를 플립 플랍 회로(FF)로부터 출력시키는 것이다. 즉, 이 실시예에서는 1비트의 난수를 상기 산술방식 난수발생 회로의 초기값으로서 이용하는 것이다.
도 15에는, 도 13과 도 14의 초기값 발생회로의 동작을 설명하기 위한 파형도가 나타나 있다. 동작 제어 신호(ACT)를 하이 레벨로 하면, 도 13의 회로에서는 각 단위회로(UC0∼UCn)로부터 출력 신호(R0∼Rn)가 출력된다. 이 출력 신호(R0∼Rn)는, 상기와 같이 고정값이 되는 것과 전기신호 노이즈에 대응해서 변화되는 것이 존재한다. 동작 제어 신호(ACT)를 하이 레벨로부터 로우 레벨로 하면, 그때의 상기출력 신호(R0∼Rn)에 대응한 난수(D0∼Dn)가 플립 플랍 회로(FF0∼FFn)에 받아들여지고, 고정값을 포함하는 (D0∼Dn)으로 이루어지는 복수 비트로 이루어지는 난수가 출력된다.
도 14의 회로에서는, 상기 각 단위회로(UC0∼UCn)의 출력 신호(R0∼Rn)이 배타적 논리화회로(EX0∼EXn)에 공급되어, 그 때때로의 신호(R0∼Rn)에 대응한 1비트의 난수가 배타적 논리화회로(EX0∼EXn)를 통과시켜서 출력되어 있다. 따라서, 동작 제어 신호(ACT)를 하이 레벨로부터 로우 레벨로 하면, 그 때 생성되어 있는 난수가 플립 플랍 회로(FF)에 받아들여지고, 1비트로 이루어지는 난수DM가 출력된다.
도 16에는, 이 발명에 관한 진성난수 발생회로의 다른 1실시예의 회로도가 나타나 있다. 이 실시예는, 상기 도 9에 나타낸 진성난수 발생회로에 식별 정보F를출력시키는 출력 단자가 설치된다. 즉, M×N개의 단위회로로부터 출력되는 M×N개의 출력 신호가 식별 정보F로서 출력된다. 상기 식별 정보F는, 적당한 기억 회로에서 유지되어서 관리 시스템에 등록된다. 이 식별 정보F의 대조 방법으로는, 등록시 와 대조시의 환경이나 조건의 차이 이외에 상기와 같이 전기신호 노이즈에 응답하는 진성난수에 대응한 식별 번호의 변동을 허용해야 한다. 상기 진성난수 발생회로를 탑재한 반도체 집적 회로 장치에 전원투입 등을 했을 때, 혹은 상기 동작 활성화 신호(ACT)를 활성화한 직후의 식별 신호F를 적당한 기억 회로에 기억시켜서, 이것을 피식별 번호로 한다. 관리 시스템으로부터 등록 식별 번호를 순차적으로 집어낸다. 등록 식별 번호와 피식별 번호를 비교한다.
등록 식별 번호와 피식별 번호의 비교 결과의 차이가 작은 것을 일치 후보로 한다. 이 동작을 관리 시스템에 등록되어 있는 등록 식별 번호에 있어서 반복하는 것으로써 최종적으로 모든 등록 식별 번호의 안에서 가장 차이가 작은 것이 동일 최유력후보가 된다.
등록 식별 번호와 피식별 번호를 비교함에 있어서, 대응하는 비트의 “0”, ”1”출력 패턴은, 개개의 등록 식별 번호의 특유한 것이며, 동일한 반도체 집적 회로 장치로부터 출력된 식별 번호일지는, 패턴을 구성하는 비트수의 일치의 비율로 판정할 수 있다. 등록시와 대조시의 환경이나 상기 난수 비트에서의 차이에 의한 식별 번호의 변동을 허용하기 때문에, 피식별 번호와 등록필의 식별 번호와의 어긋남의 합계가 가장 작은 것을 일치의 후보로 하는 것에 의해 칩 식별이 가능해진다.
도 17에는, 이 발명에 관한 진성난수 발생회로의 1실시예의 회로도가 나타나 있다. 이 실시예는, 기본구성은 상기 도 9의 실시예와 같다. 본원에 있어서는, MOSFET의 특성의 불균일은 랜덤한 분포인 것에 착목하고, 수많은 단위회로를 관찰 하면, 제1인버터 회로(INV1)와 제2의 인버터 회로(INV2) 또는 제1게이트 회로(G1)와 제2게이트 회로(G2)의 특성이 극히 동일한 조합이 있는 확률에서 존재하는 것을 이용하는 것이다. 이 때문에, 반도체 집적 회로 장치에 진성난수 발생회로를 제조한 경우에, 실제로 전기신호 노이즈를 반영시키는 단위회로가 존재할 것인가 아닌가의 검사를 하는 것이 불가결한 것이 된다.
이 실시예에서는, 진성난수 발생회로에 자신을 시험보는 테스트 회로가 부가된다. 이 테스트 회로에서의 검사 방법은, 단위 회로군 중에 포함되는 제1게이트 회로(G1)(제1인버터 회로(INV1))와 제2게이트 회로(G2)(제2인버터 회로(INV2))의 특성이 극히 동일한 조합의 단위회로의 수를 판정하고, 물리현상에 근거하는 전기신호 노이즈를 확실하게 파악하는 것을 보증하는 것이다.
상기 도 16에 있어서 식별 정보F를 집어낸 것 같이, 각 단위회로로부터의 출력 신호를 얻을 수 있는 회로 노드, 결국은 인버터 회로(INV11)의 출력 단자(배타적 논리화회로(EX)의 한 방향의 입력)의 신호R를 반전 검출기에 공급하고, 이 검출 신호H를 계수기에 의해 계수한다. 이 계수출력C을 비교기에서 비교하고, 판정 결과M을 얻는 것이다. 또한, 상기 테스트 동작 때문에 (4+M)진 카운터에 의해 열선택 신호를 형성하게 된다. (4+M)진 카운터는, 같은 단위회로를 4회 연속해서 선택하면, 다음 단위회로의 선택 동작으로 옮긴다는 동작을 반복해서 한다.
도 18에는, 상기 테스트회로의 동작의 일례를 설명하기 위한 타이밍도가 나타나 있다. 테스트 신호(TS)를 하이 레벨로 해서 (4+M)진 카운터 동작을 지시한다. 또한, 반전 검출기와 계수기를 초기 상태 또는 초기값으로 한다. 동작 제어 신 호(ACT)를 하이 레벨로 해서 난수발생 회로를 동작 상태로 한다. 클록(CLK)의 공급해서 최초의 단위회로로부터의 순차적인 판독동작을 행한다. 이 때, (4+M)진 카운터는, 클록(CLK1∼4)에 대하여 같은 단위회로를 4회 연속해서 선택한다. 이것에 의해, 상기 도 2(b)와 같이 고정값을 출력하는 것은, 4회와 같은 신호R이 출력된다.
이렇게 고정값을 출력시키는 것은 반전 검출기는 반전 검출을 하지 않으므로, 계수기의 계수값은 증가하지 않는다. 이것에 대하여, 도 2(a)과 같이 전기신호노이즈(Vnz)에 응답한 출력 신호R를 형성하는 것이 존재하면, 4회의 액세스 중에서의 반전 회수는 최대로 3회이지만, 1회 이상의 반전했을 경우에는 검출 결과는 진(眞)이라고 한다. 동일한 도면에서는, 2사이클째와 4사이클째로 출력 신호R가 변화되고, 이렇게 반전 검출기에서는 출력H의 레벨이 할 때마다 변화된다.
이렇게 1회에서도 출력H가 변화되면, 결과가 진일 때 계수기의 값CO를 로우 레벨로부터 하이 레벨으로 변화시켜서 계수 값을 1 늘린다.
단위회로군 중의 다음 단위회로의 선택으로 이동하고, 최후의 단위회로까지 상기 같은 검출 동작을 반복해서 행한다. 계수기의 수가 규정 값보다 클 때, 검사 결과M의 값을 진(하이 레벨)으로 한다. 진성난수를 얻을 경우에는 기본적으로는 상기 규정값은 1이면 좋지만, 안전성을 고려해서 2 또는 3이상의 복수로 하는 것이 바람직하다.
예컨대, 도 18에 나타낸 것 같이 계수기를 2비트 출력의 바이너리 카운터라고 했을 때, 클록(CLK)의 K-1사이클째로 계수출력C0와 C1이 함께 하이 레벨이 되는 것을 비교기가 검출해서 상기검사 결과M을 하이 레벨이 되도록 정하면, 도 2(a)과 같이 전기신호 노이즈(Vnz)에 응답한 출력 신호R를 형성하는 것이 4개 이상 존재하는 것을 확인할 수 있게 된다.
1의 단위회로를 검사에 대하여 CLK펄스의 4개에서 4회 액세스했지만, 최저2회 이상이어도 상관없다. 2회 액세스할 때는, (2+M)진 카운터를 이용하는 것이다. 검사시 이외에는, 상기 테스트 신호(TS)의 로우 레벨에 의해 상기와 같이 M진 카운터로서 동작하게 된다. 혹은, 그대로 (4+M)진 카운터나 (2+M)진 카운터로서 동작시켜도 좋다. 이 경우에는, 판독사이클이 4배 또는 2배로 증가한다.
시큐리티 제품에 있어서의 정부기관의 규정으로서, NIST(미국표준기술연구소)이 책정한 FIPS140-2이 있다. 이 중에는, 정부의 구입품이 구비하는 암호 모듈이 만족해야 할 시큐리티 요건(FIPSPUB140-2, SECURITY REQUIREMENTS FOR CRYPTOGRAPHIC MODULES)이 규정되어 있어, 난수에 관해서는 통계적 수법에 의한, 품위의 검정 합격 기준이 나타나 있다. 해당 방법을 이용한 방법에서는, 그것을 실현하기 위한 전용의 회로의 규모가 비교적 큰 것이나, 반도체시험 장치로 검사할 경우에 비교적 시간이 걸린다는 단점이 있다.
이것에 대하여, 이 발명에 관한 난수발생 회로에 설치된 테스트 회로에서는, 반도체 웨이퍼 상에 회로가 완성된 시점에서, 상기 테스트 기능을 갖춘 테스터에 접속하는 일없이, 스스로 판정을 할 수 있다. 또한, 반도체 집적 회로 장치로서 출하시에도 스스로 판정하는 것이 가능하다. 더욱, 필요하다면 시스템에 탑재된 시점에서, 필요에 따라서 혹은 정기적으로 상기 진성난수 발생회로가 정상적으로 동작가능한 상태인지 아닌지를 확인할 수 있다. 이것에 의해, 신뢰성이 높은 진성난 수발생이 가능해지는 것이다. 어느 것이나, 본 방식이 통계에 뒷받침될 수 있는 것에 의해 가능하다.
즉, 진성난수 발생회로의 진단(시험)은, 그 난수의 품위의 평가와 다름없고, 어느 종류의 통계적 처리가 필요하다. 그 때문에, 시험 장치, 시험 시간, 장기신뢰도보증 등의 큰 과제가 있다. 특히, 진성난수발생기가 LSI나 최종 시스템에 탑재된 이후, 회로자체가 정상적으로 동작하고 있는지가 중요한 문제이다. 왜냐하면, 품위가 높은 진성난수를 얻을 수 없으면, 시큐리티가 위험해지기 때문이다. 그러나, 진성난수 발생회로를 시험 혹은 모니터하는 것은 가동 중의 시스템으로서는 큰 부하이다. 이러한 기술적 과제에 대하여, 본원 발명의 진성난수 발생회로에서는, 상기한 바와 같이 간단한 구성에서 이것들의 문제를 해결할 수가 있다.
도 19에는, 이 발명에 관한 진성난수 발생회로의 1실시예의 회로도가 나타나 있다. 이 실시예는, 기본구성은 상기 도 9의 실시예와 같다. 이 실시예에서는, 클록으로서 발진기에서 형성한 발진 펄스(OSC)를 이용하도록 하는 것이다.
도 20에는, 도 19의 진성난수 발생회로의 동작 파형도가 나타나 있다. 활성화 신호(ACT)에 의해, 발진기가 특정한 주기(Tosc)의 펄스를 발생시킨다. 펄스(OSC)를 받고, 단위회로군 중의 단위회(單位回)가 순차 선택되어, RR 신호에 난수가 생성된다. 스타트 신호(ST)를 하이 레벨로 변이시키면, RR신호의 난수가 출력RY로부터 집어내진다. 스타트 신호(ST)의 주기(Tc)과 발진기의 주기(Tosc)의 관계는, 모든 단위회로로부터의 출력 신호의 판독을 필요로 하기 때문에, [Tc]≥[Tosc]× [n]이다. 여기에서, 상기의 [n]은, 단위회로군 중의 단위회로수 (M×N)이 다. 발진기출력 펄스(OSC)는, 이러한 진성난수 발생회로가 탑재된 LSI의 시스템 록 등이라도 좋다.
도 21에는, 이 발명에 관한 진성 난수발생 회로의 1실시예의 회로도가 나타나 있다. 이 실시예는, 기본구성은 상기 도 19의 실시예와 같다. 이 실시예에서는, 스타트 신호(ST)가 생략되어서, 동작 제어 신호(ACT)부터 동작 상태가 되고, 쉬프트레지스터가 출력의 직전에 설치되어서 병렬 비트로 이루어지는 난수RAi를 생성하게 된다.
도 22에는, 이 발명에 관한 난수발생 회로의 출력부의 다른 1실시예의 회로도가 나타나 있다. 이 실시예는, 상기 도 21의 실시예의 쉬프트레지스터를 메모리로 변경하고 있다. 동일한 도면에서 이용한 메모리는, 소위 시리얼입력/패러렐 출력형의 메모리이다. 제어 신호(ACT)가 하이 레벨인 때, 진성난수 발생회로로부터 클록의 M×N사이클마다 RR로부터 1비트씩 진성난수가 발생하고, 또한 동시에 해당 메모리는 시리얼 입력 모드이며, 입력(SI)으로부터 진성난수를 받아들여 축적한다. 제어 신호가 로우 레벨인 때, 진성난수 발생회로는 정지하고, 동시에 해당 메모리는 패러렐 출력 모드이며, 입력AD의 어드레스 정보에 대응한 메모리 공간에 축적된 진성난수를 출력DT로부터 출력한다. 또, 해당 메모리의 각 입출력의 의미는, SE는 이 메모리의 모드를 바꾸기 위한 제어 입력이며, 하이 레벨인 때 시리얼 입력 모드, 로우 레벨인 때 패러렐 출력 모드이며, SI는 시리얼 데이터 입력이며, CK은 시리얼입력을 받아들일 때의 동기신호입력이며, AD는 패러렐 출력 모드인 때 메모리 공간을 선택하는 어드레스 입력이며, DT는 패러렐 데이터 출력이다.
도 22에 나타난 메모리는, FIFO(First ln First Out)형 메모리나, 시리얼 입력과 패러렐 출력을 동시에 행할 수 있는 비동기형 메모리이여도 상관없다.
도 23에는, 상기 도 21에 나타낸 진성난수 발생회로의 동작 파형도가 나타나 있다. 동작 제어 신호(ACT)에 의해 회로가 동작 상태가 되고, N 진 카운터의 캐리 신호CA에 의해 쉬프트레지스터가 1비트의 시프트 동작을 해 생성된 진성난수(RR)의 받아들임을 한다. 이 실시예에서는, 0 내지 7로 이루어지는 8회 전단위회로군의 판독에 의해, 8비트로 이루어지는 난수D0∼D7을 패러렐로 출력시킬 수 있다.
도 24에는, 이 발명에 관한 진성난수 발생회로의 1실시예의 칩 구성도가 나타나 있다. 이 실시예에서는, 진성난수 발생회로를 1개의 IC에서 구성하는 것이다. 외부단자로서 전원단자 (VCC, VSS), 클록 입력 단자(CLK), 동작 제어 신호(RST) 및 진성난수출력 단자(RR)로 구성된다. 상기와 같이 발진기를 탑재한 것에서는, 클록 단자(CLK)가 생략된다. 또한, 테스트 회로를 구비한 것에서는, 판정 출력 단자, 테스트 모드 입력 단자 등이 부가된다. 판정 출력 단자는, 난수출력 단자RR로 허용될 수도 있다. 이러한 IC칩을 1개의 패키지로 밀봉해도, 다른 IC와 같은 설치 기판에 탑재해서 봉지(멀티 칩IC)하거나, 또는, 그대로 시스템에 설치해도 상관없다.
도 25에는, 이 발명에 관한 반도체 집적 회로 장치의 1실시예의 블록도가 나타나 있다. 이 실시예의 각 회로 블록은, 실제의 반도체기판 상에 있어서의 기하학적인 회로배치에 맞추어 그려져 있다. 이 실시예의 반도체 집적 회로 장치는, 특별히 제한되는 것은 아니지만, 복수의 회로기능 블록이 조합되어 특정한 신호처리 기 능을 가지게 된다. 이러한 회로 블록을 갖는 반도체 집적 회로 장치에 진성난수 발생회로가 탑재된다. 진성난수 발생회로에 필요한 클록은, 이러한 반도체 집적 회로 장치에 설치된 클록 발생 회로에서 형성된 클록 또는 외부단자로부터 클록 공급을 받는 것에서는 그 클록을 이용할 수 있다. 또한, 도 19나 도 21의 난수발생 회로와 같이 발진기를 가진 것에서는, 상기와 같은 클록의 공급은 불필요하다.
도 26에는, 이 발명에 관한 반도체 집적 회로 장치의 다른 1실시예의 블록도가 나타나 있다. 이 실시예의 각 회로 블록도, 실제의 반도체기판상에 있어서의 기하학적인 회로배치에 맞추어 그려져 있다. 이 실시예는, MPU(마이크로 프로세싱 유닛)을 중심으로 한 1칩의 마이크로 컴퓨터에 적합하다. 이 마이크로 컴퓨터에서는, 버스BUS(어드레스 버스, 데이터 버스 및 컨트롤 버스)상에 상기MPU의 이외에, RAM(random access memory), ROM(read only memory), DMAC(direct memory access cont개ller), TIM(timer) 및 ADC(analog to digital converter), DAC(digital analog converter)과, 이 전기의 진성난수 발생회로가 접속된다.
본 발명에 관한 진성난수 발생회로는, 모두 표준CMOS 논리회로만으로 실현된다. 이 것은, 복잡한 아날로그 회로 설계나 LSI설치에 걸리는 부하를 경감하고, 제품의 가격을 저감하고, 신뢰성의 향상에 기여하게 된다. 또한, 시큐리티 문제에 있어서 최대의 과제인, 크래킹에 대하여 강고한 모듈을 제공할 수 있다.왜냐하면, 표준논리회로만으로 구성하는 것으로써 LSI 중에서 어택의 표적으로부터 달아나는, 미채(迷彩,stealth)효과를 얻을 수 있기 때문이다. 즉, 아날로그 회로를 이용해 경우와 같이 회로 패턴에 특징이 없고, 더구나 상기한 바와 같이 버스BUS를 통해서 난수의 집어냄을 하도록 했을 경우에는, 상기 미채(stealth)효과를 한층 더 높게 할 수가 있다.
도 27에는, 이 발명에 관한 진성난수 발생회로의 다른 1실시예의 구성도가 나타나 있다. 도 27(a)에는, 회로 블록 구성이 나타나며, 도 27(b)에는, 레이아웃 구성이 나타나 있다. 이 실시예에서는, 예컨대 상기 도 7에 나타낸 것 같은 진성난수 발생회로가 n개 설치된다. 즉, 0 내지 n-1로 이루어지는 n개의 진성난수 발생회로가 설치되어, 각각의 출력 신호(R0, R1∼Rn-1)는 멀티플랙서(MUX)를 통과시켜서 1개의 신호가 선택되어 진성난수RM으로서 출력된다.
도 27(b)의 레이아웃 구성에서 나타낸 바와 같이, 멀티플랙서를 끼워서 상하에 진성난수 발생회로를 설치하는 것에 의해, 효율적으로 회로배치를 할 수 있다. 동일한 도면에 있어서, 진성난수 발생회로 중 1개의 회로 블록은, 예컨대 상기 1개의 단위회로를 나타내고 있다. 이 구성에 있어서는, 2개의 진성난수 발생회로에 끼워져 있었던 멀티플랙서는 2개 중의 1개를 선택한다고 하는 비교적 간단한 구성으로 족하기 때문에, 멀티플랙서가 배치되는 부분에는 상기 디코더 등의 선택 신호발생 회로가 배치된다.
예컨대, 이 실시예의 진성난수 발생회로에 있어서 난수R를 얻는데 n개의 단위회로로 구성될 경우, 1비트의 난수R을 얻기 위해서는 상기와 같이 모든 단위회로로부터의 출력 신호를 얻을 필요가 있어서 n사이클을 써버리게 된다. 거기에서, 상기 1개의 난수를 얻는 것에 필요한 n사이클에 대응해서 이 실시예와 같이 n개의 난수발생 회로를 설치했을 경우에는, 클록(CLK)에 동기한 높은 주파수에서 난수를 발생시킬 수 있다. 단지, 동작 제어 신호에 의해 동작을 시작했을 때부터 n사이클로 이루어지는 더미 사이클을 필요로 한다.
도 28에는, 도 27에 나타낸 진성난수 발생회로의 동작의 1 예를 나타내는 타이밍도가 나타나 있다. 도 27의 진성난수 발생회로에서는, 최초의 난수발생 회로의 판독을 위해서 n사이클(n클록)후 각 진성 난수발생 회로로부터 난수(R0∼RN-1)가 출력되기 때문에, 멀티플랙서(MPX)에 의해 클록(CLK)에 동기해서 1개씩 고르도록 하는 것에 의해 , 클록(CLK)에 동기한 진성난수RM(R0, R1, R2…Rn-1, R0'R1'R2'…)과 같이 클록(CLK)에 동기한 고 비트 레이트(bit rate)의 진성난수를 얻을 수 있다.
도 29에는, 이 발명이 적용되는 IC카드의 1실시예의 외관도가 나타나 있다. IC 카드는, 플라스틱 케이스로 이루어지는 카드(101)와, 이러한 카드(101)의 내부에 탑재된 도시하지 않은 1칩의 마이크로 컴퓨터 등으로 이루어지는 IC카드용 칩을 가지는 것이다. 상기 IC카드는, 상기 IC카드용 칩의 외부단자에 더 접속되어 있는 복수의 접점(전극)(102)을 가진다.
복수의 접점(102)은, 나중에 도 30에 의해 설명하는 것 같은 전원단자VCC, 전원기준 전위단자VSS, 리셋 입력 단자RES바, 클록 단자(CLK), 데이터 단자I/O-1/IRQ바, I/O-2/IRQ바로 한다. IC 카드는, 이러한 접점(102)을 통과시켜서 도시하지 않은 리더 라이터와 같은 외부결합 장치로부터 전원공급을 받고, 또 외부결합 장치와의 사이에서의 데이터의 통신을 행한다.
도 30에는, 이 발명에 관한 IC카드에 탑재된 IC카드용 칩(마이크로 컴퓨터) 의 1실시예의 개략 블록도가 나타나 있다. 동일한 도면의 각 회로 블록은, 공지의 MOS집적회로의 제조 기술에 의해, 특별히 제한되는 것은 아니지만, 단결정 실리콘과 같은 1개의 반도체기판상에 있어서 형성된다.
이 발명에 관한 IC카드용 칩의 구성은, 기본적으로 마이크로 컴퓨터와 같은 구성이다. 그 구성은, 클록 생성 회로, 중앙처리 장치 (이하, 단지 CPU라고 한다), ROM(Read Only Memory)이나 RAM(Random Access Memory), 불휘발성 메모리(EEPROM) 등의 기억장치, 암호화 및 부호화처리의 연산을 하는 co-processor(암호화·부호화장치), 입출력 포트(I/O포트) 등으로 이루어진다.
클록 생성 회로는, 도시하지 않은 리더 라이터(외부결합 장치 )로부터 도 29의 접점(102)을 통해서 공급되는 외부 클록(CLK)을 받고, 이러한 외부 클록 신호에 동기한 시스템 록 신호를 형성하고, 그것을 칩 내부에 공급하는 회로다.
CPU 은, 논리연산이나 산술연산 등을 하는 장치이며, 시스템 컨트롤 로직, 난수발생기 및 시큐리티 로직 및 타이머 등을 제어한다. RAM , ROM, EEPROM과 같은 기억장치는, 프로그램이나 데이터를 저장하는 장치이다. 코프로세서(co-processor)는, DES암호법 등에 적합한 회로로 구성된다. I/O(입출력)포트는, 리더라이터와 통신을 하는 장치이다. 데이터 버스와 어드레스 버스는, 각 장치를 서로 접속하는 버스다.
상기 기억장치 중, ROM은, 기억 내용이 불휘발적으로 고정되어 있는 메모리이며, 주로 프로그램을 저장하는 메모리이다. 휘발성 메모리 (이하, RAM이라 한다)는 자유롭게 기억 정보의 재기록을 할 수 있는 메모리이지만, 전원의 공급이 중단 되면, 기억하고 있는 내용이 꺼지지 않게 된다. IC 카드가 리더라이터로부터 뽑히면 전원의 공급이 중단되기 때문에, 상기 RAM의 내용은, 유지되지 않게 된다.
상기 불휘발성 메모리 (이하, EEPROM (Electrical Erasable Programmable Read Only Memory)라 한다)는, 내용의 재기록이 가능한 불휘발성 메모리이며, 그 중에 일단 기록된 정보는, 전원의 공급이 정지되어도 그 내부에 유지된다. 이 EEPROM은, 재기록할 필요가 있고, 또한 IC카드가 리더라이터로부터 뽑혀도 유지해야 할 데이터를 수납하기 위해서 사용된다. 예컨대, IC카드가 프리페이드카드(pre-paid card)로서 사용되는 것 같을 경우의 프리페이드의 회수 등은, 사용할 때마다 재기록할 수 있다. 이 경우의 회수 등은, 리더라이터가 뽑혀도 IC카드 내에서 기억이 유지될 필요가 있어서, EEPROM에서 유지된다.
CPU는, 소위 마이크로 프로세서와 같은 구성으로 된다. 즉, 그 상세한 사항을 도시하지 않지만, 그 내부에 명령 레지스터, 명령 레지스터에 기록된 명령을 디코드하고, 각종의 마이크로 명령 내지는 제어 신호를 형성하는 마이크로 명령ROM, 연산 회로, 범용 레지스터(RG6등), 내부 버스BUS에 결합하는 버스 드라이버, 버스 리시버 등의 입출력 회로를 가진다. CPU는, ROM등에 저장되어 있는 명령을 판독하고, 그 명령에 대응하는 동작을 행한다. CPU는, I/O포트를 통해서 입력되는 외부 데이터의 혼잡, ROM으로부터의 명령과 명령 실행 때문에 필요한 고정 데이터와 같은 데이터의 판독, RAM이나 EEPROM에 대한 데이터의 기록과 판독 동작 제어 등을 한다.
상기 CPU는, 클록 생성 회로로부터 발생되는 시스템 록 신호를 받아 그 시스 템 록 신호에 의해 결정할 수 있는 동작 타이밍, 주기를 가지고 동작된다. CPU는, 그 내부의 주요부가 P채널형 MOSFET와 N채널형 MOSFET로 이루어지는CMOS회로로 구성된다. 특별히 제한되는 것은 아니지만, CPU 은, CMOS스태틱 플립플랍과 같은 스태틱 동작가능한 CMOS스튜디오 테크니컬센터 회로와, 신호출력노드에의 전하의 프리챠지와 신호출력노드에의 신호출력을 시스템 록 신호에 동기해서 행하는 것 같은 CMOS다이내믹 회로를 포함한다.
코프로세서는, 내부에서 취급하는 평문(平文) 데이터에 부호 비트를 부가하고, 포지티브/네거티브의 양쪽의 상태를 가지도록 한다. 암호화에 있어서의 반복 연산시에 데이터를 부호마다 랜덤으로 변경한다. 부호의 영향을 받지 않는 연산(배타적 논리화 등)은 그대로 부호를 무시하여 연산한다. 부호의 영향을 받는 연산(변환표를 이용한 연산 등)에서는 포지티브용의 연산 회로와 네거티브용의 연산 회로를 준비하고, 데이터의 부호에 의해 연산 회로의 출력을 선택하는 기구를 이용한다.
DES (Data Encryption Standard)은, 광범위하게 이용된 비밀열쇠 블록 암호이다. DES의 알고리즘은, 크게 평문의 데이터 플로우와 열쇠의 데이터 플로우로 분할할 수 있다. 평문 데이터 플로우에서는, IP로 불리는 전치(轉置, 신호의 교환)을 한 후, 상위와 하위 각각 32비트씩으로 데이터를 분할하고, 전치·환자(換字)처리를 16회 반복한다. 최후에 상위와 하위 각각 32비트 데이터를 통합하고, IP -1로 불리는 전치를 행하고, 암호문을 얻는다.
DES에서는, 암호화와 부호화가 동일한 처리로 실현된다. 단지 암호화와 부호화에서는, 열쇠의 스케줄링이 다르다. 열쇠의 스케줄링 부분에 대해서, 상세한 것은 생략하지만, 열쇠 데이터를 바탕으로, 각단에 대하여 48비트 열쇠 스케줄링 데이터의 출력을 행한다.
DES 알고리즘에서는, 같은 평문에 대하여는 항상 같은 내부동작을 한다. 그 결과, 내부신호가 입력 신호에 의존해서 변화되므로, DPA(Diffrential Power Analysis)법에서의 통계처리를 하기 쉽다. 즉, DPA법에서는, 소비 전류파형을 통계처리해서 암호열쇠를 추정하고, 예컨대 DES가 있는 부분에 가정한 암호열쇠를 맞추고, 평문을 변화시키면서 소비 전류파형을 측정해서 통계를 낸다. 암호열쇠를 다양하게 변화시키면서 이 작업을 반복하고, 맞는 열쇠인 때에는 전류파형이 큰 피크를 나타낸다.
상기와 같은 DPA에 의한 DES해독에 대한 대책의 예로서, 특개 2000-066585호 공보가 있다. 이 공보에 기재된 기술에서는, 마스크 a의 패턴과, 그 비트 반전의 마스크 패턴의 페어를 설치하고, 암호화를 할 때마다 이 페어의 한 방향을 스위치에 의해 랜덤으로 선택하고, 장치 내부의 평문에 의존한 비트를 마스크하고, 암호문을 출력하기 전에 암호문으로부터 마스크a의 영향을 제거하도록 하는 것이다.
DPA에 따른 해독 방지를 위해서는, 상기 마스크가 특정한 패턴으로 기울지 않도록 하는 필요가 있는 것은 설명되어 있지만, 어떻게 하면 복수 비트의 패턴이 기울지 않도록 하기 때문에, 난수발생기로 생성된 난수가 이용된다.
도 31에는, 이 발명이 적용되는 비접촉 IC카드의 1실시예의 블록도가 나타 나 있다. 동일한 도면에는, 비접촉 IC카드에 대하여, 외부장치로서 설치되는 리드·라이트 장치의 코일(안테나)도 병기되어 있다. 비접촉 IC카드에 탑재된 LSI는, 도시되는 블록 외에, 예컨대 메모리나 마이크로 컴퓨터 등의 기능 블록을 구비하지만, 그것들을 논리회로 및 불휘발 메모리로서 나타내고 있다. 상기 LSI의 각 블록을 구성하는 회로소자는, 특별히 제한되는 것은 아니지만, 공지의 MOSFET(금속산화물반도체형 전계효과 트랜지스터. 이 명세서에서는, MOSFET를 해서 절연 게이트형 전계효과 트랜지스터의 총칭이라고 한다) 집적회로의 제조 기술에 의해, 단결정 실리콘과 같은 1개의 반도체기판면 상에 형성된다. 또한, 이 LSI는, 소정의 보호막에 의해 라미네이트 처리된 후, 비접촉 IC카드의 기체가 되는 카드면 위로 탑재되어, 더욱 피막 처리가 행해진다.
본 실시예의 비접촉 IC카드는, 특별히 제한되는 것은 아니지만, 소위 밀착·형의 비접촉 IC카드로 하고, 예컨대 동박 등을 이용해서 카드면 위로 코일 모양으로 형성되는 수전(受電) 코일(카드측 안테나)과, 소정의 배선층을 통해서 상기 수전 코일에 결합되는 LSI를 갖춘다. 이 LSI는, 4개의 다이오드가 브리지 결합되어서 구성되는 정리 회로와, 정류회로의 정류전압을 평활화하는 평활 콘덴서와, 안정화 전원회로에 의해, 상기 논리회로 및 불휘발 메모리 등을 포함하는 내부회로의 동작 전압(VDD)이 형성된다. 상기 정류회로에 대하여는, 실질병렬 형태에 클록 발생 회로, 데이터 수신 회로 및 데이터 송신 회로가 설치된다.
상기 다이오드 브릿지 회로로 이루어지는 정류회로는, 리드 라이트 장치의 송전 코일(안테나)과의 전자결합에 의해 비접촉 IC카드의 수전 코일에 전력원인으 로서 전달되는 교류 신호 즉 커리어를 정류하고, 상기평활 콘덴서에서 평활한 전압을 안정화 전원에 의해 직류전원전압(VDD)을 생성하고, LSI의 각 기능 블록에 동작 전원으로서 공급한다. 파워 온-리셋(power-on-reset) 회로는, 전원전압(VDD)의 발생을 검지하고, 즉, 리드·라이트 장치와의 결합을 검지하고, 데이터의 수신이나 송신을 정상적으로 하도록 하기 때문에, 논리회로의 레지스터나 래치 회로 등을 리셋 시킨다.
데이터 수신 회로는, 리드·라이트 장치로부터 예컨대 커리어를 주파수 변조함에 의해 전송되는 데이터를 수신 복조(複調)하고, 내부입력 데이터로서 LSI의 내부회로에 전달한다. 내부회로에서 형성된 출력 데이터는, 데이터 송신 회로에 의해 커리어를 주파수 변조해서 리드·라이트 장치로 전송한다.
상기와 같은 내부회로(논리회로)와 데이터 수신 회로 및 데이터 송신 회로에서는, 상기 동작 전압(VDD)의 이외에, 동작 시퀸스 제어나 신호의 수신이나 송신 때문에 클록 신호를 필요로 한다. 이 실시예에서는, 클록 발생 회로에 의해 상기교류 신호를 펄스 신호로 해서 클록 신호를 생성한다. 논리회로부에는, 난수발생기가 설치되어 있으며, 외부와의 데이터 송신이나 데이터 수신에 이러한 난수를 이용할 수 있다.
상기 비접촉 IC카드에서는, 직류전원전압(VDD)의 전류공급 능력이 작기 때문에, 난수발생기에 있어서의 소비 전력도 작은 것이 필요하다.
상기와 같은 난수발생기는, 단위회로를 순차적으로 동작시킬 것이기 때문에 소비 전류를 작게 할 수 있다. 그 때문에, 이 실시예의 난수발생기는, 상기와 같은 비접촉 IC에 탑재시키는 것으로서 최적인 것이 된다.
도 32에는, 이 발명에 관한 난수발생 회로로 생성된 난수의 난수, 2차원 산포도가 나타나 있다. 동일한 도면에 있어서는, 200×200비트의 난수의 0과 1을 도트의 백과 흑에 대응해서 표시한 것이다. 특별히 제한되는 것은 아니지만, 이 실시예에서는, 단위회로(기본회로)를 128개 설치하고, 통상의 CMOS프로세스에서 회로를 구성한 것이다.
동일한 도면은, 도면의 작성의 관계에서 난수2차원 산포도를 400dpi에서 스캐너에서 판독한 것이므로, 실제의 난수2차원 산포도와는 약간 다르지만, 대략의 난수2차원살포를 나타내고 있어, 특유한 패턴은 존재하지 않는 것을 알 수 있다. 즉, 높은 품위의 난수인 것을 나타내고 있다. 또한, 전기의 FIPS140-2에서의 난수검정 결과는, 다음과 같다. 1회의 검정에 사용되는 난수의 길이를 20, 000비트로 하고 이것을 600회 행한 결과, 전부가 이러한 검정을 패스할 수가 있었다.
오늘 암호나 시큐리티가 일상적으로 화제가 되게 된 것은, 인터넷의 보급이 이유일 것이다. 인터넷은 멀리 떨어져 있는 기기를 잇는 네트워크 기술이다. 인터넷 상을 왕래하는 데이터는, 본질적으로 제삼자가 소유하는 컴퓨터나 네트 워크 장치를 통과하기 때문에 도청이나 개작(改作)의 우려가 항상 있다. 인터넷을 시큐리티나 프라이버시가 보증된 안전한 인프라라고 하기 위해서, 암호나 인증이 각광을 받고 있다. 현재, 인터넷상에서 여러 가지 시큐리티 기술이 이용되고 있지만, 그 대표적인 것으로 SSL(Secure Socket Layer)이나 IPsec(Internet Protocol security)기술 등이 있다. 이것들의 기술의 상세한 것은 적지 않지만, 어느 것이나 품위가 높은 난수가 필요하다. 특히, IPsec은 차세대의 인터넷 기술인 IPv6(Intemet Protocol Version6)에서는 필수조건으로서 채용된다. IPv6 은 보급되면, 개인이 가지는 퍼스널 컴퓨터나 휴대전화를 비롯해, 자동차나 가전제품등에도 IP번호가 할당되는 것도 가능해진다. 그렇게 되면, 품위가 높은 난수, 즉 진성난수를 그것들의 기기의 안에서 용이하게 생성하는 것이 필요하다.
상기와 같이 , 본 발명에 관한 진생 난수발생 회로는, 모두 표준CMOS 논리회로만으로 실현된다. 이것은, 복잡한 아날로그 회로 설계나 LSI설치에 걸리는 부하를 경감하고, 제품의 가격을 저감하고, 신뢰성의 향상에 기여하게 된다.
도 34에는, 이 발명에 관한 반도체 집적 회로 장치에 탑재된 진성난수 발생회로의 도 1에 나타난 기본개념의 응용 개념의 회로도가 나타나 있다. 도 1에서는, 진성난수는 복수로 이루어지는 각 기본회로 내의 INV1과 INV2에 생기는 전기신호 노이즈를 소(素)로 하고 있지만, 도 34에서는, 제1의 인버터(INV1)를 공통으로 하여 제2의 인버터를 각 기본회로로 분산시킨다. 즉, 1종류밖에 존재하지 않는 제1의 인버터의 논리 문턱치(VLT1)와 각 기본회로 내의 제2의 인버터의 논리 문턱치(VLT2)의 차이가 극히 작은 조합이 존재할 경우, 제1의 인버터 및 제2의 인버터의 전기신호 노이즈의 영향을 반영해서 진성 난수를 얻을 수 있다. 또, 제3의 인버터 이후의 동작은 상기 도 1에서 말한 내용과 같으므로 생략한다.
도 35에는, 이 발명에 관한 반도체 집적 회로 장치에 탑재된 진성난수 발생회로의 도 34에 나타난 응용 기본개념의 더욱 별도의 응용 개념의 회로도가 나타나 있다. 이 실시예에서는, 상기 도 34의 인버터 회로(INV1∼INV14)가, 2입력의 NAND 게이트 회로(G1∼G14)로 바꿔 놓을 수 있다. 상기 게이트 회로(G1)는, 한 방향의 입력과 출력이 결합된다. 이 게이트 회로(G1)의 공통화된 입출력이 기본회로 내의 게이트 회로(GO2)의 한 방향의 입력과 접속된다. 게이트 회로(GO2)의 출력은 게이트 회로(GO3)의 한 방향의 입력에 접속된다. 게이트 회로(GO3)의 출력은 게이트 회로(GO4)의 한 방향의 입력에 접속된다. 그리고, 이것들의 게이트 회로(GO2∼GO4)의 다른 쪽의 입력에는, 전원(VDD)에 접속되어 항상 하이 레벨(논리1)이 된다.
도 34의 인버터 회로(INV1∼INV14)는, 상기 NAND 게이트회로(G1∼G14)와 같은 논리 게이트 회로의 한 종류로 파악될 수 있다. 즉, 입력 신호를 반전시키는 논리동작을 하는 것이기 때문이다. 도 34와 같이 인버터 회로(INV1∼INV14)를 이용했을 경우에는, 인버터 회로(INV1과 INVO2)와 같이 초단 측에 있어서는 논리 문턱치전압(VLT)부근에서 동작하는 것이며, 전원전압(VDD)과 회로의 접지 전위와의 사이에 직류전류를 흘리는 것이 된다. 본원발명에서는, 상기와 같이 소자의 프로세스 불균일에 의한 논리 문턱치전압의 정규분포를 이용하는 것이며, 그 때문에 비교적 다수로 이루어지는 단위회로를 동작시킬 필요가 있어서, 상기 인버터 회로(INV1과 INVO2)에서의 직류전류는 저소비 전력화를 실현하는 경우에는 무시할 수 없다.
이것에 대하여, 이 실시예와 같이 게이트 회로(G1∼G14)를 이용했을 경우에는, 각 게이트 회로(G1∼G14)는, 동작 제어 신호(ACT)를 로우 레벨(논리0)과 같은 비활성화레벨로 했을 때, 게이트 회로(G1)의 출력은 무조건적으로 하이 레벨(논리1)이 되고, 예컨대 게이트 회로(G1)의 출력을 입력으로 하는 게이트 회로(GO2)의 출력은 무조건적으로 로우 레벨(논리0)이 되고, 게이트 회로(GO2)의 출력을 입력으 로 하는 게이트 회로(GO3)의 출력은 무조건적으로 하이 레벨(논리1)이 되고, 게이트 회로(GO3)의 출력을 입력으로 하는 게이트 회로(GO4)의 출력은 무조건적으로 하이 레벨(논리1)이 되고, 각 게이트 회로(G1, G02, G03, G04) 및 그것과 등가한 것 외의 기본회로 내의 게이트 회로에 있어서도 직류전류가 발생하지 않는다.
즉, 이 실시예 회로에서는, 난수를 필요로 하는 타이밍에서 상기 동작 제어 신호(ACT)를 하이 레벨(논리1)과 같은 활성화 레벨로 한다. 이것에 의해, 각 게이트 회로(G1∼G14)는, 상기 동작 제어 신호(ACT)와는 다른 쪽의 입력 신호에 응답해서 반전 신호를 형성한다는 인버터 회로로서의 동작을 한다. 이것에 의해, 상기 동작 제어 신호(ACT)를 하이 레벨로 하는 것에 의해, 도 34의 기본회로도와 같은 동작을 행하는 것이 된다.
이상 본 발명자로부터 이루어진 발명을 실시예에 근거해서 구체적으로 설명했지만, 본원 발명은 상기 실시예에 한정되는 것은 아니고, 그 요지를 일탈하지 않는 범위에서 여러가지로 변경가능한 것은 말할 필요도 없다. 예컨대, 저항 소자를, 인버터나 게이트 회로를 구성하는 신호입력MOSFET에 대한 부하 소자라고 하는 것 같은 경우에는, 특성불균일에 대한 정보는, 저항 소자의 특성불균일과 신호입력MOSFET의 특성불균일과의 양쪽을 반영한 것이 된다. 저항불균일에 대응하는 특정 정보는, 반드시 하기도 반도체 집적 회로 장치내만으로 형성할 필요는 없고, 외부단자를 통해서 접속하는 구성으로 할 수도 있다. 단지, 저소비 전력화를 꾀하는 경우에는, 상기와 같은 CMOS게이트 회로를 이용하는 것이 바람직하다. 또한, 제1인버터 회로(INV1)와 제2인버터 회로(INV2)는, 그 소비 전류를 저감시키기 때문에 상기 도 10(b)에 나타낸 것 같은 클록드 인버터회로(CN)로 치환하고, 동작 제어 신호에 의해 활성화를 하도록 하는 것이여도 좋다.
이 발명은, 네트워크 기기에 넣는 것이고, 무선통신 기기에 넣는 것이고, 암호화·복합화 장치에 넣는 것이고, 인증 시스템에 넣는 것이며, 혹은 완구계 로보트나 게임의 캐릭터의 「개성 인자」나 「변덕 인자」에 갖추어지는 난수의 난수발생 방법과 반도체 집적 회로 장치에 널리 이용할 수가 있다.

Claims (15)

  1. 상호 동일한 제조 과정을 가지며 동일한 형태로 형성된 제1 및 제2논리회로와, 상기 제1논리회로 및 제2논리회로의 문턱치전압의 차전압(差電壓)에 중첩되는 잡음을 증폭해서 2치(値) 신호를 형성하는 증폭 회로로 이루어지는 단위회로의 복수개와,
    상기 복수개의 단위회로로부터 출력되는 복수개로 이루어지는 2치 신호 중 어느 1개의 신호변화에 응답해서 출력 신호를 형성하는 신호변화 검출회로를 이용하고,
    상기 신호변화 검출회로로부터 출력되는 2치 신호의 복수개를 조합시켜서 난수(亂數)를 생성해서 이루어지는 것을 특징으로 하는 난수발생 방법.
  2. 제1항에 있어서,
    상기 제1 및 제2논리회로와 상기 증폭 회로는, 제1과 제2의 입력을 갖는 논리 게이트 회로로 이루어지고,
    상기 제1논리회로에 대응한 논리 게이트 회로의 제1의 입력과 출력이 접속되며,
    상기 제2논리회로에 대응한 논리 게이트 회로의 제1의 입력은, 상기 제1논리회로에 대응한 논리 게이트 회로의 공통 접속된 입력과 출력에 접속되며,
    상기 증폭 회로는, 복수개의 논리 게이트 회로의 제1의 입력과 출력이 종렬 형태로 접속되고, 상기 제1논리회로, 제2논리회로 및 증폭 회로를 구성하는 논리 게이트의 제2의 입력에는 상기 동작 제어 신호를 공급하여 상기 복수의 단위회로를 동작 상태로 하고, 상기 신호변화 검출회로를 통해서 난수를 생성해서 이루어지는 것을 특징으로 하는 난수발생 방법.
  3. 제2항에 있어서,
    상기 복수의 단위회로를 순서회로에 의해 형성된 동작 제어 신호에 대응해서 순차적으로 선택 상태로 하고, 모든 단위회로의 출력 신호를 시리얼로 출력시켜서 상기 신호변화 검출회로에 의해 1비트 분(分)의 난수를 생성하여 이루어지는 것을 특징으로 하는 난수발생 방법.
  4. 제3항에 있어서,
    상기 신호변화 검출회로는, 상기 순서회로로부터 시리얼로 출력되는 출력 신호와 1개 전에 출력된 출력 신호를 받아서 상기 난수를 형성하는 배타적 논리회로를 이용하는 것을 특징으로 하는 난수발생 방법.
  5. 제3항에 있어서,
    상기 1비트의 난수에 대응한 모든 단위회로의 출력 신호는, 칩 식별 신호로서도 이용되는 것을 특징으로 하는 난수발생 방법.
  6. 제1항에 있어서,
    상기 신호변화 검출회로에 의해 형성된 난수는, 산술방식의 난수발생 회로의 초기값으로서 이용할 수 있으며,
    상기 산술방식의 난수발생 회로로부터 난수가 생성되는 것을 특징으로 하는 난수발생 방법.
  7. 상호 동일한 제조 과정을 가지며 동일한 형태로 형성된 제1 및 제2논리회로와,
    상기 제1논리회로 및 제2논리회로의 문턱치전압의 차전압(差電壓)에 중첩되는 잡음을 증폭해서 2치(値) 신호를 형성하는 증폭 회로로 이루어지는 단위회로의 복수개로부터 출력되는 복수 비트로 이루어지는 신호를 초기값으로서 산술방식의 난수발생 회로에 전하고,
    상기 산술방식의 난수발생 회로로부터 난수를 생성하여 이루어지는 것을 특징으로 하는 난수발생 방법.
  8. 상호 동일한 제조 과정을 가지며 동일한 형태로 형성된 제1 및 제2논리회로와,
    상기 제1논리회로 및 제2논리회로의 문턱치전압의 차전압(差電壓)에 중첩되는 잡음을 증폭해서 2치 신호를 형성하는 증폭 회로로 이루어지는 단위회로의 복수개와,
    상기 복수개의 단위회로로부터 출력되는 복수개로 이루어지는 2치 신호 중 어느 1개의 신호변화에 응답해서 출력 신호를 형성하는 신호변화 검출회로를 구비하고,
    상기 신호변화 검출회로로부터 출력되는 2치 신호로부터 난수를 생성하여 이루어지는 것을 특징으로 하는 반도체 집적 회로 장치.
  9. 제8항에 있어서,
    상기 제1 및 제2논리회로와 상기 증폭 회로는,
    제1과 제2의 입력을 갖는 논리 게이트 회로로 이루어지고,
    상기 제1논리회로에 대응한 논리 게이트 회로의 제1의 입력과 출력이 접속되며, 상기 제2논리회로에 대응한 논리 게이트 회로의 제1의 입력은, 상기 제1논리회로에 대응한 논리 게이트 회로의 공통 접속된 입력과 출력에 접속되고,
    상기 제1 및 제2 논리회로에 대응한 논리 게이트 회로의 제2의 입력에는, 동작 제어 신호가 공급되며,
    상기 증폭 회로는, 복수개의 논리 게이트 회로의 제1의 입력과 출력이 종렬 형태로 접속되고,
    제2의 입력에는 상기 동작 제어 신호가 공급되어서 되는 것을 특징으로 하는 반도체 집적 회로 장치.
  10. 제9항에 있어서,
    상기 복수의 단위회로는, 순서회로에 의해 형성된 동작 제어 신호에 대응해서 순차적으로 선택 상태가 되며, 상기 복수의 단위회로의 출력부는, 상기 신호변화 검출회로가 설치되어 이루어지는 것을 특징으로 하는 반도체 집적 회로 장치.
  11. 제10항에 있어서,
    상기 신호변화 검출회로는,
    상기 순서회로로부터 출력되는 출력 신호와 1개 전에 출력된 출력 신호를 받아서 상기 난수를 형성하는 배타적 논리회로를 포함하는 것을 특징으로 하는 반도체 집적 회로 장치.
  12. 제11항에 있어서,
    상기논리 게이트 회로는, CMOS구성의 논리 게이트 회로이며,
    상기 동작 제어 신호에 의해 단위회로가 비동작 상태로 될 때에,
    차단(次段)의 게이트 회로의 P 채널 MOSFET를 off 상태로 되게 하는 것을 특징으로 하는 반도체 집적 회로 장치.
  13. 제11항에 있어서,
    상기 복수의 단위회로는, 행렬 배치되어 구성되고, 행렬 배치되는 각 단위회로의 입력부에는, 제1입력과 제2입력을 갖는 논리 게이트 회로가 설치되고, 제1입력과 제2입력에 행 및 열선택 신호가 공급되며, 그 출력에 의해 상기 제1논리회로 및 제2논리회로를 구성하는 논리 게이트 회로를 선택 상태로 되게 하는 동작 제어 신호가 형성되고,
    상기 각 단위회로의 증폭 회로를 구성하는 논리 게이트 회로의 제2의 입력에는, 행방향으로 배치되는 전단(前段)으로부터의 단위회로의 출력 신호가 전해지는 것이며, 이러한 증폭 회로는 상기 동작 제어 신호가 비선택 상태인 때에 전단으로부터의 단위회로의 출력 신호를 증폭해서 전하는 것을 특징으로 하는 반도체 집적 회로 장치.
  14. 제13항에 있어서,
    상기 단위회로를 구성하는 MOSFET의 게이트 길이 및 게이트 폭은, 상기 신호변화 검출회로 또는 순서회로를 포함하는 다른 논리회로를 구성하는 MOSFET의 게이트 길이 및 게이트 폭보다도 크게 형성되어서 되는 것을 특징으로 하는 반도체 집적 회로 장치.
  15. 제11항에 있어서,
    상기 순서회로는, 같은 단위회로를 복수 회 연속해서 선택하는 테스트 모드를 구비하고,
    이러한 테스트 모드에 있어서, 같은 단위회로로부터 복수 회 출력되는 출력 신호 중 다른 출력을 형성하는 단위회로의 수를 계수(計數)하는 회로를 설치하며, 상기 다른 출력 신호를 형성하는 단위회로의 수가 1이상일 때에 난수발생 회로는 양품(良品)으로서 판정하여 이루어지는 것을 특징으로 하는 반도체 집적 회로 장치.
KR1020067016264A 2004-02-12 2004-02-12 난수발생 방법과 반도체 집적 회로 장치 KR100875786B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2004/001486 WO2005078573A1 (ja) 2004-02-12 2004-02-12 乱数発生方法と半導体集積回路装置

Publications (2)

Publication Number Publication Date
KR20060125855A true KR20060125855A (ko) 2006-12-06
KR100875786B1 KR100875786B1 (ko) 2008-12-26

Family

ID=34857514

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020067016264A KR100875786B1 (ko) 2004-02-12 2004-02-12 난수발생 방법과 반도체 집적 회로 장치

Country Status (7)

Country Link
US (1) US7702704B2 (ko)
EP (1) EP1715409B1 (ko)
JP (1) JP4353435B2 (ko)
KR (1) KR100875786B1 (ko)
CN (1) CN100585552C (ko)
DE (1) DE602004027663D1 (ko)
WO (1) WO2005078573A1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100964845B1 (ko) * 2007-11-29 2010-06-24 주식회사 시큐트론 공정편차에 기반한 보안 시스템 및 방법
US8443022B2 (en) 2009-02-09 2013-05-14 Samsung Electronics Co., Ltd. Apparatus and method for generating random number
US8886692B2 (en) 2009-02-09 2014-11-11 Samsung Electronics Co., Ltd. Apparatus for generating random number
US9966956B2 (en) 2016-03-18 2018-05-08 SK Hynix Inc. Semiconductor integrated circuit device

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070126556A1 (en) * 2005-12-07 2007-06-07 Kovio, Inc. Printed radio frequency identification (RFID) tag using tags-talk-first (TTF) protocol
JP2008052545A (ja) * 2006-08-25 2008-03-06 Seiko Instruments Inc 乱数発生回路
JP2008242832A (ja) * 2007-03-27 2008-10-09 Toshiba Corp 乱数生成装置
US7962539B2 (en) * 2007-04-30 2011-06-14 International Business Machines Corporation System, method and device of generating a random value
TWI346304B (en) * 2007-08-30 2011-08-01 Inventec Appliances Corp Apparatus and method for preventing integrated circuit card illeally reading
JP2009193523A (ja) * 2008-02-18 2009-08-27 Seiko Epson Corp 乱数発生回路、電子機器、およびi/oセルのテスト方法
JP4538066B2 (ja) * 2008-08-26 2010-09-08 株式会社東芝 乱数生成装置
KR100926214B1 (ko) 2009-04-23 2009-11-09 한양대학교 산학협력단 공정편차를 이용한 디지털 값 생성 장치 및 방법
US8522065B2 (en) * 2009-09-06 2013-08-27 Percello Ltd. Generating a random number in an existing system on chip
US8554814B2 (en) * 2010-08-20 2013-10-08 The Governing Council Of The University Of Toronto Random signal generator using quantum noise
KR101139630B1 (ko) * 2010-12-09 2012-05-30 한양대학교 산학협력단 식별키 생성 장치 및 방법
KR101373283B1 (ko) * 2012-04-23 2014-03-11 한국전자통신연구원 비휘발성 메모리를 이용한 이중 트랙 방식의 난수 발생 방법 및 이를 위한 장치
JP6034153B2 (ja) * 2012-11-21 2016-11-30 株式会社東芝 乱数生成回路
US20140197865A1 (en) 2013-01-11 2014-07-17 International Business Machines Corporation On-chip randomness generation
KR20140108362A (ko) 2013-02-25 2014-09-11 삼성전자주식회사 난수 발생기
US9531384B1 (en) * 2014-12-01 2016-12-27 University Of South Florida Adiabatic dynamic differential logic for differential power analysis resistant secure integrated circuits
CN104579308A (zh) * 2014-12-23 2015-04-29 苏州宽温电子科技有限公司 一种改善电平转换电路负偏压温度不稳定性的恢复电路
CN104579300A (zh) * 2014-12-23 2015-04-29 苏州宽温电子科技有限公司 一种改善灵敏放大器负偏压温度不稳定性的恢复电路
US10033359B2 (en) * 2015-10-23 2018-07-24 Qualcomm Incorporated Area efficient flip-flop with improved scan hold-margin
US9966953B2 (en) 2016-06-02 2018-05-08 Qualcomm Incorporated Low clock power data-gated flip-flop
KR101920190B1 (ko) * 2016-11-22 2019-02-08 한국인터넷진흥원 임의의 ip 생성 방법 및 그 장치
CN106845109B (zh) * 2017-01-20 2019-08-27 中国人民解放军海军工程大学 一种指数型有寿件备件需求量的计算方法
CN106971048B (zh) * 2017-04-14 2020-06-19 中国人民解放军海军工程大学 一种伽马型有寿件备件需求量计算方法
KR102341266B1 (ko) * 2017-08-30 2021-12-20 삼성전자주식회사 물리적 복제방지 기능을 위한 집적 회로 및 이를 포함하는 장치
CN109669669B (zh) * 2018-12-06 2022-06-24 镕铭微电子(济南)有限公司 误码生成方法及误码生成器
CN110955408A (zh) * 2019-12-02 2020-04-03 上海威固信息技术股份有限公司 一种基于Xilinx FPGA的真随机数生成方法和系统
RU2741865C1 (ru) * 2020-07-17 2021-01-29 Комаров Юрий Олимпиевич Генератор истинно случайных чисел
US11967358B2 (en) * 2022-05-26 2024-04-23 Micron Technology, Inc. Apparatuses and methods for bias temperature instability mitigation

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0308294A3 (en) 1987-09-18 1991-04-03 STMicroelectronics, Inc. Noise-resistant arbiter circuit
US5963104A (en) * 1996-04-15 1999-10-05 Vlsi Technology, Inc. Standard cell ring oscillator of a non-deterministic randomizer circuit
JPH10209821A (ja) * 1996-12-05 1998-08-07 Texas Instr Inc <Ti> ランダムノイズ発生器及び発生方法
JP3600454B2 (ja) 1998-08-20 2004-12-15 株式会社東芝 暗号化・復号装置、暗号化・復号方法、およびそのプログラム記憶媒体
US6636553B1 (en) * 1998-12-29 2003-10-21 Texas Instruments Incorporated Pseudorandom noise generator for WCDMA
US6188294B1 (en) * 1999-05-12 2001-02-13 Parthus Technologies, Plc. Method and apparatus for random sequence generator
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
FR2810816B1 (fr) * 2000-06-27 2002-12-13 France Etat Dispositif a circuit(s) logique(s) pour la generation d'un signal aleatoire
WO2002050910A1 (fr) * 2000-12-01 2002-06-27 Hitachi, Ltd Procede d'identification de dispositif de circuit integre semi-conducteur, procede de production de dispositif de circuit integre semi-conducteur et dispositif correspondant
JP3604674B2 (ja) * 2001-09-26 2004-12-22 株式会社東芝 乱数生成回路
JP3604658B2 (ja) 2001-09-26 2004-12-22 株式会社東芝 乱数生成回路
DE10213269A1 (de) * 2002-03-25 2003-10-23 Infineon Technologies Ag Zufallszahlengenerator
US7007060B2 (en) 2002-05-08 2006-02-28 Agilent Technologies, Inc. Random bit stream generation by amplification of thermal noise in a CMOS process
JP4114739B2 (ja) 2002-05-17 2008-07-09 株式会社ルネサステクノロジ 半導体識別回路と半導体集積回路装置
US7356552B2 (en) * 2003-03-14 2008-04-08 Nxp B.V. VLSI implementation of a random number generator using a plurality of simple flip-flops

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100964845B1 (ko) * 2007-11-29 2010-06-24 주식회사 시큐트론 공정편차에 기반한 보안 시스템 및 방법
US8443022B2 (en) 2009-02-09 2013-05-14 Samsung Electronics Co., Ltd. Apparatus and method for generating random number
US8886692B2 (en) 2009-02-09 2014-11-11 Samsung Electronics Co., Ltd. Apparatus for generating random number
US9966956B2 (en) 2016-03-18 2018-05-08 SK Hynix Inc. Semiconductor integrated circuit device

Also Published As

Publication number Publication date
US7702704B2 (en) 2010-04-20
JPWO2005078573A1 (ja) 2007-08-30
KR100875786B1 (ko) 2008-12-26
JP4353435B2 (ja) 2009-10-28
CN100585552C (zh) 2010-01-27
EP1715409A1 (en) 2006-10-25
DE602004027663D1 (de) 2010-07-22
US20070143384A1 (en) 2007-06-21
EP1715409A4 (en) 2009-05-06
CN1922570A (zh) 2007-02-28
EP1715409B1 (en) 2010-06-09
WO2005078573A1 (ja) 2005-08-25

Similar Documents

Publication Publication Date Title
KR100875786B1 (ko) 난수발생 방법과 반도체 집적 회로 장치
CN108694335B (zh) 基于sram的物理不可克隆函数及产生puf响应的方法
Rührmair et al. PUFs at a glance
US10498544B2 (en) Security device having physical unclonable function
US10574469B1 (en) Physically unclonable function and method for generating a digital code
US8874632B2 (en) Apparatus for generating random number
US20070180009A1 (en) RFID tag with random number generator having a noise-based input
US20110131263A1 (en) Random Number Generators Having Metastable Seed Signal Generators Therein
TW202034158A (zh) 隨機數產生器
Kumar et al. On design of temperature invariant physically unclonable functions based on ring oscillators
CN106850227A (zh) 一种采用cnfet实现的三值puf单元及电路
US9337156B2 (en) Method for manufacturing a digital circuit and digital circuit
US20170366185A1 (en) Integrated circuit (ic) chip comprising an identification circuit
KR101646506B1 (ko) 난수 발생기
KR20150026737A (ko) Puf를 갖는 보안 장치
ES2548792B1 (es) Método y dispositivo para generar identificadores y números verdaderamente aleatorios
US9344273B2 (en) Cryptographic device for implementing S-box
Kamal et al. Mixed-signal physically unclonable function with CMOS capacitive cells
US11303461B2 (en) Security device having physical unclonable function
Shifman et al. A method to utilize mismatch size to produce an additional stable bit in a tilting SRAM-based PUF
US11195582B2 (en) Non-volatile memory device and method of writing to non-volatile memory device
CN105404739B (zh) 一种基于非对称天线效应的cmos片上恒稳定id产生电路
Alioto Aggressive design reuse for ubiquitous zero-trust edge security—From physical design to machine-learning-based hardware patching
Kurra et al. A reliable current starved inverter based arbiter PUF architecture for IoT applications
US20190114143A1 (en) Random number generating system and random number generating method thereof

Legal Events

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

Payment date: 20121121

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20131119

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20141120

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20151118

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee