KR20180125755A - 단일 광자 아발란체 다이오드의 암흑전류를 이용한 난수발생기 - Google Patents
단일 광자 아발란체 다이오드의 암흑전류를 이용한 난수발생기 Download PDFInfo
- Publication number
- KR20180125755A KR20180125755A KR1020170060440A KR20170060440A KR20180125755A KR 20180125755 A KR20180125755 A KR 20180125755A KR 1020170060440 A KR1020170060440 A KR 1020170060440A KR 20170060440 A KR20170060440 A KR 20170060440A KR 20180125755 A KR20180125755 A KR 20180125755A
- Authority
- KR
- South Korea
- Prior art keywords
- random number
- dark current
- pulse
- spad
- number generator
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
- G06F7/588—Random number generators, i.e. based on natural stochastic processes
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)
- Light Receiving Elements (AREA)
Abstract
본 발명은 전력소모가 적고 안전성에 대한 이슈가 없는, 최대한 간단한 형태의 단일 광자 아발란체 다이오드의 암흑전류를 이용한 난수발생기를 개시한다.
본 발명은 이를 위하여 광자 유입을 차단한 SPAD와, 상기 SPAD와 연결되어 암흑전류 펄스를 출력하기 위한 암흑전류 펄스 검출 회로와, 상기 암흑전류 펄스 검출 회로의 출력에 연결되어 펄스에 의하여 난수를 발생시키는 논리회로로 구성된 펄스-난수 변환기를 구비하되, 이에 더하여 후처리기를 연결하여서 된 것이다.
이에 따라, 본 발명은 SPAD에서 발생하는 암흑전류의 양자적 난수성을 이용함으로써 완전한 난수발생기를 구현하게 되며, 편향되지 않은 균일한 무작위성을 지닌 난수특성을 제공하면서도 CMOS 공정에서도 구현이 가능하므로, 실리콘 다이 위에 논리 회로와 같이 집적이 가능하며 생산 비용 절감과 소형화가 가능함은 물론 한층 강화된 보안성을 갖게 되는 유용한 효과가 있다.
본 발명은 이를 위하여 광자 유입을 차단한 SPAD와, 상기 SPAD와 연결되어 암흑전류 펄스를 출력하기 위한 암흑전류 펄스 검출 회로와, 상기 암흑전류 펄스 검출 회로의 출력에 연결되어 펄스에 의하여 난수를 발생시키는 논리회로로 구성된 펄스-난수 변환기를 구비하되, 이에 더하여 후처리기를 연결하여서 된 것이다.
이에 따라, 본 발명은 SPAD에서 발생하는 암흑전류의 양자적 난수성을 이용함으로써 완전한 난수발생기를 구현하게 되며, 편향되지 않은 균일한 무작위성을 지닌 난수특성을 제공하면서도 CMOS 공정에서도 구현이 가능하므로, 실리콘 다이 위에 논리 회로와 같이 집적이 가능하며 생산 비용 절감과 소형화가 가능함은 물론 한층 강화된 보안성을 갖게 되는 유용한 효과가 있다.
Description
본 발명은 단일 광자 아발란체 다이오드(SPAD : Single-Photon Avalanche Diode)의 암흑전류를 이용한 난수발생기에 관한 것으로 특히 완전한 빛의 차단 상태에서 낮은 확률로 발생하는 전기적 펄스신호인 암흑전류 펄스의 시간 간격 또는 일정 시간 간격 내의 암흑 전류 펄스 발생 횟수 정보에 따라 난수를 발생시킬 수 있도록 한 단일 광자 아발란체 다이오드의 암흑전류를 이용한 난수발생기에 관한 것이다.
주지하는 바와 같이, 난수는 정보의 암호화, 통신 알고리즘, 몬테카를로 컴퓨터 시뮬레이션, 테스트 벡터 생성, 확률 통계 분석, 게임 등 많은 분야에서 필요로 한다.
또한 난수를 만들어 내는 가장 간단한 방법으로, 주어진 시드(seed)와 다항식(polynomial)을 가지고 난수를 계산해 내는 모조 난수발생기 (pseudo Random Number Generator(RNG))가 있다.
이러한 모조 난수발생기는 컴퓨터 안에서 소프트웨어 알고리즘으로 구현되거나 하드웨어 논리회로의 형태로 간단히 구현 가능하나, 근본적으로 앞서 발생한 난수 열에서 시드와 다항식을 추정해 냄으로써 이후에 발생할 난수를 예측 가능하다는 문제를 안고 있다. 즉 계산하는 방식은 결정론적인 방법으로 동작하므로 진정한 의미의 난수를 만들어 낼 수 없다.
진정한 난수를 얻는 가장 좋은 방법은 물리적 난수발생기 (Physical RNG 또는 True RNG)를 이용하는 것이다. 잘 제어된 물리적 프로세스를 측정하여 난수를 얻는 방법으로, 온도, 진동, 전압 등의 미세한 변화를 이용하는 것을 고려할 수 있다. 물리적 난수발생기로 일반적인 CMOS 반도체 공정에서 쉽게 구현이 가능한 대표적인 방식으로 링발진기(Ring Oscillator) 기반 난수발생기와 준안정성(Metastability) 기반 난수발생기가 있다.
먼저, 링발진기 기반 난수발생기의 대표적인 것으로 대한민국 등록특허 1646506(발명의 명칭: 난수 발생기)를 살펴보면 홀수개의 인버터를 순차적으로 연결하고, 마지막 인버터의 출력을 첫 인버터의 입력으로 연결함으로써 공정, 온도, 전압에 따라 결정되는 주파수로 발진하게 되며, 이와 같이 온도 변화 또는 전압 노이즈에 따라 변화하는 주파수에서 난수성을 얻게 된다.
또한, 준안정성 기반 난수발생기는 서로 교차 연결된 두 개의 인버터의 준안정성(Metastability)에서 오는 난수성을 이용한다. 상대방 입력으로 연결된 두 인버터의 출력 노드를 동일하게 논리값 '1'로 끌어 올렸다가 놓는 경우, 두 노드는 준안정성 상태를 거쳐 어느 시간 이후 '0'/'1' 또는 '1'/'0' 값으로 안정화 된다. 이렇게 안정화되는 값은 온도 노이즈에 영향을 받으며 난수성을 갖는다.
이와 같이 상기 링발진기 기반 난수발생기나 준안정성 기반 난수발생기는 구조가 간단하고 CMOS 반도체 공정으로 구현이 용이한 장점을 가지나, 정보이론적으로 난수성을 증명할 수 없고, 얻어지는 난수 값이 편향되는 경향이 높으며, 균일한 무작위성(Uniformly Random)을 갖도록 제어하기 어렵다는 단점을 갖는다.
현재 물리적 난수발생기로 가장 인정을 받는 방식은 양자 특성에 기반한 난수발생기, 축약하여 양자 난수발생기(Quantum RNG)이며, 대표적인 것으로 유럽특허출원 06742182.6(발명의 명칭: Quantum Random Number Generators(퀀텀난수발생기))에 의하여 살펴 볼 수 있다.
이러한 양자 난수발생기는 양자의 무작위성(randomness)에 기반하며, 정보이론적으로 그 난수 특성이 입증 가능하다. 양자 난수발생기는 빛(광자)을 이용한 방식과 방사성 붕괴를 이용한 방식이 대표적이다.
광자를 이용한 방식은 광자발생기, 반투과 거울, 단일광자검출기로 구성된 장치를 이용하여 난수를 추출한다. 광자발생기에서 만들어 낸 광자가 반투과거울를 통과해서 단일광자검출기에서 검출될 가능성이 이상적인 반투과거울인 경우 50%의 확률로 무작위성을 가짐을 이용한 것이다. 광자를 이용한 방식은 무작위성은 보장되나 이상적인 반투과 거울의 제작은 불가능하며 따라서 확률이 편향된다는 문제점을 안고 있다.
방사성 붕괴를 이용하는 방식은 방사성 동위원소에서 방출되는 입자 발생의 무작위성에 기반한다. 방사성 동위원소에 방출되는 입자는 양자역학적으로 불확정성을 가지므로 방출 입자를 검출한 시간 데이터를 이용하여 난수를 만들어 낸다. 방사성 붕괴를 이용한 방식은 난수 특성은 좋으나 방사성 물질을 사용해야 하는 위험성이 있으며, 기존 물리적 난수발생기에 비해 복잡한 구조, 장치 구성으로 인해 광범위하게 사용되기에는 제약이 따른다.
본 발명의 목적은 이러한 문제점을 해결하기 위하여 광원이나 방사성 동위원소를 사용하지 않음으로써 전력소모가 적고, 안전성에 대한 이슈가 없으며, 최대한 간단한 형태의 양자 난수발생기가 되도록 단일 광자 아발란체 다이오드(SPAD)의 암흑전류를 이용한 난수발생기를 제공함에 있다.
본 발명의 다른 목적은 양자 난수발생기이면서도 링오실레이터나 준안정성에 기반한 물리적 난수발생기와 같이 일반적인 반도체 공정에서 모든 구성 장치를 단일 실리콘 다이(die) 위에 구현 가능하도록 하여 양자 특성을 이용하지 않는 물리적 난수발생기와 견줄 수 있는 수준의 크기와 생산 단가를 충족시킬 수 있도록 한 단일 광자 아발란체 다이오드의 암흑전류를 이용한 난수발생기를 제공함에 있다.
본 발명의 또 다른 목적은 난수를 필요로 하는 시스템반도체에 난수발생기를 같은 칩 안에 IP로서 집적할 수 있도록 함으로써 칩 외부에 만들어진 난수 열이 노출되는 것을 방지하고, 결과적으로 시스템 레벨의 보안성을 강화할 수 있도록 한 단일 광자 아발란체 다이오드의 암흑전류를 이용한 난수발생기를 제공함에 있다.
본 발명은 이러한 목적을 달성하기 위하여 암흑전류 발생을 위한 SPAD(Single-Photon Avalanche Diode)와, 상기 SPAD에 빛이 조사되지 않도록 차단하기 위한 빛 차단 수단과, 상기 SPAD와 연결되어 암흑전류 펄스를 인지하기 위한 펄스 검출 회로로 구성된 암흑전류발생기와, 상기 암흑전류발생기의 출력에 연결되어 펄스에 의하여 난수를 발생시키는 논리회로로 구성된 펄스-난수 변환기를 구비하되, 이에 더하여 후처리기를 연결하여서 된 단일 광자 아발란체 다이오드의 암흑전류를 이용한 난수발생기를 제안한다.
이와 같이 하여 본 발명은 SPAD의 본래 목적인 광자 측정에 방해요소로서 최소화의 대상으로 여겨졌던 암흑전류의 양자적 난수성을 이용함으로써 완전한 난수발생기를 구현하게 되며, 양자 난수발생기이면서도 기존의 양자 난수발생기와 달리 광원과 확률의 편향이 불가피한 반투과 거울의 사용을 배제하고, 반도체 단일칩상으로 구현 가능하도록 함으로써 편향되지 않은 균일한 무작위성을 지닌 난수특성을 제공하면서도 CMOS 공정에서도 구현이 가능하므로, 실리콘 다이 위에 논리 회로와 같이 집적이 가능하고, 이에 따라 생산 비용 절감과 소형화에 큰 이점을 가진다.
이와 같은 본 발명에 의한 SPAD의 암흑전류를 이용한 난수발생기는 정보 보안, 암호화 등을 요구하는 반도체 칩 설계에 IP로 활용될 수 있으며, IP로 집적된 경우 난수발생기에서 만들어진 난수 값 자체도 칩 외부로 노출이 되지 않으므로 한층 강화된 보안성을 갖게 되는 유용한 효과가 있다.
도1은 종래의 링카운터 방식 난수 발생기를 예시한 회로도.
도2는 종래의 퀀텀난수발생기를 예시한 구성도.
도3은 본 발명에 의한 암흑전류발생기와 펄스-난수 변환기로 이루어지는 난수 생성기를 보인 개략도.
도4는 도3의 난수 생성기 복수개와 후처리기를 이용하여 난수 생성 속도를 가속하는 예를 보인 개략도.
도5는 수동 방식의 암흑 전류 펄스 검출 회로도.
도6은 펄스-난수 변환기의 3가지 구현 예시 회로도.
도7은 펄스-난수 변환기의 타이밍다이어그램.
도8은 후처리기의 구성을 예시한 개략도.
도2는 종래의 퀀텀난수발생기를 예시한 구성도.
도3은 본 발명에 의한 암흑전류발생기와 펄스-난수 변환기로 이루어지는 난수 생성기를 보인 개략도.
도4는 도3의 난수 생성기 복수개와 후처리기를 이용하여 난수 생성 속도를 가속하는 예를 보인 개략도.
도5는 수동 방식의 암흑 전류 펄스 검출 회로도.
도6은 펄스-난수 변환기의 3가지 구현 예시 회로도.
도7은 펄스-난수 변환기의 타이밍다이어그램.
도8은 후처리기의 구성을 예시한 개략도.
이러한 본 발명을 첨부된 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명하면 다음과 같다.
본 발명에 의한 단일 광자 아발란체 다이오드(SPAD : Single-Photon Avalanche Diode ; 이하 'SPAD'라 함)의 암흑전류를 이용한 난수발생기의 구체적인 실시예의 전체적인 구성을 도 3과 도 4로 도시하였다.
이를 각 구성요소별로 더욱 상세하게 설명하면, 본 발명은 예측 불가능하고, 편향되지 않으며, 서로 연관되지 않는 난수를 만들어 내기 위하여 SPAD에서 원치 않게 발생하는 암흑전류 펄스를 이용함을 그 특징으로 한다.
주지하는 바와 같이 본래 SPAD는 빛을 감지하는 목적으로 고안된 반도체 소자이며, 역 바이어스 된 SPAD는 하나의 광자에도 반응하여 아발란체 브레이크다운(Avalanche Breakdown)현상을 일으킨다. 이때 발생하는 일시적인 증폭 전류가 저항을 통할 때 펄스 신호로 나타나며, 이 펄스 신호를 모니터링 함으로써 광자 또는 미세한 빛을 감지할 수 있다.
이런 의도된 기능을 방해하는 특성으로, SPAD는 빛을 감지하거나 광자가 흡수되지 않아도 어느 정도의 빈도로 암흑 전류(Dark Current)가 발생하고, 그만큼 펄스 카운트 수가 증가하는 현상을 보인다. 또한, 이러한 암흑전류로 인하여 발생한 펄스 빈도를 암흑산입빈도(DCR : Dark Count Rate)라고 한다. 물리적으로 암흑전류는 SPAD 내에서 온도 또는 터널링(tunneling)에 의해 무작위로 발생된 전자와 정공(random generation of electrons and holes)으로 인해 발생하는 것으로 알려져 있다.
본 발명은 SPAD에서 암흑전류의 발생이 양자역학적으로 무작위성을 갖는다는 점을 이용하며, 암흑전류로 인한 암흑산입빈도가 SPAD의 면적, 바이어스 초과 전압, 온도 등에 영향을 받지만 기존의 양자 난수발생기와 비교할 때 광원과 확률의 편향이 불가피한 반투과 거울의 사용을 배제함으로써 암흑전류 펄스의 발생분포가 일그러지거나 편향되지는 않도록 제어가 용이하다.
이를 위하여 도3으로 도시한 바와 같이, 본 발명에 의한 SPAD의 암흑전류를 이용한 난수발생기는 암흑전류발생기(300)와 펄스-난수 변환기(400)로 구성된다. 상기 암흑전류발생기(300)는 일반적으로 사용되는 광자 검출을 위한 SPAD(100)와 암흑전류 펄스 검출 회로(102)로 구성되며, 특히, 본 발명에서는 SPAD(100)에 빛 차단수단(101)으로써 차단막 또는 성형패키지를 씌워 SPAD(100)에 광자 유입을 완전 차단함으로써 얻어진다. 이는 광자 검출을 위한 SPAD(100)의 제작 시에 SPAD(100)에 광원이 유입될 수 있도록 SPAD(100)를 외부로 노출 시키는 것과 상반되는 것이다.
또한 상기 암흑전류 펄스 검출 회로(102)는 광원이 SPAD(100)에 흡수되거나 암흑전류가 발생하면 펄스 신호를 출력하는데, SPAD(100)에 빛 차단수단(101)을 씌워 광자의 유입을 차단함으로써 오직 암흑전류에 의해 발생한 펄스(암흑전류 펄스)만이 출력된다.
이러한 빛 차단수단(101)은 SPAD(100)를 빛으로부터 차단하도록 SPAD(100) 소자에만 씌워 주거나 SPAD(100)를 포함한 여타 회로, 또는 시스템 전체에 씌워 줄 수 있다. 도 5는 암흑전류 펄스 검출 회로(102)의 일반적 수동형 회로 구성을 보여주며, 암흑전류의 검출이 양자의 검출과 동일한 회로로 동작함으로 양자 검출을 위해 개발, 개선된 다양한 SPAD 회로 구성들도 동일하게 사용할 수 있다.
또한 상기 펄스-난수 변환기(400)는 암흑전류발생기(300)에서 만들어진 암흑전류 펄스 정보를 가지고 M-비트의 디지털 난수 신호를 만들어 낸다(M은 1보다 크거나 같은 정수). 상기 디지털 난수 신호를 만들기 위해 펄스-난수 변환기(400)는 암흑전류 펄스의 발생 시간을 활용하는 방법( 이하 '방법1'이라 함 )과, 암흑전류 펄스 사이의 시간 간격(Interval)을 활용하는 방법( 이하 '방법2'라 함 ), 또는 일정 시간 주기 동안 발생하는 암흑전류 펄스 수를 활용하는 방법( 이하 '방법3'이라 함 )을 선택적으로 활용할 수 있다. 이를 도 6으로 도시하였으며, 도 6을 참조하여 더욱 상세히 예시하면 다음과 같다.
즉, 방법1(Method 1)은 펄스-난수 변환기(400) 내부에 M-비트 타이머(최대값에 이르면 0부터 다시 증가를 반복하는 타이머)를 설치하고, 암흑전류 펄스가 들어오면 이때의 타이머 값을 난수 값으로 출력한다. (이때 출력하는 난수 값은 임의 시점을 기준으로 한 펄스 발생 시간의 타이머 값 하위 M-비트를 의미한다.)
또한, 방법2(Method 2)는 펄스-난수 변환기(400) 안에 M-비트 타이머(최대값에 이르면 0부터 다시 증가를 반복하는 타이머)를 두고, 암흑전류 펄스가 들어오면 이때의 타이머 값을 난수 값으로 출력하며, 상기 M-비트 타이머의 타이머 값을 '0'으로 초기화한다. (이때 출력하는 난수 값은 펄스간 시간 간격의 하위 M-비트를 의미한다.)
아울러, 방법3(Method 3)은 펄스-난수 변환기(400) 안에 M-비트 펄스카운터를 두고, 암흑전류 펄스가 들어올 때마다 카운터 값을 증가시킨다.( 이 경우도 카운터 값이 최대값에 이르면 0부터 다시 증가를 반복한다.) 펄스-난수 변환기(400)는 일정 주기가 되면 펄스카운터의 카운터 값을 난수 값으로 출력하고 펄스카운터 값을 '0'으로 초기화 한다.(이때 출력하는 난수 값은 주어진 주기내 펄스발생수의 하위 M-비트를 의미한다.) 이때 출력 값은 이론적으로, 주어진 주기에 대한 평균 암흑펄스 발생빈도를 매개변수로 하는 푸아송 분포(Poisson Distribution)를 따른다.
특히, 본 발명에서는 출력 값의 균등한 분포를 얻기 위해, 방법1과 방법2는 암흑전류 펄스 평균 발생 주기를 충분히 큰 해상도로 나눌 수 있는 타이머(지역타이머클록(local timer clock)사용)가 필요하게 되고, 방법3은 암흑전류 펄스 평균 발생 주기보다 충분히 큰 주기(난수발생클록(RNG generation clock)사용)로 펄스카운터 값을 잡아야 한다. 상기 방법1,2,3 모두 M=1일 때 가장 좋은 출력 분포를 가지며, 이상적으로 '0'과 '1'의 출력 확률이 50%로 수렴하므로 확률이 편중될 가능성이 없게 되는 것이다.
도 6은 앞에서 설명한 펄스-난수 변환기(400) 구현 방법1, 방법2, 방법3의 하드웨어 구성 예시를 보여주는데, 방법1과 방법2는 내부적으로 지역타이머클록을 사용하여 타이머를 구동하는데 반하여, 방법3는 암흑전류펄스를 받아 카운터를 구동하며, 결과적으로 이 값들이 최종 출력으로 전달되는 구조를 갖는다. 방법1,2의 타이머와 방법3의 카운터 모두 하드웨어적으로 하위 M-비트만 구현되므로 최대값 도달 시 '0'부터 다시 시작하게 된다. 방법1과 방법2는 난수발생클록 동기화 필요에 따라 출력 전에 난수발생클록에 동기화하는 단을 추가 할 수 있다.(회색으로 그려진 부분)
도 7은 방법1, 방법2, 방법3의 하드웨어 구성 및 동작의 이해를 돕기 위해 타이밍다이어그램을 예시한 것이다. 방법1,2 구현의 경우 지역타이머클록에 맞추어 타이머가 동작하게 되고, 암흑전류 펄스 발생에 동기되어 타이머 값이 출력으로 전달됨을 볼 수 있다. 방법1과 2의 차이점은 방법1은 타이머가 지속적으로 증가함에 반해 방법2는 암흑전류 펄스 발생으로 초기화된다는 점이다. 방법3의 경우 카운터는 암흑전류 펄스에 따라 증가되며 난수발생클록에 동기되어 출력으로 옮겨진다.
도 4는 도 3에서 예시한 난수발생기 N개(N은 1보다 크거나 같은 정수)와 후처리기(600)를 사용하여 난수 발생 비트 폭을 넓히거나, 난수 발생 속도를 가속화 하는 목적으로 구조를 확장하는 방법을 보여준다. 도 4에서 N 조의 암흑전류발생기(300)와 펄스-난수 변환기(400)는 난수발생클록에 동기하여 N개의 M-비트 난수를 발생시키고, 후처리기(600)는 이 값들을 입력으로 받아 난수출력클록에 동기한 L-비트 난수를 생성해 낸다.
후처리기(600)의 예시 구조는 도 8에 보인 바와 같이, FIFO(first-in first-out) 버퍼(601)와 해쉬 엔진(602)으로 구성된다. 후처리기(600)에서 사용하는 FIFO 버퍼(601)는 입출력클록을 달리 가져가기 위해 듀얼클록메모리를 사용하여 구현하며, CLK_fi(난수발생클록)에 맞추어 (N x M)-비트 값을 입력으로 받아 저장하고, CLK_fo(난수출력클록)에 맞추어 H-비트씩 출력값을 내보낸다. FIFO 버퍼(601)는 난수출력 비트폭 또는 난수출력 주파수 변환을 위해 사용되며, 이때 (N x M) x freq(CLK_fi) = H x freq(CLK_fo)를 만족하도록 해야 버퍼오버플로우나 언더플로우가 발생하지 아니한다.
또한 상기 해쉬 엔진(602)은 H-비트의 입력을 받아 L-비트의 출력을 생성해 내는 해쉬 함수를 하드웨어로 구현한 블록으로 난수발생기의 출력 값이 가질 수 있는 편향성을 제거해 주는 목적으로 사용한다. 이러한 해쉬 함수는 임의의 길이의 데이터를 고정된 길이의 데이터로 매핑하는 함수를 총칭하는 것으로 MD5, SHA, SEED, CRC32 등 수 많은 해쉬 함수가 암호학과 같은 여러 분야에서 정의되어 사용되고 있으며, 후처리기(600)는 이와 같이 이미 정의된 해쉬 함수를 선택하거나 수식을 직접 정의하여 사용할 수 있다.
구현의 편의성에 따라 해쉬 엔진(602)은 FIFO 버퍼(601)의 뒤가 아니라 앞에 위치할 수도 있으며, 전체적인 구현의 복잡도를 줄이기 위해 생략될 수도 있다. 해쉬 엔진(602)의 구현시 해쉬 엔진 출력 비트폭(L)은 입력 비트폭(H)보다 작은 값을 갖도록 설정해야 입력 리던던시(redundancy)를 확보할 수 있고, 입력 값이 가질 수 있는 부분적인 불완전성을 완화하거나 제거하는데 도움을 줄 수 있다. 가장 간단한 예로 두 개의 M-bit 난수값을 XOR하여 M-bit값을 생성하도록 해쉬함수를 정의한 경우 둘 중 하나의 난수 값이 특정 값으로 고정되어도 남은 하나의 난수 값이 이상적이면 해쉬함수의 결과 값도 이상적인 난수 특성을 갖게 된다.
본 발명에 의한 SPAD의 암흑전류를 이용한 난수발생기는 기존의 양자 특성에 기반 한 난수생성기와 달리 광원이나 반투과 거울, 방사성원소 등이 배제될 수 있으며, 도 3 및 도 4로 보인 바와 같이, 일반적인 CMOS 반도체 공정으로 집적해 넣을 수 있는 요소들만으로 구성된 것이다. 따라서 본 발명에 의한 SPAD의 암흑전류를 이용한 난수발생기는 시스템반도체 설계에 있어 일반 아날로그 기능 블록과 같이 IP(Intellectual Property)로서 쉽게 구현되어 집적될 수 있는 것이다. 또한, 단일 CMOS 반도체 공정으로 설계, 구현될 수 있는 것이어서 장치의 소형화가 가능하고, 생산 단가를 크게 낮출 수 있게 된다.
아울러, 본 발명에서는 도 4로 도시한 바와 같은 복수개의 암흑전류발생기(300)와 후처리기(600)를 적용함으로써 난수발생비트를 넓힐 수 있으며, 난수 발생 속도를 가속화할 수도 있다.
또한, 가장 간단한 응용형태로 각 암흑전류발생기(300)의 출력이 균일한 주기로 동기화되도록 하여 다수 비트로 된 난수 신호를 제공할 수 있으며, 복수의 암흑전류발생기(300)의 출력값 또는 후처리기(600)결과 값에 추가로 자체 생산한 모조 난수를 스크램블 함으로써 출력값이 편향되거나 분포가 왜곡되지 않으면서 고속으로 난수 발생이 가능하게 되는 등의 다양한 기능 구현이 가능하다.
이상에서, 본 발명에 대한 기술사상을 첨부도면과 함께 서술하였지만, 이는 본 발명의 가장 양호한 실시 예를 예시적으로 설명한 것이지 본 발명을 한정하는 것이 아니고, 이 기술 분야의 통상의 지식을 가진 자이면 누구나 본 발명의 기술사상의 범위를 이탈하지 않는 범위 내에서 치수 및 모양 그리고 구조 등의 다양한 변형 및 모방할 수 있음은 명백한 사실이며 이러한 변형 및 모방은 본 발명의 기술 사상의 범위에 포함된다.
100: 단일 광자 아발란체 다이오드(SPAD: Single-Photon Avalanche Diode)
101: 빛 차단수단 102: 암흑전류 펄스 검출 회로
300: 암흑전류발생기 400: 펄스-난수 변환기
600: 후처리기 601: 듀얼클록 FIFO 버퍼
602: 해쉬 엔진
101: 빛 차단수단 102: 암흑전류 펄스 검출 회로
300: 암흑전류발생기 400: 펄스-난수 변환기
600: 후처리기 601: 듀얼클록 FIFO 버퍼
602: 해쉬 엔진
Claims (4)
- SPAD와, 상기 SPAD에 빛이 조사되지 않도록 차단하기 위한 빛 차단수단과, 상기 SPAD와 연결되어 암흑전류 펄스를 출력하기 위한 펄스 검출 회로로 구성된 암흑전류 펄스 검출 회로와, 상기 암흑전류 펄스 검출 회로의 출력에 연결되어 펄스에 의하여 난수를 발생시키는 논리회로로 구성된 펄스-난수 변환기가 구비됨을 특징으로 하는 단일 광자 아발란체 다이오드의 암흑전류를 이용한 난수발생기.
- 제 1 항에 있어서,
상기 펄스-난수 변환기는 주어진 시간 동안 발생한 암흑전류 펄스 수를 카운트한 값에서 하위 M-비트를 잘라내어 난수로 취함을 특징으로 하는 단일 광자 아발란체 다이오드의 암흑전류를 이용한 난수발생기.
(여기서, M은 1보다 크거나 같은 정수) - SPAD와, 상기 SPAD에 빛이 조사되지 않도록 차단하기 위한 빛 차단수단과, 상기 SPAD와 연결되어 암흑전류 펄스를 출력하기 위한 펄스 검출 회로로 구성된 암흑전류 펄스 검출 회로와, 상기 암흑전류 펄스 검출 회로의 출력에 연결되어 펄스에 의하여 M-비트로 난수를 발생시키는 논리회로로 구성된 펄스-난수 변환기와, 상기 암흑전류 펄스 검출 회로와 펄스-난수 변환기로 구성된 난수발생기 N개와 1개의 후처리기로 구성되어 N개의 난수발생기로부터 (N x M)-비트의 디지털 신호를 받아 L-비트의 난수를 만들어 냄을 특징으로 하는 단일 광자 아발란체 다이오드의 암흑전류를 이용한 난수발생기. (여기서, N, L은 1보다 크거나 같은 정수)
- 제 3 항에 있어서,
난수 출력 비트폭 또는 난수 출력 주파수 변환을 위한 FIFO, 그리고/또는 편향성 제거를 위해 입력보다 출력비트수가 작은 해쉬 엔진을 사용하는 후처리기를 구비함을 특징으로 하는 단일 광자 아발란체 다이오드의 암흑전류를 이용한 난수발생기.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170060440A KR101930271B1 (ko) | 2017-05-16 | 2017-05-16 | 단일 광자 아발란체 다이오드의 암흑전류를 이용한 난수발생기 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170060440A KR101930271B1 (ko) | 2017-05-16 | 2017-05-16 | 단일 광자 아발란체 다이오드의 암흑전류를 이용한 난수발생기 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20180125755A true KR20180125755A (ko) | 2018-11-26 |
KR101930271B1 KR101930271B1 (ko) | 2018-12-18 |
Family
ID=64602938
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170060440A KR101930271B1 (ko) | 2017-05-16 | 2017-05-16 | 단일 광자 아발란체 다이오드의 암흑전류를 이용한 난수발생기 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101930271B1 (ko) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200119459A (ko) * | 2019-04-09 | 2020-10-20 | 한국전자통신연구원 | 난수 생성 장치 및 이의 동작 방법 |
CN111880764A (zh) * | 2020-08-05 | 2020-11-03 | 中国航天科工集团第二研究院 | 基于库伦阻塞效应的量子随机数产生方法、装置及发生器 |
US10996927B2 (en) * | 2016-12-06 | 2021-05-04 | National University Of Singapore | Random number generator and method of fabricating the same |
CN114002730A (zh) * | 2021-11-18 | 2022-02-01 | 武汉万集光电技术有限公司 | Sipm探测器的偏压调节方法、电路和激光雷达设备 |
KR20230021785A (ko) * | 2021-08-06 | 2023-02-14 | 고려대학교 산학협력단 | 난수 생성 방법 |
KR20230075077A (ko) * | 2021-11-22 | 2023-05-31 | 한국과학기술연구원 | 멀티비트 난수생성장치 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102022125572A1 (de) | 2021-10-27 | 2023-04-27 | Elmos Semiconductor Se | Gerät zur Datenverarbeitung |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2553942A (en) | 2015-03-04 | 2018-03-21 | Rapiscan Systems Inc | Multiple energy detector |
-
2017
- 2017-05-16 KR KR1020170060440A patent/KR101930271B1/ko active IP Right Grant
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10996927B2 (en) * | 2016-12-06 | 2021-05-04 | National University Of Singapore | Random number generator and method of fabricating the same |
KR20200119459A (ko) * | 2019-04-09 | 2020-10-20 | 한국전자통신연구원 | 난수 생성 장치 및 이의 동작 방법 |
US11372623B2 (en) | 2019-04-09 | 2022-06-28 | Electronics And Telecommunications Research Institute | Random number generating device and operating method of the same |
CN111880764A (zh) * | 2020-08-05 | 2020-11-03 | 中国航天科工集团第二研究院 | 基于库伦阻塞效应的量子随机数产生方法、装置及发生器 |
CN111880764B (zh) * | 2020-08-05 | 2024-04-16 | 中国航天科工集团第二研究院 | 基于库伦阻塞效应的量子随机数产生方法、装置及发生器 |
KR20230021785A (ko) * | 2021-08-06 | 2023-02-14 | 고려대학교 산학협력단 | 난수 생성 방법 |
CN114002730A (zh) * | 2021-11-18 | 2022-02-01 | 武汉万集光电技术有限公司 | Sipm探测器的偏压调节方法、电路和激光雷达设备 |
CN114002730B (zh) * | 2021-11-18 | 2024-04-05 | 武汉万集光电技术有限公司 | Sipm探测器的偏压调节方法、电路和激光雷达设备 |
KR20230075077A (ko) * | 2021-11-22 | 2023-05-31 | 한국과학기술연구원 | 멀티비트 난수생성장치 |
Also Published As
Publication number | Publication date |
---|---|
KR101930271B1 (ko) | 2018-12-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101930271B1 (ko) | 단일 광자 아발란체 다이오드의 암흑전류를 이용한 난수발생기 | |
Rozic et al. | Highly efficient entropy extraction for true random number generators on FPGAs | |
Yang et al. | 16.3 A 23Mb/s 23pJ/b fully synthesized true-random-number generator in 28nm and 65nm CMOS | |
EP2525489B1 (en) | Bit sequence generation device and bit sequence generation method | |
KR102267263B1 (ko) | 진성 난수 생성기 | |
Gravellier et al. | High-speed ring oscillator based sensors for remote side-channel attacks on FPGAs | |
US20130346459A1 (en) | Method for generating random numbers | |
Mureddu et al. | Experimental study of locking phenomena on oscillating rings implemented in logic devices | |
Balasch et al. | Design and testing methodologies for true random number generators towards industry certification | |
Lubicz et al. | Towards an oscillator based TRNG with a certified entropy rate | |
US20140280413A1 (en) | Method for detecting a correlation | |
Lin et al. | A new method of true random number generation based on Galois ring oscillator with event sampling architecture in FPGA | |
Tontini et al. | SPAD-Based Quantum Random Number Generator With an $ N^{\rm {th}} $-Order Rank Algorithm on FPGA | |
Han et al. | Unpredictable 16 bits LFSR-based true random number generator | |
Garipcan et al. | Design, FPGA implementation and statistical analysis of a high-speed and low-area TRNG based on an AES s-box post-processing technique | |
Jin et al. | A dynamically reconfigurable entropy source circuit for high-throughput true random number generator | |
US9582249B2 (en) | Method for monitoring the output of a random generator | |
Tebelmann et al. | On-chip side-channel analysis of the loop PUF | |
Dejun et al. | Research of true random number generator based on PLL at FPGA | |
Gimenez et al. | Self-timed ring based true random number generator: Threat model and countermeasures | |
Garipcan et al. | A gigabit TRNG with novel lightweight post-processing method for cryptographic applications | |
Simka et al. | Model of a true random number generator aimed at cryptographic applications | |
Fischer et al. | True random number generators in FPGAs | |
Böhl et al. | A true random number generator with on-line testability | |
TWI706320B (zh) | 現場可編程閘陣列的真實隨機數產生裝置及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |