KR102286432B1 - 오프셋 전압과 연관된 오류를 개선할 수 있는 순수 난수 생성 장치 및 그 동작 방법 - Google Patents

오프셋 전압과 연관된 오류를 개선할 수 있는 순수 난수 생성 장치 및 그 동작 방법 Download PDF

Info

Publication number
KR102286432B1
KR102286432B1 KR1020200088661A KR20200088661A KR102286432B1 KR 102286432 B1 KR102286432 B1 KR 102286432B1 KR 1020200088661 A KR1020200088661 A KR 1020200088661A KR 20200088661 A KR20200088661 A KR 20200088661A KR 102286432 B1 KR102286432 B1 KR 102286432B1
Authority
KR
South Korea
Prior art keywords
voltage
elapsed time
thermal noise
noise source
output
Prior art date
Application number
KR1020200088661A
Other languages
English (en)
Inventor
송준영
유승명
이어진
Original Assignee
인천대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 인천대학교 산학협력단 filed Critical 인천대학교 산학협력단
Priority to KR1020200088661A priority Critical patent/KR102286432B1/ko
Application granted granted Critical
Publication of KR102286432B1 publication Critical patent/KR102286432B1/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

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)
  • Electronic Switches (AREA)

Abstract

오프셋 전압과 연관된 오류를 개선할 수 있는 순수 난수 생성 장치 및 그 동작 방법이 개시된다. 본 발명에 따른 순수 난수 생성 장치 및 그 동작 방법은 제1 열잡음원과 제2 열잡음원에서 출력되는 두 전압 간의 차이가 양수로 산출되는 개수를 카운트하고, 상기 카운트된 개수가 소정의 기준 개수에 도달할 때까지의 경과 시간을 측정함으로써, 상기 제1 열잡음원과 상기 제2 열잡음원 중 오프셋 전압이 추가로 발생하는 열잡음원을 판정한 후 오프셋 전압이 추가로 발생하지 않는 열잡음원에서의 출력 전압이 소정의 크기만큼 증가되도록 전압 조정을 수행함으로써, 특정 열잡음원에서 발생하는 오프셋 전압으로 인한 난수 생성 과정에서의 오류를 개선할 수 있다.

Description

오프셋 전압과 연관된 오류를 개선할 수 있는 순수 난수 생성 장치 및 그 동작 방법{TRUE RANDOM NUMBER GENERATOR CAPABLE OF IMPROVING ERRORS ASSOCIATED WITH OFFSET VOLTAGE AND OPERATING METHOD THEREOF}
본 발명은 오프셋 전압과 연관된 오류를 개선할 수 있는 순수 난수 생성 장치 및 그 동작 방법에 대한 것이다.
난수 생성 장치(Random Number Generator)는 정보보안 분야에서 암호키를 생성하는 데에 주로 사용될 수 있다.
이러한 난수 생성 장치는 의사 난수(Pseudo Random Number) 생성 장치와 순수 난수(True Random Number) 생성 장치로 분류될 수 있다.
의사 난수 생성 장치는 난수 생성 시간이 비교적 짧다는 장점이 있지만, 특정 알고리즘에 의해 난수가 만들어지기 때문에 생성되는 난수가 소정의 주기성을 갖는다는 단점이 있다. 이에 반해, 순수 난수 생성 장치는 난수 생성 시간이 비교적 길지만, 생성되는 난수가 주기성을 가지고 있지 않기 때문에 임의성과 비예측성을 요구하는 시스템에 적합한 장점이 있다.
보통, 순수 난수 생성 장치는 소정의 잡음원(noise source)으로부터 발생하는 무작위적인 잡음을 이용해서 임의성을 갖는 난수를 생성하도록 구성된다. 특히, 최근에는 열잡음원(thermal noise source)을 이용한 순수 난수 생성 장치가 많이 사용되고 있는데, 이러한 순수 난수 생성 장치는 두 개의 열잡음원에서 발생하는 잡음을 비교하여 난수를 만드는 방식으로 동작하며, 잡음이 백색 소음 특성을 갖기 때문에 높은 임의성을 얻을 수 있는 장점을 가지고 있다.
보통, 열잡음원으로는 저항 소자가 주로 사용된다. 이와 관련해서, 열잡음원을 이용한 순수 난수 생성 장치는 도 2의 도면부호 201과 202에서 나타낸 그림과 같이, 두 개의 열잡음원(201, 202)이 있을 때, 도면부호 200으로 나타낸 부분과 같은 직렬로 연결된 두 개의 저항 사이의 노드 전압을 출력 전압으로 측정한 후 두 열잡음원(201, 202)에서 측정된 노드 전압 간의 비교를 통해 난수를 생성하도록 구성된다.
두 열잡음원(201, 202)은 같은 저항 소자로 구성된 잡음원이지만, 저항의 특성상 열잡음이 발생하기 때문에, 두 열잡음원(201, 202)에서 출력되는 노드 전압은 항상 동일하지 않고, 다소간의 차이가 발생할 수 있고, 그 차이는 임의성을 갖게 된다.
그래서, 순수 난수 생성 장치는 두 열잡음원(201, 202)에서 출력되는 전압을 서로 비교하여 그 비교 결과를 기초로 소정의 난수를 생성할 수 있게 된다. 예컨대, 순수 난수 생성 장치는 소정의 주기 간격으로 두 열잡음원(201, 202)에서 출력되는 전압 중 어느 전압이 더 큰지 확인한 후 그에 대응되는 비트 값을 출력하는 방식으로 랜덤 비트열을 출력함으로써, 임의성을 갖는 순수 난수를 생성할 수 있다.
이렇게, 두 열잡음원(201, 202)의 출력 전압을 서로 비교하여 난수를 생성하기 위해서는 제1 열잡음원(201)에서 출력되는 제1 전압이 제2 열잡음원(202)에서 출력되는 제2 전압보다 클 때도 있어야 하고, 제2 열잡음원(202)에서 출력되는 제2 전압이 제1 열잡음원(201)에서 출력되는 제1 전압보다 클 때도 있어야 한다. 즉, 두 열잡음원(201, 202)에서 출력되는 전압을 비교하여 난수를 생성하기 위해서는 어느 특정 열잡음원에서 출력되는 전압이 다른 열잡음원에서 출력되는 전압보다 항상 크거나 항상 작은게 아니라, 두 전압 사이의 크기가 랜덤하게 변동될 필요가 있다.
하지만, 두 열잡음원(201, 202)과 같은 전기 회로에서는 환경적인 특성으로 인해서 예상치 못한 오프셋이 발생할 수 있고, 두 열잡음원(201, 202)에서 출력되는 전압에도 예상치 못한 오프셋 전압이 추가로 발생할 가능성도 존재한다.
예컨대, 제1 열잡음원(201)에서 출력되는 제1 전압이 도 1의 도면부호 110의 그래프와 같다고 하고, 제2 열잡음원(202)에서 출력되는 제2 전압이 도 1의 도면부호 120의 그래프와 같다고 하였을 때, 상기 제1 전압에 예상치 못한 오프셋 전압(131)이 추가로 발생하게 되면, 상기 제1 전압은 도 1의 도면부호 130에 도시된 그래프와 같이, 대부분의 경우에서 제2 전압보다 큰 값으로 산출되게 될 것이다.
상기 제1 전압에 오프셋 전압(131)이 추가로 발생함에 따라, 도 1의 도면부호 130에 도시된 그래프와 같이, 상기 제1 전압이 상기 제2 전압보다 대부분의 시간에서 큰 값으로 산출되게 된다면, 순수 난수 생성 장치는 항상 동일한 데이터를 계속 출력하게 되는 오류를 범할 수 있다. 예컨대, 소정 주기 간격으로, 상기 제1 전압과 상기 제2 전압을 비교하여 상기 제1 전압이 상기 제2 전압보다 크면, '1'의 비트 값을 출력하고, 상기 제2 전압이 상기 제1 전압보다 크면, '0'의 비트 값을 출력하는 순수 난수 생성 장치가 있다고 한다면, 상기 순수 난수 생성 장치는 도 1의 도면부호 130과 같은 상황에서 대부분 '1'의 비트 값만을 계속 출력하게 될 것이고, 이는 난수로서의 가치가 없는 데이터를 출력하는 것이라고 볼 수 있다.
따라서, 두 개의 열잡음원(201, 202)에서 출력되는 전압 간의 비교를 통해 순수 난수를 생성하는 순수 난수 생성 장치에 있어서, 두 열잡음원(201, 202) 중 어느 열잡음원에서 오프셋 전압이 추가되어 전압이 출력되는지 판정하고, 이를 교정할 수 있도록 지원하기 위한 오류 교정 기술에 대한 연구가 필요하다.
본 발명에 따른 순수 난수 생성 장치 및 그 동작 방법은 제1 열잡음원과 제2 열잡음원에서 출력되는 두 전압 간의 차이가 양수로 산출되는 개수를 카운트하고, 상기 카운트된 개수가 소정의 기준 개수에 도달할 때까지의 경과 시간을 측정함으로써, 상기 제1 열잡음원과 상기 제2 열잡음원 중 오프셋 전압이 추가로 발생하는 열잡음원을 판정한 후 오프셋 전압이 추가로 발생하지 않는 열잡음원에서의 출력 전압이 소정의 크기만큼 증가되도록 전압 조정을 수행함으로써, 특정 열잡음원에서 발생하는 오프셋 전압으로 인한 난수 생성 과정에서의 오류를 개선할 수 있도록 한다.
본 발명의 일실시예에 따른 제1 열잡음원에서 출력되는 제1 전압과 제2 열잡음원에서 출력되는 제2 전압 간의 비교를 통해 순수 난수(True Random Number)를 생성하는 순수 난수 생성 장치는 상기 제1 열잡음원에서 출력되는 상기 제1 전압과 상기 제2 열잡음원에서 출력되는 상기 제2 전압 간의 제1 전압 차를 연산하는 제1 전압 차 연산부, 상기 제2 열잡음원에서 출력되는 상기 제2 전압과 상기 제1 열잡음원에서 출력되는 상기 제1 전압 간의 제2 전압 차를 연산하는 제2 전압 차 연산부, 사전 설정된 제1 주파수를 갖는 제1 클럭(clock) 신호를 발생시키고, 상기 제1 클럭 신호가 하이(high)일 때의 상기 제1 전압 차를 확인하여 상기 제1 전압 차가 양수로 산출되는 제1 개수를 카운트하는 제1 카운트부, 상기 제1 주파수를 갖는 제2 클럭 신호를 발생시키고, 상기 제2 클럭 신호가 하이일 때의 상기 제2 전압 차를 확인하여 상기 제2 전압 차가 양수로 산출되는 제2 개수를 카운트하는 제2 카운트부, 상기 제1 개수가 사전 설정된 기준 개수에 도달할 때까지의 제1 경과 시간을 측정하고, 상기 제2 개수가 상기 기준 개수에 도달할 때까지의 제2 경과 시간을 측정하는 측정부, 상기 제1 경과 시간과 상기 제2 경과 시간 중 사전 설정된 임계 경과 시간보다 작게 측정된 경과 시간이 존재하는지 확인하는 확인부, 상기 제1 경과 시간과 상기 제2 경과 시간 중 상기 제1 경과 시간이 상기 임계 경과 시간보다 작은 것으로 확인된 경우, 상기 제1 열잡음원에서 오프셋(offset) 전압이 추가로 발생하는 것으로 판정하고, 상기 제1 경과 시간과 상기 제2 경과 시간 중 상기 제2 경과 시간이 상기 임계 경과 시간보다 작은 것으로 확인된 경우, 상기 제2 열잡음원에서 상기 오프셋 전압이 추가로 발생하는 것으로 판정하는 판정부, 상기 제1 열잡음원에서 상기 오프셋 전압이 추가로 발생하는 것으로 판정된 경우, 상기 제2 열잡음원에서 출력되는 상기 제2 전압이 사전 설정된 크기만큼 증가되도록 상기 제2 전압에 대한 조정을 수행하고, 상기 제2 열잡음원에서 상기 오프셋 전압이 추가로 발생하는 것으로 판정된 경우, 상기 제1 열잡음원에서 출력되는 상기 제1 전압이 상기 사전 설정된 크기만큼 증가되도록 상기 제1 전압에 대한 조정을 수행하는 전압 조정부 및 상기 제1 전압 또는 상기 제2 전압의 조정이 완료되면, 사전 설정된 비교 주기 간격으로 상기 제1 전압과 상기 제2 전압을 비교하여 상기 제1 전압과 상기 제2 전압 간의 비교 결과에 따른 랜덤 비트열을 출력하는 난수 출력부를 포함한다.
또한, 본 발명의 일실시예에 따른 제1 열잡음원에서 출력되는 제1 전압과 제2 열잡음원에서 출력되는 제2 전압 간의 비교를 통해 순수 난수를 생성하는 순수 난수 생성 장치의 동작 방법은 상기 제1 열잡음원에서 출력되는 상기 제1 전압과 상기 제2 열잡음원에서 출력되는 상기 제2 전압 간의 제1 전압 차를 연산하는 단계, 상기 제2 열잡음원에서 출력되는 상기 제2 전압과 상기 제1 열잡음원에서 출력되는 상기 제1 전압 간의 제2 전압 차를 연산하는 단계, 사전 설정된 제1 주파수를 갖는 제1 클럭 신호를 발생시키고, 상기 제1 클럭 신호가 하이일 때의 상기 제1 전압 차를 확인하여 상기 제1 전압 차가 양수로 산출되는 제1 개수를 카운트하는 단계, 상기 제1 주파수를 갖는 제2 클럭 신호를 발생시키고, 상기 제2 클럭 신호가 하이일 때의 상기 제2 전압 차를 확인하여 상기 제2 전압 차가 양수로 산출되는 제2 개수를 카운트하는 단계, 상기 제1 개수가 사전 설정된 기준 개수에 도달할 때까지의 제1 경과 시간을 측정하고, 상기 제2 개수가 상기 기준 개수에 도달할 때까지의 제2 경과 시간을 측정하는 단계, 상기 제1 경과 시간과 상기 제2 경과 시간 중 사전 설정된 임계 경과 시간보다 작게 측정된 경과 시간이 존재하는지 확인하는 단계, 상기 제1 경과 시간과 상기 제2 경과 시간 중 상기 제1 경과 시간이 상기 임계 경과 시간보다 작은 것으로 확인된 경우, 상기 제1 열잡음원에서 오프셋 전압이 추가로 발생하는 것으로 판정하고, 상기 제1 경과 시간과 상기 제2 경과 시간 중 상기 제2 경과 시간이 상기 임계 경과 시간보다 작은 것으로 확인된 경우, 상기 제2 열잡음원에서 상기 오프셋 전압이 추가로 발생하는 것으로 판정하는 단계, 상기 제1 열잡음원에서 상기 오프셋 전압이 추가로 발생하는 것으로 판정된 경우, 상기 제2 열잡음원에서 출력되는 상기 제2 전압이 사전 설정된 크기만큼 증가되도록 상기 제2 전압에 대한 조정을 수행하고, 상기 제2 열잡음원에서 상기 오프셋 전압이 추가로 발생하는 것으로 판정된 경우, 상기 제1 열잡음원에서 출력되는 상기 제1 전압이 상기 사전 설정된 크기만큼 증가되도록 상기 제1 전압에 대한 조정을 수행하는 단계 및 상기 제1 전압 또는 상기 제2 전압의 조정이 완료되면, 사전 설정된 비교 주기 간격으로 상기 제1 전압과 상기 제2 전압을 비교하여 상기 제1 전압과 상기 제2 전압 간의 비교 결과에 따른 랜덤 비트열을 출력하는 단계를 포함한다.
본 발명에 따른 순수 난수 생성 장치 및 그 동작 방법은 제1 열잡음원과 제2 열잡음원에서 출력되는 두 전압 간의 차이가 양수로 산출되는 개수를 카운트하고, 상기 카운트된 개수가 소정의 기준 개수에 도달할 때까지의 경과 시간을 측정함으로써, 상기 제1 열잡음원과 상기 제2 열잡음원 중 오프셋 전압이 추가로 발생하는 열잡음원을 판정한 후 오프셋 전압이 추가로 발생하지 않는 열잡음원에서의 출력 전압이 소정의 크기만큼 증가되도록 전압 조정을 수행함으로써, 특정 열잡음원에서 발생하는 오프셋 전압으로 인한 난수 생성 과정에서의 오류를 개선할 수 있다.
도 1은 열잡음원에서 발생하는 오프셋 전압에 의해 순수 난수 생성 과정에서 발생하는 오류를 설명하기 위한 도면이다.
도 2는 본 발명의 일실시예에 따른 순수 난수 생성 장치의 구조를 도시한 도면이다.
도 3은 본 발명의 일실시예에 따른 순수 난수 생성 장치의 동작 방법을 도시한 순서도이다.
이하에서는 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명하기로 한다. 이러한 설명은 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였으며, 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 본 명세서 상에서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 사람에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다.
본 문서에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있다는 것을 의미한다. 또한, 본 발명의 다양한 실시예들에 있어서, 각 구성요소들, 기능 블록들 또는 수단들은 하나 또는 그 이상의 하부 구성요소로 구성될 수 있고, 각 구성요소들이 수행하는 전기, 전자, 기계적 기능들은 전자회로, 집적회로, ASIC(Application Specific Integrated Circuit) 등 공지된 다양한 소자들 또는 기계적 요소들로 구현될 수 있으며, 각각 별개로 구현되거나 2 이상이 하나로 통합되어 구현될 수도 있다.
한편, 첨부된 블록도의 블록들이나 흐름도의 단계들은 범용 컴퓨터, 특수용 컴퓨터, 휴대용 노트북 컴퓨터, 네트워크 컴퓨터 등 데이터 프로세싱이 가능한 장비의 프로세서나 메모리에 탑재되어 지정된 기능들을 수행하는 컴퓨터 프로그램 명령들(instructions)을 의미하는 것으로 해석될 수 있다. 이들 컴퓨터 프로그램 명령들은 컴퓨터 장치에 구비된 메모리 또는 컴퓨터에서 판독 가능한 메모리에 저장될 수 있기 때문에, 블록도의 블록들 또는 흐름도의 단계들에서 설명된 기능들은 이를 수행하는 명령 수단을 내포하는 제조물로 생산될 수도 있다. 아울러, 각 블록 또는 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 명령들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 가능한 실시예들에서는 블록들 또는 단계들에서 언급된 기능들이 정해진 순서와 달리 실행되는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 실질적으로 동시에 수행되거나, 역순으로 수행될 수 있으며, 경우에 따라 일부 블록들 또는 단계들이 생략된 채로 수행될 수도 있다.
도 2는 본 발명의 일실시예에 따른 순수 난수 생성 장치의 구조를 도시한 도면이다.
도 2를 참조하면, 본 발명에 따른 순수 난수 생성 장치(210)는 제1 열잡음원(201)에서 출력되는 제1 전압과 제2 열잡음원(202)에서 출력되는 제2 전압 간의 비교를 통해 순수 난수(True Random Number)를 생성하는 장치로, 제1 전압 차 연산부(211), 제2 전압 차 연산부(212), 제1 카운트부(213), 제2 카운트부(214), 측정부(215), 확인부(216), 판정부(217), 전압 조정부(218) 및 난수 출력부(219)를 포함한다.
여기서, 제1 열잡음원(201)과 제2 열잡음원(202)은 두 개의 저항이 직렬로 연결된 회로 구조를 갖는 잡음원으로, 순수 난수 생성 장치(210)는 제1 열잡음원(201)과 제2 열잡음원(202)을 구성하는 두 개의 저항의 사이의 노드(200)에서 출력되는 전압을 상기 제1 전압과 상기 제2 전압으로 측정함으로써, 순수 난수를 생성할 수 있다.
우선, 제1 전압 차 연산부(211)는 제1 열잡음원(201)에서 출력되는 상기 제1 전압과 제2 열잡음원(202)에서 출력되는 상기 제2 전압 간의 제1 전압 차를 연산한다.
그리고, 제2 전압 차 연산부(212)는 제2 열잡음원(202)에서 출력되는 상기 제2 전압과 제1 열잡음원(201)에서 출력되는 상기 제1 전압 간의 제2 전압 차를 연산한다.
제1 카운트부(213)는 사전 설정된 제1 주파수를 갖는 제1 클럭(clock) 신호를 발생시키고, 상기 제1 클럭 신호가 하이(high)일 때의 상기 제1 전압 차를 확인하여 상기 제1 전압 차가 양수로 산출되는 제1 개수를 카운트한다.
제2 카운트부(214)는 상기 제1 주파수를 갖는 제2 클럭 신호를 발생시키고, 상기 제2 클럭 신호가 하이일 때의 상기 제2 전압 차를 확인하여 상기 제2 전압 차가 양수로 산출되는 제2 개수를 카운트한다.
예컨대, 상기 제1 주파수를 '60Hz'라고 하는 경우, 제1 카운트부(213)는 '60Hz'의 주파수를 갖는 상기 제1 클럭 신호를 발생시키고, 상기 제1 클럭 신호가 하이일 때의 상기 제1 전압 차를 확인해서 상기 제1 전압 차가 양수로 산출되는 상기 제1 개수를 산출할 수 있다. 그리고, 제2 카운트부(214) 역시, '60Hz'의 주파수를 갖는 상기 제2 클럭 신호를 발생시키고, 상기 제2 클럭 신호가 하이일 때의 상기 제2 전압 차를 확인하여 상기 제2 전압 차가 양수로 산출되는 제2 개수를 산출할 수 있다. 즉, 제1 카운트부(213)는 초당 60회 간격으로 상기 제1 전압 차를 확인해서 상기 제1 전압 차가 양수로 산출되는 상기 제1 개수를 카운트할 수 있고, 제2 카운트부(214)는 초당 60회 간격으로 상기 제2 전압 차를 확인하여 상기 제2 전압 차가 양수로 산출되는 상기 제2 개수를 카운트할 수 있다.
측정부(215)는 상기 제1 개수가 사전 설정된 기준 개수에 도달할 때까지의 제1 경과 시간을 측정하고, 상기 제2 개수가 상기 기준 개수에 도달할 때까지의 제2 경과 시간을 측정한다.
관련해서, 상기 기준 개수를 '100개'라고 하는 경우, 측정부(215)는 상기 제1 개수가 '100개'에 도달할 때까지의 제1 경과 시간을 측정하고, 상기 제2 개수가 '100개'에 도달할 때까지의 제2 경과 시간을 측정할 수 있다.
확인부(216)는 상기 제1 경과 시간과 상기 제2 경과 시간 중 사전 설정된 임계 경과 시간보다 작게 측정된 경과 시간이 존재하는지 확인한다.
예컨대, 상기 임계 경과 시간을 '2초'라고 하는 경우, 확인부(216)는 상기 제1 경과 시간과 상기 제2 경과 시간 중 '2초'보다 작게 측정된 경과 시간이 존재하는지 확인할 수 있다.
여기서, 상기 제1 경과 시간은 상기 제1 전압 차가 양수로 산출되는 제1 개수가 상기 기준 개수인 '100개'에 도달할 때까지의 시간이고, 상기 제2 경과 시간은 상기 제2 전압 차가 양수로 산출되는 제2 개수가 상기 기준 개수인 '100개'에 도달할 때까지의 시간이기 때문에, 상기 제1 경과 시간 또는 상기 제2 경과 시간이 상기 임계 경과 시간인 '2초'보다 작다는 의미는 상기 제1 전압과 상기 제2 전압 중 어느 특정 전압에 소정의 오프셋(offset) 전압이 추가되어 있다는 의미로 볼 수 있다.
관련해서, 상기 제1 경과 시간이 상기 임계 경과 시간인 '2초'보다 작다고 하는 경우, 이는 '2초'라는 짧은 시간 이내에 상기 제1 전압과 상기 제2 전압 간의 제1 전압 차가 상기 기준 개수인 '100개'에 도달하였다는 의미로 볼 수 있기 때문에, 대부분의 경우에서 상기 제1 전압이 상기 제2 전압보다 큰 값으로 출력되고 있는 상태로 볼 수 있다.
즉, 상기 제1 전압과 상기 제2 전압이 소정의 오프셋 전압 없이 정상적인 상태로 출력되고 있다면, 상기 제1 전압이 상기 제2 전압보다 크게 출력되는 상태와 상기 제2 전압이 상기 제1 전압보다 크게 출력되는 상태는 랜덤성을 가지면서도 그 분포가 일정하게 유지될 것이다.
하지만, 상기 제1 전압에 예상치 못한 오프셋 전압이 추가되어 출력되고 있는 상태라고 한다면, 대부분의 경우에서 상기 제1 전압이 상기 제2 전압보다 큰 값으로 출력될 것이기 때문에, 상기 제1 전압이 상기 제2 전압보다 큰 값으로 출력되는 개수는 상기 임계 경과 시간이라는 짧은 시간 내에 이미 상기 기준 개수인 '100개'에 도달하게 될 것이다.
따라서, 상기 제1 경과 시간이 상기 임계 경과 시간보다 작게 측정되었다고 하는 경우, 짧은 시간 동안 대부분의 경우에서 상기 제1 전압이 상기 제2 전압보다 큰 값으로 출력되고 있다고 볼 수 있기 때문에, 상기 제1 전압에 소정의 오프셋 전압이 추가된 상태로 출력이 발생하고 있다고 볼 수 있다.
반면에, 상기 제2 경과 시간이 상기 임계 경과 시간보다 작게 측정되었다고 하는 경우, 짧은 시간 동안 대부분의 경우에서 상기 제2 전압이 상기 제1 전압보다 큰 값으로 출력되고 있다고 볼 수 있기 때문에, 상기 제2 전압에 소정의 오프셋 전압이 추가된 상태로 출력이 발생하고 있다고 볼 수 있다.
따라서, 판정부(217)는 상기 제1 경과 시간과 상기 제2 경과 시간 중 상기 제1 경과 시간이 상기 임계 경과 시간보다 작은 것으로 확인된 경우, 제1 열잡음원(201)에서 오프셋 전압이 추가로 발생하는 것으로 판정하고, 상기 제1 경과 시간과 상기 제2 경과 시간 중 상기 제2 경과 시간이 상기 임계 경과 시간보다 작은 것으로 확인된 경우, 제2 열잡음원(202)에서 상기 오프셋 전압이 추가로 발생하는 것으로 판정할 수 있다.
그 이후, 전압 조정부(218)는 제1 열잡음원(201)에서 상기 오프셋 전압이 추가로 발생하는 것으로 판정된 경우, 제2 열잡음원(202)에서 출력되는 상기 제2 전압이 사전 설정된 크기만큼 증가되도록 상기 제2 전압에 대한 조정을 수행하고, 제2 열잡음원(202)에서 상기 오프셋 전압이 추가로 발생하는 것으로 판정된 경우, 제1 열잡음원(201)에서 출력되는 상기 제1 전압이 상기 사전 설정된 크기만큼 증가되도록 상기 제1 전압에 대한 조정을 수행한다.
즉, 전압 조정부(218)는 제1 열잡음원(201)에서 상기 오프셋 전압이 추가로 발생하는 것으로 판정된 경우, 상기 오프셋 전압으로 인해 대부분의 경우에서 상기 제1 전압이 상기 제2 전압보다 큰 값으로 출력되고 있는 상태라고 볼 수 있기 때문에, 제2 열잡음원(202)에서 출력되는 상기 제2 전압이 사전 설정된 크기만큼 증가되도록 상기 제2 전압에 대한 조정을 수행함으로써, 상기 제1 전압과 상기 제2 전압 간의 상기 오프셋 전압으로 인한 차이를 인위적으로 상쇄시킬 수 있다.
이와 동일하게, 전압 조정부(218)는 제2 열잡음원(202)에서 상기 오프셋 전압이 추가로 발생하는 것으로 판정된 경우, 상기 오프셋 전압으로 인해 대부분의 경우에서 상기 제2 전압이 상기 제1 전압보다 큰 값으로 출력되고 있는 상태라고 볼 수 있기 때문에, 제1 열잡음원(201)에서 출력되는 상기 제1 전압이 사전 설정된 크기만큼 증가되도록 상기 제1 전압에 대한 조정을 수행함으로써, 상기 제2 전압과 상기 제1 전압 간의 상기 오프셋 전압으로 인한 차이를 인위적으로 상쇄시킬 수 있다.
이때, 본 발명의 일실시예에 따르면, 전압 조정부(218)는 테이블 유지부(220), 제1 조정부(221) 및 제2 조정부(222)를 포함할 수 있다.
테이블 유지부(220)는 사전 설정된 서로 다른 복수의 경과 시간의 범위 값들과 상기 복수의 경과 시간의 범위 값들 각각에 대응되는 사전 설정된 전압 크기 값이 서로 대응되어 기록되어 있는 테이블을 저장하여 유지한다.
이와 관련해서, 상기 테이블에는 하기의 표 1과 같이 정보가 기록되어 있을 수 있다.
경과 시간의 범위 값들 전압 크기 값
0초~0.5초 0.7V
0.5초~1초 0.5V
1초~1.5초 0.3V
1.5초~2초 0.1V
상기 표 1과 같은 테이블은 개발자에 의해서 사전 설정된 정보로 구성되는 테이블로, 개발자는 상기 제1 전압과 상기 제2 전압 중 특정 전압이 다른 전압보다 크게 출력되는 횟수가 상기 기준 개수에 도달할 때까지의 경과 시간에 따른 실제 오프셋 전압을 측정해 본 후 그 측정 결과를 기초로 각 경과 시간별로 오프셋 전압을 상쇄시킬 수 있을 만큼의 적절한 전압 크기 값을 지정한 후 상기 표 1과 같은 테이블에 기록해 둘 수 있다.
제1 조정부(221)는 제1 열잡음원(201)에서 상기 오프셋 전압이 추가로 발생하는 것으로 판정된 경우, 상기 테이블에 기록되어 있는 상기 복수의 경과 시간의 범위 값들 중 상기 제1 경과 시간이 속해있는 제1 범위 값을 확인하고, 상기 테이블에서 상기 제1 범위 값에 대응되어 기록되어 있는 제1 전압 크기 값을 추출한 후 제2 열잡음원(202)에서 출력되는 상기 제2 전압의 크기가 상기 제1 전압 크기 값만큼 더 증가되도록 상기 제2 전압에 대한 조정을 수행한다.
예컨대, 제1 열잡음원(201)에서 상기 오프셋 전압이 추가로 발생하는 것으로 판정되었다고 하고, 상기 제1 전압과 상기 제2 전압 간의 제1 전압 차가 양수로 산출되는 개수가 상기 기준 개수에 도달할 때까지의 상기 제1 경과 시간이 '0.7초'라고 하는 경우, 제1 조정부(221)는 상기 표 1과 같은 테이블을 참조하여 '0.5초~1초'라는 범위 값에 대응되어 기록되어 있는 전압 크기 값인 '0.5V'를 추출한 후 상기 제2 전압의 크기가 '0.5V'만큼 더 증가되도록 상기 제2 전압에 대한 조정을 수행할 수 있다.
제2 조정부(222)는 제2 열잡음원(202)에서 상기 오프셋 전압이 추가로 발생하는 것으로 판정된 경우, 상기 테이블에 기록되어 있는 상기 복수의 경과 시간의 범위 값들 중 상기 제2 경과 시간이 속해있는 제2 범위 값을 확인하고, 상기 테이블에서 상기 제2 범위 값에 대응되어 기록되어 있는 제2 전압 크기 값을 추출한 후 제1 열잡음원(201)에서 출력되는 상기 제1 전압의 크기가 상기 제2 전압 크기 값만큼 더 증가되도록 상기 제1 전압에 대한 조정을 수행한다.
예컨대, 제2 열잡음원(202)에서 상기 오프셋 전압이 추가로 발생하는 것으로 판정되었다고 하고, 상기 제2 전압과 상기 제1 전압 간의 제2 전압 차가 양수로 산출되는 개수가 상기 기준 개수에 도달할 때까지의 상기 제2 경과 시간이 '1.3초'라고 하는 경우, 제2 조정부(222)는 상기 표 1과 같은 테이블을 참조하여 '1초~1.5초'라는 범위 값에 대응되어 기록되어 있는 전압 크기 값인 '0.3V'를 추출한 후 상기 제1 전압의 크기가 '0.3V'만큼 더 증가되도록 상기 제1 전압에 대한 조정을 수행할 수 있다.
이렇게, 전압 조정부(218)에서 상기 제1 전압 또는 상기 제2 전압의 조정이 완료되면, 난수 출력부(219)는 사전 설정된 비교 주기 간격으로 상기 제1 전압과 상기 제2 전압을 비교하여 상기 제1 전압과 상기 제2 전압 간의 비교 결과에 따른 랜덤 비트열을 출력한다.
이때, 본 발명의 일실시예에 따르면, 난수 출력부(219)는 상기 제1 전압 또는 상기 제2 전압의 조정이 완료되면, 상기 비교 주기 간격으로 상기 제1 전압과 상기 제2 전압을 비교하여 상기 제1 전압이 상기 제2 전압보다 큰 경우, '1'의 비트 값을 출력하고, 상기 제2 전압이 상기 제1 전압보다 큰 경우, '0'의 비트 값을 출력함으로써, 상기 랜덤 비트열을 출력할 수 있다.
예컨대, 상기 비교 주기 간격을 '1/60초'간격이라고 하는 경우, 난수 출력부(219)는 '1/60초'간격으로 상기 제1 전압과 상기 제2 전압을 비교하여 상기 제1 전압이 상기 제2 전압보다 큰 경우, '1'의 비트 값을 출력하고, 상기 제2 전압이 상기 제1 전압보다 큰 경우, '0'의 비트 값을 출력함으로써, 상기 랜덤 비트열을 출력할 수 있다. 이로 인해, 1초가 경과하게 되면, 난수 출력부(219)는 60비트의 랜덤한 비트 값으로 구성된 랜덤 비트열을 출력할 수 있다.
또한, 본 발명의 일실시예에 따르면, 순수 난수 생성 장치(210)는 변환 출력부(223)를 더 포함할 수 있다.
변환 출력부(223)는 난수 출력부(219)를 통해 상기 랜덤 비트열이 출력되기 시작하면, 사전 설정된 비트 크기 단위로 상기 랜덤 비트열을 잘라내어 정수로 변환함으로써, 정수 형식의 난수를 출력할 수 있다.
예컨대, 상기 사전 설정된 비트 크기 단위를 '8비트'라고 하는 경우, 변환 출력부(223)는 난수 출력부(219)를 통해서 출력되는 랜덤 비트열을 '8비트'단위로 잘라내어 이를 정수로 변환함으로써, 정수 형식의 난수를 출력할 수 있다. 관련해서, '8비트'단위로 잘라낸 비트열이 '00000011'이라고 하는 경우, 변환 출력부(223)는 상기 잘라낸 비트열을 정수로 변환함으로써, '3'이라고 하는 정수 형식의 난수를 출력할 수 있다.
결국, 본 발명에 따른 순수 난수 생성 장치(210)는 제1 열잡음원(201)과 제2 열잡음원(202)에서 출력되는 두 전압 간의 차이가 양수로 산출되는 개수를 카운트하고, 상기 카운트된 개수가 소정의 기준 개수에 도달할 때까지의 경과 시간을 측정함으로써, 제1 열잡음원(201)과 제2 열잡음원(202) 중 오프셋 전압이 추가로 발생하는 열잡음원을 판정한 후 오프셋 전압이 추가로 발생하지 않는 열잡음원에서의 출력 전압이 소정의 크기만큼 증가되도록 전압 조정을 수행함으로써, 특정 열잡음원에서 발생하는 오프셋 전압으로 인한 난수 생성 과정에서의 오류를 개선할 수 있다.
도 3은 본 발명의 일실시예에 따른 제1 열잡음원에서 출력되는 제1 전압과 제2 열잡음원에서 출력되는 제2 전압 간의 비교를 통해 순수 난수를 생성하는 순수 난수 생성 장치의 동작 방법을 도시한 순서도이다.
단계(S310)에서는 상기 제1 열잡음원에서 출력되는 상기 제1 전압과 상기 제2 열잡음원에서 출력되는 상기 제2 전압 간의 제1 전압 차를 연산한다.
단계(S320)에서는 상기 제2 열잡음원에서 출력되는 상기 제2 전압과 상기 제1 열잡음원에서 출력되는 상기 제1 전압 간의 제2 전압 차를 연산한다.
단계(S330)에서는 사전 설정된 제1 주파수를 갖는 제1 클럭 신호를 발생시키고, 상기 제1 클럭 신호가 하이일 때의 상기 제1 전압 차를 확인하여 상기 제1 전압 차가 양수로 산출되는 제1 개수를 카운트한다.
단계(S340)에서는 상기 제1 주파수를 갖는 제2 클럭 신호를 발생시키고, 상기 제2 클럭 신호가 하이일 때의 상기 제2 전압 차를 확인하여 상기 제2 전압 차가 양수로 산출되는 제2 개수를 카운트한다.
단계(S350)에서는 상기 제1 개수가 사전 설정된 기준 개수에 도달할 때까지의 제1 경과 시간을 측정하고, 상기 제2 개수가 상기 기준 개수에 도달할 때까지의 제2 경과 시간을 측정한다.
단계(S360)에서는 상기 제1 경과 시간과 상기 제2 경과 시간 중 사전 설정된 임계 경과 시간보다 작게 측정된 경과 시간이 존재하는지 확인한다.
단계(S370)에서는 상기 제1 경과 시간과 상기 제2 경과 시간 중 상기 제1 경과 시간이 상기 임계 경과 시간보다 작은 것으로 확인된 경우, 상기 제1 열잡음원에서 오프셋 전압이 추가로 발생하는 것으로 판정하고, 상기 제1 경과 시간과 상기 제2 경과 시간 중 상기 제2 경과 시간이 상기 임계 경과 시간보다 작은 것으로 확인된 경우, 상기 제2 열잡음원에서 상기 오프셋 전압이 추가로 발생하는 것으로 판정한다.
단계(S380)에서는 상기 제1 열잡음원에서 상기 오프셋 전압이 추가로 발생하는 것으로 판정된 경우, 상기 제2 열잡음원에서 출력되는 상기 제2 전압이 사전 설정된 크기만큼 증가되도록 상기 제2 전압에 대한 조정을 수행하고, 상기 제2 열잡음원에서 상기 오프셋 전압이 추가로 발생하는 것으로 판정된 경우, 상기 제1 열잡음원에서 출력되는 상기 제1 전압이 상기 사전 설정된 크기만큼 증가되도록 상기 제1 전압에 대한 조정을 수행한다.
단계(S390)에서는 상기 제1 전압 또는 상기 제2 전압의 조정이 완료되면, 사전 설정된 비교 주기 간격으로 상기 제1 전압과 상기 제2 전압을 비교하여 상기 제1 전압과 상기 제2 전압 간의 비교 결과에 따른 랜덤 비트열을 출력한다.
이때, 본 발명의 일실시예에 따르면, 단계(S380)에서는 사전 설정된 서로 다른 복수의 경과 시간의 범위 값들과 상기 복수의 경과 시간의 범위 값들 각각에 대응되는 사전 설정된 전압 크기 값이 서로 대응되어 기록되어 있는 테이블을 저장하여 유지하는 단계, 상기 제1 열잡음원에서 상기 오프셋 전압이 추가로 발생하는 것으로 판정된 경우, 상기 테이블에 기록되어 있는 상기 복수의 경과 시간의 범위 값들 중 상기 제1 경과 시간이 속해있는 제1 범위 값을 확인하고, 상기 테이블에서 상기 제1 범위 값에 대응되어 기록되어 있는 제1 전압 크기 값을 추출한 후 상기 제2 열잡음원에서 출력되는 상기 제2 전압의 크기가 상기 제1 전압 크기 값만큼 더 증가되도록 상기 제2 전압에 대한 조정을 수행하는 단계 및 상기 제2 열잡음원에서 상기 오프셋 전압이 추가로 발생하는 것으로 판정된 경우, 상기 테이블에 기록되어 있는 상기 복수의 경과 시간의 범위 값들 중 상기 제2 경과 시간이 속해있는 제2 범위 값을 확인하고, 상기 테이블에서 상기 제2 범위 값에 대응되어 기록되어 있는 제2 전압 크기 값을 추출한 후 상기 제1 열잡음원에서 출력되는 상기 제1 전압의 크기가 상기 제2 전압 크기 값만큼 더 증가되도록 상기 제1 전압에 대한 조정을 수행하는 단계를 포함할 수 있다.
또한, 본 발명의 일실시예에 따르면, 단계(S390)에서는 상기 제1 전압 또는 상기 제2 전압의 조정이 완료되면, 상기 비교 주기 간격으로 상기 제1 전압과 상기 제2 전압을 비교하여 상기 제1 전압이 상기 제2 전압보다 큰 경우, '1'의 비트 값을 출력하고, 상기 제2 전압이 상기 제1 전압보다 큰 경우, '0'의 비트 값을 출력함으로써, 상기 랜덤 비트열을 출력할 수 있다.
또한, 본 발명의 일실시예에 따르면, 상기 순수 난수 생성 장치의 동작 방법은 단계(S390)을 통해 상기 랜덤 비트열이 출력되기 시작하면, 사전 설정된 비트 크기 단위로 상기 랜덤 비트열을 잘라내어 정수로 변환함으로써, 정수 형식의 난수를 출력하는 단계를 더 포함할 수 있다.
이상, 도 3을 참조하여 본 발명의 일실시예에 따른 순수 난수 생성 장치의 동작 방법에 대해 설명하였다. 여기서, 본 발명의 일실시예에 따른 순수 난수 생성 장치의 동작 방법은 도 2를 이용하여 설명한 순수 난수 생성 장치(210)의 동작에 대한 구성과 대응될 수 있으므로, 이에 대한 보다 상세한 설명은 생략하기로 한다.
본 발명의 일실시예에 따른 순수 난수 생성 장치의 동작 방법은 컴퓨터와의 결합을 통해 실행시키기 위한 저장매체에 저장된 컴퓨터 프로그램으로 구현될 수 있다.
또한, 본 발명의 일실시예에 따른 순수 난수 생성 장치의 동작 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.
210: 순수 난수 생성 장치
211: 제1 전압 차 연산부 212: 제2 전압 차 연산부
213: 제1 카운트부 214: 제2 카운트부
215: 측정부 216: 확인부
217: 판정부 218: 전압 조정부
219: 난수 출력부 220: 테이블 유지부
221: 제1 조정부 222: 제2 조정부
223: 변환 출력부
201: 제1 열잡음원
202: 제2 열잡음원

Claims (10)

  1. 제1 열잡음원에서 출력되는 제1 전압과 제2 열잡음원에서 출력되는 제2 전압 간의 비교를 통해 순수 난수(True Random Number)를 생성하는 순수 난수 생성 장치에 있어서,
    상기 제1 열잡음원에서 출력되는 상기 제1 전압과 상기 제2 열잡음원에서 출력되는 상기 제2 전압 간의 제1 전압 차를 연산하는 제1 전압 차 연산부;
    상기 제2 열잡음원에서 출력되는 상기 제2 전압과 상기 제1 열잡음원에서 출력되는 상기 제1 전압 간의 제2 전압 차를 연산하는 제2 전압 차 연산부;
    사전 설정된 제1 주파수를 갖는 제1 클럭(clock) 신호를 발생시키고, 상기 제1 클럭 신호가 하이(high)일 때의 상기 제1 전압 차를 확인하여 상기 제1 전압 차가 양수로 산출되는 제1 개수를 카운트하는 제1 카운트부;
    상기 제1 주파수를 갖는 제2 클럭 신호를 발생시키고, 상기 제2 클럭 신호가 하이일 때의 상기 제2 전압 차를 확인하여 상기 제2 전압 차가 양수로 산출되는 제2 개수를 카운트하는 제2 카운트부;
    상기 제1 개수가 사전 설정된 기준 개수에 도달할 때까지의 제1 경과 시간을 측정하고, 상기 제2 개수가 상기 기준 개수에 도달할 때까지의 제2 경과 시간을 측정하는 측정부;
    상기 제1 경과 시간과 상기 제2 경과 시간 중 사전 설정된 임계 경과 시간보다 작게 측정된 경과 시간이 존재하는지 확인하는 확인부;
    상기 제1 경과 시간과 상기 제2 경과 시간 중 상기 제1 경과 시간이 상기 임계 경과 시간보다 작은 것으로 확인된 경우, 상기 제1 열잡음원에서 오프셋(offset) 전압이 추가로 발생하는 것으로 판정하고, 상기 제1 경과 시간과 상기 제2 경과 시간 중 상기 제2 경과 시간이 상기 임계 경과 시간보다 작은 것으로 확인된 경우, 상기 제2 열잡음원에서 상기 오프셋 전압이 추가로 발생하는 것으로 판정하는 판정부;
    상기 제1 열잡음원에서 상기 오프셋 전압이 추가로 발생하는 것으로 판정된 경우, 상기 제2 열잡음원에서 출력되는 상기 제2 전압이 사전 설정된 크기만큼 증가되도록 상기 제2 전압에 대한 조정을 수행하고, 상기 제2 열잡음원에서 상기 오프셋 전압이 추가로 발생하는 것으로 판정된 경우, 상기 제1 열잡음원에서 출력되는 상기 제1 전압이 상기 사전 설정된 크기만큼 증가되도록 상기 제1 전압에 대한 조정을 수행하는 전압 조정부; 및
    상기 제1 전압 또는 상기 제2 전압의 조정이 완료되면, 사전 설정된 비교 주기 간격으로 상기 제1 전압과 상기 제2 전압을 비교하여 상기 제1 전압과 상기 제2 전압 간의 비교 결과에 따른 랜덤 비트열을 출력하는 난수 출력부
    를 포함하는 순수 난수 생성 장치.
  2. 제1항에 있어서,
    상기 전압 조정부는
    사전 설정된 서로 다른 복수의 경과 시간의 범위 값들과 상기 복수의 경과 시간의 범위 값들 각각에 대응되는 사전 설정된 전압 크기 값이 서로 대응되어 기록되어 있는 테이블을 저장하여 유지하는 테이블 유지부;
    상기 제1 열잡음원에서 상기 오프셋 전압이 추가로 발생하는 것으로 판정된 경우, 상기 테이블에 기록되어 있는 상기 복수의 경과 시간의 범위 값들 중 상기 제1 경과 시간이 속해있는 제1 범위 값을 확인하고, 상기 테이블에서 상기 제1 범위 값에 대응되어 기록되어 있는 제1 전압 크기 값을 추출한 후 상기 제2 열잡음원에서 출력되는 상기 제2 전압의 크기가 상기 제1 전압 크기 값만큼 더 증가되도록 상기 제2 전압에 대한 조정을 수행하는 제1 조정부; 및
    상기 제2 열잡음원에서 상기 오프셋 전압이 추가로 발생하는 것으로 판정된 경우, 상기 테이블에 기록되어 있는 상기 복수의 경과 시간의 범위 값들 중 상기 제2 경과 시간이 속해있는 제2 범위 값을 확인하고, 상기 테이블에서 상기 제2 범위 값에 대응되어 기록되어 있는 제2 전압 크기 값을 추출한 후 상기 제1 열잡음원에서 출력되는 상기 제1 전압의 크기가 상기 제2 전압 크기 값만큼 더 증가되도록 상기 제1 전압에 대한 조정을 수행하는 제2 조정부
    를 포함하는 순수 난수 생성 장치.
  3. 제1항에 있어서,
    상기 난수 출력부는
    상기 제1 전압 또는 상기 제2 전압의 조정이 완료되면, 상기 비교 주기 간격으로 상기 제1 전압과 상기 제2 전압을 비교하여 상기 제1 전압이 상기 제2 전압보다 큰 경우, '1'의 비트 값을 출력하고, 상기 제2 전압이 상기 제1 전압보다 큰 경우, '0'의 비트 값을 출력함으로써, 상기 랜덤 비트열을 출력하는 순수 난수 생성 장치.
  4. 제1항에 있어서,
    상기 난수 출력부를 통해 상기 랜덤 비트열이 출력되기 시작하면, 사전 설정된 비트 크기 단위로 상기 랜덤 비트열을 잘라내어 정수로 변환함으로써, 정수 형식의 난수를 출력하는 변환 출력부
    를 더 포함하는 순수 난수 생성 장치.
  5. 제1 열잡음원에서 출력되는 제1 전압과 제2 열잡음원에서 출력되는 제2 전압 간의 비교를 통해 순수 난수(True Random Number)를 생성하는 순수 난수 생성 장치의 동작 방법에 있어서,
    상기 제1 열잡음원에서 출력되는 상기 제1 전압과 상기 제2 열잡음원에서 출력되는 상기 제2 전압 간의 제1 전압 차를 연산하는 단계;
    상기 제2 열잡음원에서 출력되는 상기 제2 전압과 상기 제1 열잡음원에서 출력되는 상기 제1 전압 간의 제2 전압 차를 연산하는 단계;
    사전 설정된 제1 주파수를 갖는 제1 클럭(clock) 신호를 발생시키고, 상기 제1 클럭 신호가 하이(high)일 때의 상기 제1 전압 차를 확인하여 상기 제1 전압 차가 양수로 산출되는 제1 개수를 카운트하는 단계;
    상기 제1 주파수를 갖는 제2 클럭 신호를 발생시키고, 상기 제2 클럭 신호가 하이일 때의 상기 제2 전압 차를 확인하여 상기 제2 전압 차가 양수로 산출되는 제2 개수를 카운트하는 단계;
    상기 제1 개수가 사전 설정된 기준 개수에 도달할 때까지의 제1 경과 시간을 측정하고, 상기 제2 개수가 상기 기준 개수에 도달할 때까지의 제2 경과 시간을 측정하는 단계;
    상기 제1 경과 시간과 상기 제2 경과 시간 중 사전 설정된 임계 경과 시간보다 작게 측정된 경과 시간이 존재하는지 확인하는 단계;
    상기 제1 경과 시간과 상기 제2 경과 시간 중 상기 제1 경과 시간이 상기 임계 경과 시간보다 작은 것으로 확인된 경우, 상기 제1 열잡음원에서 오프셋(offset) 전압이 추가로 발생하는 것으로 판정하고, 상기 제1 경과 시간과 상기 제2 경과 시간 중 상기 제2 경과 시간이 상기 임계 경과 시간보다 작은 것으로 확인된 경우, 상기 제2 열잡음원에서 상기 오프셋 전압이 추가로 발생하는 것으로 판정하는 단계;
    상기 제1 열잡음원에서 상기 오프셋 전압이 추가로 발생하는 것으로 판정된 경우, 상기 제2 열잡음원에서 출력되는 상기 제2 전압이 사전 설정된 크기만큼 증가되도록 상기 제2 전압에 대한 조정을 수행하고, 상기 제2 열잡음원에서 상기 오프셋 전압이 추가로 발생하는 것으로 판정된 경우, 상기 제1 열잡음원에서 출력되는 상기 제1 전압이 상기 사전 설정된 크기만큼 증가되도록 상기 제1 전압에 대한 조정을 수행하는 단계; 및
    상기 제1 전압 또는 상기 제2 전압의 조정이 완료되면, 사전 설정된 비교 주기 간격으로 상기 제1 전압과 상기 제2 전압을 비교하여 상기 제1 전압과 상기 제2 전압 간의 비교 결과에 따른 랜덤 비트열을 출력하는 단계
    를 포함하는 순수 난수 생성 장치의 동작 방법.
  6. 제5항에 있어서,
    상기 조정을 수행하는 단계는
    사전 설정된 서로 다른 복수의 경과 시간의 범위 값들과 상기 복수의 경과 시간의 범위 값들 각각에 대응되는 사전 설정된 전압 크기 값이 서로 대응되어 기록되어 있는 테이블을 저장하여 유지하는 단계;
    상기 제1 열잡음원에서 상기 오프셋 전압이 추가로 발생하는 것으로 판정된 경우, 상기 테이블에 기록되어 있는 상기 복수의 경과 시간의 범위 값들 중 상기 제1 경과 시간이 속해있는 제1 범위 값을 확인하고, 상기 테이블에서 상기 제1 범위 값에 대응되어 기록되어 있는 제1 전압 크기 값을 추출한 후 상기 제2 열잡음원에서 출력되는 상기 제2 전압의 크기가 상기 제1 전압 크기 값만큼 더 증가되도록 상기 제2 전압에 대한 조정을 수행하는 단계; 및
    상기 제2 열잡음원에서 상기 오프셋 전압이 추가로 발생하는 것으로 판정된 경우, 상기 테이블에 기록되어 있는 상기 복수의 경과 시간의 범위 값들 중 상기 제2 경과 시간이 속해있는 제2 범위 값을 확인하고, 상기 테이블에서 상기 제2 범위 값에 대응되어 기록되어 있는 제2 전압 크기 값을 추출한 후 상기 제1 열잡음원에서 출력되는 상기 제1 전압의 크기가 상기 제2 전압 크기 값만큼 더 증가되도록 상기 제1 전압에 대한 조정을 수행하는 단계
    를 포함하는 순수 난수 생성 장치의 동작 방법.
  7. 제5항에 있어서,
    상기 출력하는 단계는
    상기 제1 전압 또는 상기 제2 전압의 조정이 완료되면, 상기 비교 주기 간격으로 상기 제1 전압과 상기 제2 전압을 비교하여 상기 제1 전압이 상기 제2 전압보다 큰 경우, '1'의 비트 값을 출력하고, 상기 제2 전압이 상기 제1 전압보다 큰 경우, '0'의 비트 값을 출력함으로써, 상기 랜덤 비트열을 출력하는 순수 난수 생성 장치의 동작 방법.
  8. 제5항에 있어서,
    상기 출력하는 단계를 통해 상기 랜덤 비트열이 출력되기 시작하면, 사전 설정된 비트 크기 단위로 상기 랜덤 비트열을 잘라내어 정수로 변환함으로써, 정수 형식의 난수를 출력하는 단계
    를 더 포함하는 순수 난수 생성 장치의 동작 방법.
  9. 제5항 내지 제8항 중 어느 한 항의 방법을 컴퓨터와의 결합을 통해 실행시키기 위한 컴퓨터 프로그램을 기록한 컴퓨터 판독 가능 기록 매체.
  10. 제5항 내지 제8항 중 어느 한 항의 방법을 컴퓨터와의 결합을 통해 실행시키기 위한 저장매체에 저장된 컴퓨터 프로그램.
KR1020200088661A 2020-07-17 2020-07-17 오프셋 전압과 연관된 오류를 개선할 수 있는 순수 난수 생성 장치 및 그 동작 방법 KR102286432B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200088661A KR102286432B1 (ko) 2020-07-17 2020-07-17 오프셋 전압과 연관된 오류를 개선할 수 있는 순수 난수 생성 장치 및 그 동작 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200088661A KR102286432B1 (ko) 2020-07-17 2020-07-17 오프셋 전압과 연관된 오류를 개선할 수 있는 순수 난수 생성 장치 및 그 동작 방법

Publications (1)

Publication Number Publication Date
KR102286432B1 true KR102286432B1 (ko) 2021-08-04

Family

ID=77314863

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200088661A KR102286432B1 (ko) 2020-07-17 2020-07-17 오프셋 전압과 연관된 오류를 개선할 수 있는 순수 난수 생성 장치 및 그 동작 방법

Country Status (1)

Country Link
KR (1) KR102286432B1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100421564B1 (ko) * 2003-05-09 2004-03-09 메이플테크놀로지(주) 물리 난수 신호 발생기 및 그 난수 생성 방법
JP2007179524A (ja) * 2005-12-27 2007-07-12 Ind Technol Res Inst 乱数発生器と乱数を発生する方法
JP2014216005A (ja) * 2013-04-29 2014-11-17 韓國電子通信研究院Electronics and Telecommunications ResearchInstitute 2進乱数列を整数乱数に変換する装置および方法
KR20170059271A (ko) * 2015-11-20 2017-05-30 고려대학교 산학협력단 비교기를 이용한 실 난수 발생기 및 발생 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100421564B1 (ko) * 2003-05-09 2004-03-09 메이플테크놀로지(주) 물리 난수 신호 발생기 및 그 난수 생성 방법
JP2007179524A (ja) * 2005-12-27 2007-07-12 Ind Technol Res Inst 乱数発生器と乱数を発生する方法
JP2014216005A (ja) * 2013-04-29 2014-11-17 韓國電子通信研究院Electronics and Telecommunications ResearchInstitute 2進乱数列を整数乱数に変換する装置および方法
KR20170059271A (ko) * 2015-11-20 2017-05-30 고려대학교 산학협력단 비교기를 이용한 실 난수 발생기 및 발생 방법

Similar Documents

Publication Publication Date Title
US9088278B2 (en) Physical unclonable function generation and management
JP5113074B2 (ja) 情報セキュリティ装置
KR102233841B1 (ko) 계량 값 분석을 기초로 고장 여부의 판단이 가능한 디지털 수도 계량기 및 그 동작 방법
US8874978B2 (en) Information processing apparatus, information processing system, controlling method for information processing apparatus and program
KR20150044795A (ko) 고체 상태 메모리 시스템에서의 레이턴시 기반 데이터 재활용을 위한 시스템 및 방법
US10146507B2 (en) Randomness test apparatus and method for random number generator
JP5724305B2 (ja) デバイス固有情報生成装置、デバイス固有情報生成方法および認証装置
KR102286432B1 (ko) 오프셋 전압과 연관된 오류를 개선할 수 있는 순수 난수 생성 장치 및 그 동작 방법
JP4196770B2 (ja) データ処理方法、データ検査方法
US9928923B2 (en) Estimation of level-thresholds for memory cells
CN109428721B (zh) 用于确定物理不可克隆功能电路的健康状况的方法或装置
KR20200050159A (ko) 문서에 대한 읽기 예측 시간의 산출이 가능한 전자 단말 장치 및 그 동작 방법
US20190107999A1 (en) Random number generating system and random number generating method thereof
KR102271177B1 (ko) 미세먼지 측정기를 통해 산출된 미세먼지 측정 데이터의 오류를 보정할 수 있는 원인 데이터 비교 기반의 미세먼지 측정 데이터 보정 장치
JP2007171166A (ja) デジタル信号を受信するように構成されたプロセッサ、及び、受信したデジタル信号の品質を判別する方法(デジタル・システムにおける信号品質の動的判別)
CN115827304A (zh) 一种片内高速总线数据的校验系统及校验方法
KR102202017B1 (ko) 입력 클럭 신호의 주파수 범위에 따라 결정된 서로 다른 샘플링 클럭 신호를 기초로 상기 입력 클럭 신호의 주파수 정보를 생성할 수 있는 주파수 정보 생성 처리 장치 및 그 동작 방법
US20050055390A1 (en) True random number generation
US20050246403A1 (en) Interpolation method and apparatus performing the same
JP2010039969A (ja) クロストークノイズの判定方法およびプログラム
CN113822329B (zh) 一种水电机组主轴摆度信号处理方法及装置
US8245170B2 (en) Timing library test apparatus, method for testing timing library, and computer readable medium comprising timing library test program
US8756420B2 (en) System and method for encrypting and storing data
JP2013055558A (ja) 情報処理装置
KR102155007B1 (ko) 독립성 측정을 이용한 엔트로피 관리 장치 및 방법, 이를 이용한 난수 생성 장치

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant