KR102366678B1 - 난수 생성 장치 및 방법 - Google Patents

난수 생성 장치 및 방법 Download PDF

Info

Publication number
KR102366678B1
KR102366678B1 KR1020200064539A KR20200064539A KR102366678B1 KR 102366678 B1 KR102366678 B1 KR 102366678B1 KR 1020200064539 A KR1020200064539 A KR 1020200064539A KR 20200064539 A KR20200064539 A KR 20200064539A KR 102366678 B1 KR102366678 B1 KR 102366678B1
Authority
KR
South Korea
Prior art keywords
random number
generating
sampling
signal
correlation
Prior art date
Application number
KR1020200064539A
Other languages
English (en)
Other versions
KR20210147387A (ko
Inventor
윤태일
Original Assignee
주식회사 드림디엔에스
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 드림디엔에스 filed Critical 주식회사 드림디엔에스
Priority to KR1020200064539A priority Critical patent/KR102366678B1/ko
Publication of KR20210147387A publication Critical patent/KR20210147387A/ko
Application granted granted Critical
Publication of KR102366678B1 publication Critical patent/KR102366678B1/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

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)
  • Analogue/Digital Conversion (AREA)

Abstract

난수 생성 장치 및 방법이 개시된다. 본 발명의 일실시예에 따른 난수 생성 장치는, 플로팅(Floating) 상태로 유지되는 입력단자, 상기 입력단자에 상응하는 플로팅 신호를 샘플링주기에 따라 샘플링하여 샘플링 신호를 생성하는 샘플링부, 상기 샘플링 신호를 디지털 비트값으로 변환하는 디지털변환부 및 상기 디지털 비트값을 기반으로 난수를 생성하는 난수 생성부를 포함한다.

Description

난수 생성 장치 및 방법{APPARATUS AND METHOD OF GENERATING RANDOM NUMBER}
본 발명은 난수 생성 장치 및 방법에 관한 것으로써, IoT(Internet of Things) 기기와 같은 적은 자원을 가진 MCU(ADC 내장) 또는 ADC 자체를 사용한 엔트로피의 수집기술에 관한 것이다.
본 명세서에서 달리 표시되지 않는 한, 이 섹션에 설명되는 내용들은 이 출원의 청구항들에 대한 종래 기술이 아니며, 이 섹션에 포함된다고 하여 종래 기술이라고 인정되는 것은 아니다.
사물인터넷(Internet of Thing)의 보편화에 따라 보안 위협도 높아지고 있으며, 특히 사물인터넷 보안은 사물인터넷 기기에서부터 시스템까지의 전 구간에 대한 단절없는 보안이 필요하다.
보안의 필수적인 요소로써 난수는 예측불가능성, 무편향성, 숫자간 무관성을 만족해야 한다.
의사 난수 생성 기술은 컴퓨터 알고리즘을 복잡하게 설계함으로써 난수의 예측 불가능성을 높힐 수 있다.
특히, 기존의 암호학적으로 안전한 의사 난수는 주로 윈도우, 리눅스 같은 OS 내에서의 난수 엔트로피를 추출하여 사용해왔으나, 적은 자원을 가진 사물인터넷 기기들은 암호학적으로 사용하기 위한 난수 엔트로피를 충분히 수집하기 어렵다는 문제점이 있어, 무작위적인 난수를 발생하는데 어려움이 있다.
한국등록특허 제10-0806151호, 2008년 02월 15일 등록(명칭: 난수 발생 장치 및 확률 발생 장치)
본 발명의 목적은 적은 자원을 가진 MCU에서 충분한 비트의 난수 엔트로피를 생성하는 것이다.
또한, 본 발명의 목적은 ADC의 입력단을 플로팅 상태로 유지하여, 불규칙적으로 유입되는 아날로그 신호를 난수 생성에 적용하는 것이다.
또한, 본 발명의 목적은 생성된 난수의 코릴레이션을 산출하여 난수의 불규칙성을 보완하는 것이다.
또한, 본 발명의 목적은 플로팅 상태에서 유입되는 아날로그 신호를 난수 생성에 적합하도록 보정하는 것이다.
또한 상술한 바와 같은 목적들로 한정되지 않으며, 이하의 설명으로부터 또 다른 목적이 도출될 수도 있음은 자명하다.
상기한 목적을 달성하기 위하여 본 발명의 일실시예에 따른 난수 생성 장치는, 플로팅(Floating) 상태로 유지되는 입력단자, 상기 입력단자에 상응하는 플로팅 신호를 샘플링주기에 따라 샘플링하여 샘플링 신호를 생성하는 샘플링부, 상기 샘플링 신호를 디지털 비트값으로 변환하는 디지털변환부 및 상기 디지털 비트값을 기반으로 난수를 생성하는 난수 생성부를 포함한다.
이 때, 상기 디지털 변환부는, 축차 비교 레지스터(Successive Approximation Register; SAR)를 통하여 상기 샘플링 신호를 상기 디지털 비트값으로 변환할 수 있다.
이 때, 상기 샘플링부는, 상기 플로팅 신호를 입력으로, 커패시터를 통해 상기 샘플링주기에 따라 충전과 방출을 반복하여 상기 샘플링 신호를 생성할 수 있다.
이 때, 상기 샘플링주기는, 상기 입력단자가 플로팅되지 않는 경우에 상응하는 제1 주기보다 짧은 제2 주기로 설정될 수 있다.
이 때, 본 발명의 일실시예에 따른 난수 발생 장치는, 디지털 비트값들을 저장하고, 상기 디지털 비트값들 사이의 코릴레이션(Correlation)을 계산하는 코릴레이션 산출부를 더 포함할 수 있다.
이 때, 본 발명의 일실시예에 따른 난수 발생 장치는, 상기 코릴레이션에 기반하여 상기 샘플링주기를 조절하는 샘플링주기 조절부를 더 포함할 수 있다.
이 때, 본 발명의 일실시예에 따른 난수 발생 장치는, 상기 코릴레이션이 기설정된 임계값을 초과하면 상기 입력단자에 리셋 전압을 인가하는 리셋부를 더 포함할 수 있다.
이 때, 상기 난수 생성부는, 상기 디지털 비트값의 비트수보다 작은 비트수를 갖도록 상기 난수를 생성할 수 있다.
이 때, 상기 난수 생성부는, 상기 난수의 비트수가 상기 코릴레이션에 따라 가변되도록 상기 난수를 생성할 수 있다.
이 때, 본 발명의 일실시예에 따른 난수 발생 장치는, 상기 플로팅 신호를 증폭시키는 신호증폭부를 더 포함할 수 있다.
이 때, 상기 신호증폭부는, 상기 코릴레이션을 기반으로 증폭량을 가변시켜, 상기 플로팅 신호를 증폭시킬 수 있다.
이 때, 본 발명의 일실시예에 따른 난수 발생 장치는, 상기 샘플링부에 상응하는 입력 커패시턴스를 조절하는 입력 커패시턴스 조절부를 더 포함할 수 있다.
이 때, 상기 입력 커패시턴스 조절부는, 상기 커패시터와 접지 사이에 연결되는 부가 커패시터를 포함할 수 있다.
또한, 상기한 목적을 달성하기 위하여 본 발명의 일실시예에 따른 난수 생성 장치를 통하여 난수를 생성하는 방법에 있어서, 플로팅(Floating) 상태인 입력단자에 상응하는 플로팅 신호를 샘플링주기에 따라 샘플링하여 샘플링 신호를 생성하는 단계, 상기 샘플링 신호를 디지털 비트값으로 변환하는 단계 및 상기 디지털 비트값을 기반으로 난수를 생성하는 단계를 포함한다.
이 때, 상기 디지털 비트값으로 변환하는 단계는, 축차 비교 레지스터(Successive Approximation Register; SAR)를 통하여 상기 샘플링 신호를 상기 디지털 비트값으로 변환할 수 있다.
이 때, 상기 샘플링 신호를 생성하는 단계는, 상기 플로팅 신호를 입력으로 커패시터를 통해 상기 샘플링주기에 따라 충전과 방출을 반복하여 상기 샘플링 신호를 생성할 수 있다.
이 때, 상기 샘플링주기는, 상기 입력단자가 플로팅되지 않는 경우에 상응하는 제1 주기보다 짧은 제2 주기로 설정될 수 있다.
이 때, 본 발명의 일실시예에 따른 난수 생성 방법은, 디지털 비트값들을 저장하는 단계 및 상기 디지털 비트값들 사이의 코릴레이션(Correlation)을 산출하는 단계를 더 포함할 수 있다.
이 때, 상기 샘플링주기는, 상기 코릴레이션에 기반하여 가변될 수 있다.
이 때, 본 발명의 일실시예에 따른 난수 생성 방법은, 상기 코릴레이션이 기설정된 임계값을 초과하면 상기 입력단자에 리셋 전압을 인가하는 단계를 더 포함할 수 있다.
이 때, 상기 난수를 생성하는 단계는, 상기 디지털 비트값의 비트수보다 작은 비트수를 갖도록 상기 난수를 생성할 수 있다.
이 때, 상기 난수를 생성하는 단계는, 상기 난수의 비트수가 상기 코릴레이션에 따라 가변되도록 상기 난수를 생성할 수 있다.
이 때, 본 발명의 일실시예에 따른 난수 생성 방법은, 상기 플로팅 신호를 증폭시키는 단계를 더 포함할 수 있다.
이 때, 상기 증폭시키는 단계는, 상기 코릴레이션을 기반으로 증폭량을 가변시켜, 상기 플로팅 신호를 증폭시킬 수 있다.
본 발명에 따르면, 적은 자원을 가진 MCU에서 충분한 비트의 난수 엔트로피를 생성할 수 있다.
또한, 본 발명에 따르면, ADC의 입력단을 플로팅 상태로 유지하여, 불규칙적으로 유입되는 아날로그 신호를 난수 생성에 적용할 수 있다.
또한, 본 발명에 따르면, 생성된 난수의 코릴레이션을 산출하여 난수의 불규칙성을 보완할 수 있다.
또한, 본 발명에 따르면, 플로팅 상태에서 유입되는 아날로그 신호를 난수 생성에 적합하도록 보정할 수 있다.
본 실시 예들의 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 청구범위의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명의 일실시예에 따른 난수 생성 장치의 사용예시도이다.
도 2는 본 발명의 일실시예에 따른 난수 생성 장치의 블록도이다.
도 3은 ADC를 이용하여 난수를 생성하는 개념도이다.
도 4는 축차 비교 레지스터(SAR)가 적용된 축차 비교 ADC의 회로도이다.
도 5는 샘플 앤 홀드(Sample & Hold)의 회로도이다.
도 6은 본 발명의 일실시예에 따른 코릴레이션 산출부의 사용예시도이다.
도 7은 코릴레이션과 난수의 랜덤성의 관계를 나타내는 그래프이다.
도 8은 본 발명의 일실시예에 따라 샘플링주기를 조절하는 개념도이다.
도 9 및 도 10은 본 발명의 일실시예에 따라 난수의 비트값을 조절하는 개념도이다.
도 11은 본 발명의 일실시예에 따른 신호증폭부의 사용예시도이다.
도 12는 본 발명의 일실시예에 따른 샘플링부의 입력 커패시턴스를 나타내는 개념도이다.
도 13은 본 발명의 일실시예에 따른 입력 커패시턴스 조절부를 나타내는 회로도이다.
도 14는 본 발명의 일실시예에 따른 난수 생성 방법의 흐름도이다.
도 15는 본 발명의 일실시예에 따른 컴퓨터 시스템을 나타낸 도면이다.
본 발명을 첨부된 도면을 참조하여 상세히 설명하면 다음과 같다. 여기서, 반복되는 설명, 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능, 및 구성에 대한 상세한 설명은 생략한다. 본 발명의 실시형태는 당 업계에서 평균적인 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위해서 제공되는 것이다. 따라서, 도면에서의 요소들의 형상 및 크기 등은 보다 명확한 설명을 위해 과장될 수 있다.
본 발명의 일실시예에 따른 난수 생성 장치 및 방법은 IoT(Internet of Things) 기기와 같은 적은 자원을 가진 MCU(Micro Controller Unit) 또는 ADC(Analog to Digital Converter) 자체를 사용한 엔트로피의 수집 기술을 제공하는 것이다.
엔트로피는 정보를 전달하는데 필요한 최소 비트 수를 말하며 불확실성을 의미하기도 한다.
기존에 암호학적으로 안전한 의사 난수는 주로 윈도우, 리눅스 같은 OS 내에서의 난수 엔트로피를 추출하여 사용해왔으나, 적은 자원을 가진 MCU에서는 암호학적으로 사용하기 위한 난수 엔트로피를(필요 충족 엔트로피 112bit, 단일 소스상에서 최대 인정 엔트로피 32bit) 충분히 수집하기에 어려움이 있었다.
이에 본 발명의 일실시예에 따른 난수 생성 장치 및 방법은 8bit MCU부터 32bit MCU까지 많이 사용하는 축차 비교형 ADC와 플로팅(Floating) 현상을 사용하여 엔트로피를 수집하는 방법을 제시하고자 한다.
이 때, ADC는 아날로그로 입력되는 값을 디지털 신호로 변환하여 MCU 내부에서 처리할 수 있게 해주는 장치로써, 본 발명의 일실시예에서는 ADC의 입력단자에 아무것도 연결하지 않고, 입력단자 주변의 정전기나 전자기 유도에 의해 발생하는 불규칙한 신호를 난수 엔트로피의 입력값으로 사용할 수 있다.
또한, 본 발명의 일실시예는 엔트로피를 생성하기 위하여, 샘플링되는 시간을 짧게 설정하여 전압이 충분히 인가되지 않도록 설정할 수 있다.
이를 통해, 샘플링 값이 흔들리면서 변동폭이 크게되어 엔트로피가 큰 값을 가지도록 설정할 수 있다.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 본 발명의 일실시예에 따른 난수 생성 장치의 사용예시도이다.
도 1을 참조하면, 본 발명의 일실시예에 따른 난수 생성 장치(100)는 주변환경에서 불규칙하게 발생하는 노이즈 신호(이하에서는 플로팅(Floating) 신호, 110)를 입력으로 받아, 난수(120)를 발생시킬 수 있다.
도 2는 본 발명의 일실시예에 따른 난수 생성 장치의 블록도이다.
도 2를 참조하면, 본 발명의 일실시예에 따른 난수 생성 장치(100)는 입력단자(210), 샘플링부(220), 디지털 변환부(230) 및 난수 생성부(240)를 포함할 수 있다.
이 때, 본 발명의 일실시예에 따른 난수 생성 장치(100)는, 입력단자(210)를 플로팅(Floating) 상태로 유지하여, 주변환경에서 불규칙하게 발생하는 플로팅 신호(211)를 입력받을 수 있다.
이 때, 플로팅 현상은 입력단에 어떠한 것도 연결되어 있지 않아 주변의 전기장 상태에 따라 입력이 불안정하게 변하여 원하는 값을 측정하지 못하게 되는 현상을 의미하는데, 본 발명의 일실시예에 따른 입력단자(210)는 상기 플로팅 현상을 이용하여 어떠한 것도 연결하지 않고, 노이즈 등과 같은 신호가 유입될 수 있는 플로팅 상태로 유지될 수 있다.
입력단자(210)를 통해 유입된 상기 플로팅 신호(211)는 샘플링부(220)와 디지털변환부(230)로 구성된 ADC(Analog to Digital Converter)를 통해 디지털 비트값으로 변환될 수 있다.
이 때, 난수 생성부(240)는 상기 디지털 비트값을 기반으로 난수를 생성할 수 있다.
도 3은 ADC를 이용하여 난수를 생성하는 개념도이다.
도 3을 참조하면, ADC는 아날로그 신호를 디지털 신호로 변환하는 장치에 관한 것으로써, 아날로그 신호를 샘플링하는 단계(Sampling), 양자화하는 단계(Quantization), 부호화(Coding)하는 단계를 포함하여 동작할 수 있다.
이 때, 샘플링하는 단계는 표본화라고도 하며, 연속된 아날로그 신호의 진폭치를 샘플링 주기(이산적인 주기)로 추출하여 이산신호로 변환하는 과정을 의미한다.
이 때, 양자화하는 단계는 이산적인 주기로 추출된 진폭치를 이산적인 진폭치에 근접시키는 것으로 샘플링된 진폭치를 특정 대표값으로 수정하는 과정을 의미한다.
이 때, 부호화하는 단계는 이산적인 진폭치를 0과 1의 2가지 값으로 나타내는 부호로 변환하는 것으로, 신호처리가 용이한 디지털 코드 형태로 변환하는 과정을 의미한다.
이 때, 본 발명의 일실시예에 따른 샘플링부와 디지털 변환부는 ADC와 상응하는 것일 수 있으며, 상기 아날로그 신호를 디지털 비트값으로 변환하여 난수(301)를 생성하도록 할 수 있다.
도 4는 축차 비교 레지스터(SAR)가 적용된 축차 비교 ADC의 회로도이다.
도 4를 참조하면, 본 발명의 일실시예에 따른 샘플링부 및 디지털 변환부는 축차 비교 레지스터(Successive Approximation Register; SAR, 405)가 적용된 축차 비교 ADC일 수 있다.
이 때, 축차 비교형 ADC는 축차 비교 레지스터(405)를 사용하여 최상위 비트로부터 순서대로 하위 비트 쪽으로 수정하는 방법으로 디지털 아날로그 컨버터(Digiter to Analog Converter; DAC, 407)의 출력을 훨씬 빨리 아날로그 입력전압에 근사시킬 수 있다.
축차 비교형 ADC는 비교적 변환시간이 빠르고 회로도 간단하며, 저가형이면서 분해능이 비교적 높은 범용 A/D Converter에 가장 널리 사용되는 방식이다.
보다 상세하게는, 축차 비교형 ADC는 샘플 앤 홀드(S&H) 회로(401)를 통하여 아날로그 신호를 샘플링하고, SAR(405)의 비트값에서 최상위비트(Most Significant Bit; MSB)에 1을 대입하고, 나머지 비트는 0을 대입한다.
이 때, DAC(407)는 상기 SAR(405)의 비트값을 입력으로 아날로그 신호로 변환하고, 비교기(403)를 통해 변환된 아날로그 신호와 상기 샘플링된 신호의 대소 비교를 진행하여 SAR(405)의 비트값을 확정할 수 있다.
이 때, 축차 비교형 ADC는 최상위비트부터 최하위비트(Least Significant Bit; LSB)까지 축차 비교를 반복함으로써, 아날로그 신호를 디지털 비트값으로 변환할 수 있다.
또한, 축차 비교형 ADC는 샘플 앤 홀드 회로(401)를 통하여 아날로그 신호를 샘플링하고, 그 샘플 값을 샘플링 주기동안 유지시킬 수 있다.
도 5는 샘플 앤 홀드(Sample & Hold)의 회로도이다.
도 5를 참조하면, 샘플 앤 홀드 회로(401)는 하나 이상의 스위치와 커패시터(501)를 포함할 수 있다.
이 때, 샘플 앤 홀드 회로(401)는 상술한 바와 같이 아날로그 신호를 샘플링하고, 그 샘플 값을 샘플링 주기동안 유지할 수 있다.
이 때, 샘플 앤 홀드 회로(401)는 커패시터(501)를 통해 상기 샘플링주기에 따라 충전과 방출을 반복하여 샘플링 신호를 생성할 수 있다.
도 6은 본 발명의 일실시예에 따른 코릴레이션 산출부의 사용예시도이다.
도 6을 참조하면, 본 발명의 일실시예에 따른 난수 생성 장치는 디지털 비트값(610)들을 저장하고, 상기 디지털 비트값(610)들 사이의 코릴레이션(Correlation, 620)을 계산하는 코릴레이션 산출부(600)를 더 포함할 수 있다.
이 때, 디지털 비트값(610)은 플로팅 신호에 상응하는 것으로 난수를 생성하기 위해서는 상호간에 관련성 즉, 코릴레이션(620)이 낮아야 한다.
이를 위하여, 코릴레이션 산출부(600)는 디지털 비트값(610)을 입력으로 디지털 비트값 상호간의 코릴레이션(620)을 산출할 수 있다.
도 7은 코릴레이션과 난수의 랜덤성의 관계를 나타내는 그래프이다.
도 7을 참조하면, 상기 디지털 비트값은 상호간에 관련성이 낮아야 난수의 랜덤성이 상승하는바, 코릴레이션과 난수의 랜덤성은 반비례 관계일 수 있다.
따라서, 상기 코릴레이션은 후술하는 바와 같이 난수를 생성하기 위한 변수를 조절할 때 사용될 수 있다.
도 8은 본 발명의 일실시예에 따라 샘플링주기를 조절하는 개념도이다.
도 8을 참조하면, 본 발명의 일실시예에 따른 난수 생성 장치는 샘플링주기를 조절하는 샘플링주기 조절부를 더 포함할 수 있다.
플로팅 신호는 일반적인 입력신호에 비해 신호가 약하여, 일반적인 샘플링주기를 기준으로 샘플링하는 경우, 디지털 비트값의 변화가 다소 낮을 수 있다.
따라서, 상기 샘플링주기는 상기 입력단자가 플로팅되지 않은 경우에 상응하는 제1 주기(801)보다 짧은 제2 주기(803)로 설정될 수 있다.
상기 샘플링주기는 짧게 설정될 수록 변화가 심해지기 때문이다.
또한, 샘플링주기 조절부는 변화에 따라 상기 샘플링주기를 가변시킬 수 있도록, 상기 코릴레이션에 기반하여 상기 샘플링주기를 조절할 수 있다.
도 9 및 도 10은 본 발명의 일실시예에 따라 난수의 비트값을 조절하는 개념도이다.
도 9를 참조하면, 디지털 비트값(901)은 8비트로 구성되고, 난수의 비트값(903)은 4비트로 구성되어, 양 비트값의 차이는 4로 설정될 수 있다.
플로팅 신호는 상술한 바와 같이 일반적인 입력신호에 비해 신호가 약하여, 전체 디지털 비트값 중 일부 비트에서만 변화가 발생하고, 변화가 없는 비트가 존재할 수 있다.
따라서, 변화가 없는 비트는 제외하고, 변화가 많이 발생하는 비트만을 가지고 난수를 생성할 수 있다.
또한, 난수를 생성하기 위한 비트수는 일률적으로 결정할 수 없는 것으로써, 본 발명의 일실시예에 따른 난수 생성 장치는 상기 난수의 비트수가 상기 코릴레이션에 따라 가변되도록 상기 난수를 생성할 수도 있다.
도 10을 참조하면, 도 9와 달리 디지털 비트값(1001)의 비트중 6개의 비트에서 변화가 있으므로, 본 발명의 일실시예에 따른 난수 생성 장치는 난수의 비트값(1003)을 6비트로 구성하여 양 비트값의 차이를 2로 설정할 수도 있다.
도 11은 본 발명의 일실시예에 따른 신호증폭부의 사용예시도이다.
도 11을 참조하여 설명하면, 상술한 바와 같이 플로팅 신호는 일반적인 신호에 비해 진폭이 매우 낮을 수 있다.
따라서, 플로팅 신호에서 불규칙한 디지털 비트값 추출하기 위하여, 본 발명의 일실시예에 따른 난수 생성 장치는 플로팅 신호를 증폭시키는 신호증폭부(1100)를 더 포함할 수 있다.
이 때, 신호증폭부(1100)는 기존 플로팅 신호의 제1 진폭(1110)을 특정 증가량만큼 가변시켜, 제2 진폭(1120)으로 증폭시킬 수 있다.
이 때, 신호증폭부(1100)는 OP AMP 등의 회로소자를 포함한 증폭회로일 수 있다.
이 때, 상기 증가량은 상술한 코릴레이션에 기반하여 가변될 수 있다.
예를 들면, 코릴레이션이 클 수록 샘플링 주기별 디지털 비트값이 변화가 적은 것이므로, 코릴레이션이 커질 수록 상기 증폭량을 증가시킬 수 있다.
도 12는 본 발명의 일실시예에 따른 샘플링부의 입력 커패시턴스를 나타내는 개념도이다.
본 발명의 일실시예에 따른 샘플링부는 상술한 바와 같이, 샘플 앤 홀드를 위한 커패시터를 포함할 수 있고, 이를 통해 입력 커패시턴스(Ci)를 가질 수 있다.
이 때, 입력 커패시턴스(Ci)의 의미는 입력되는 플로팅 신호를 충전하고 방출하는 용량을 의미하는 것으로, 샘플링주기와 관련이 있다.
따라서, 입력 커패시턴스(Ci)는 샘플링주기와 비례관계에 있으며, 후술하는 바와 같이 입력 커패시턴스(Ci)를 가변시켜 샘플링주기를 변화시킬 수도 있다.
도 13은 본 발명의 일실시예에 따른 입력 커패시턴스 조절부를 나타내는 회로도이다.
상술한 바와 같이, 샘플링주기를 가변시키기 위하여, 본 발명의 일실시예에 따른 난수 생성 장치는 샘플링부에 상응하는 입력 커패시턴스를 조절하는 입력 커패시턴스 조절부(1301)를 더 포함할 수 있다.
도 13을 참조하면, 커패시터는 직렬 연결에 의하여 커패시턴스가 낮아지므로, 상기 입력 커패시턴스 조절부(1301)는 샘플 앤 홀드 회로(401)에 포함된 커패시터(1303)와 접지 사이에 연결되는 부가 커패시터를 포함하도록 구성될 수 있다.
이 때, 부가 커패시터의 용량은 샘플링주기를 가변시킬 수 있는 변수로써, 상술한 코릴레이션을 기반으로 가변시킬 수 있다.
도 14는 본 발명의 일실시예에 따른 난수 생성 방법의 흐름도이다.
도 14를 참조하면, 본 발명의 일실시예에 따른 난수 생성 장치를 통하여 난수를 생성하는 방법에 있어서, 먼저 플로팅(Floating) 상태인 입력단자에 상응하는 플로팅 신호를 샘플링주기에 따라 샘플링하여 샘플링 신호를 생성한다(S1401).
이 때, 단계(S1401)는, 축차 비교 레지스터(Successive Approximation Register; SAR)를 통하여 상기 샘플링 신호를 생성할 수 있다.
이 때, 단계(S1401)는, 상기 플로팅 신호를 입력으로 커패시터를 통해 상기 샘플링주기에 따라 충전과 방출을 반복하여 상기 샘플링 신호를 생성할 수 있다.
이 때, 상기 샘플링주기는, 상기 입력단자가 플로팅되지 않는 경우에 상응하는 제1 주기보다 짧은 제2 주기로 설정될 수 있다.
또한, 본 발명의 일실시예에 따른 난수 생성 방법은 상기 샘플링 신호를 디지털 비트값으로 변환한다(S1403).
또한, 본 발명의 일실시예에 따른 난수 생성 방법은 상기 디지털 비트값을 기반으로 난수를 생성한다(S1405).
또한, 본 발명의 일실시예에 따른 난수 생성 방법은 디지털 비트값들을 저장하는 단계 및 상기 디지털 비트값들 사이의 코릴레이션(Correlation)을 산출하는 단계를 더 포함할 수 있다.
이 때, 상기 샘플링주기는, 상기 코릴레이션에 기반하여 가변될 수 있다.
또한, 본 발명의 일실시예에 따른 난수 생성 방법은 상기 코릴레이션이 기설정된 임계값을 초과하면 상기 입력단자에 리셋 전압을 인가하는 단계를 더 포함할 수 있다.
이 때, 단계(S1405)는, 상기 디지털 비트값의 비트수보다 작은 비트수를 갖도록 상기 난수를 생성할 수 있다.
이 때, 단계(S1405)는, 상기 난수의 비트수가 상기 코릴레이션에 따라 가변되도록 상기 난수를 생성할 수 있다.
또한, 본 발명의 일실시예에 따른 난수 생성 방법은, 상기 플로팅 신호를 증폭시키는 단계를 더 포함할 수 있다.
이 때, 상기 증폭시키는 단계는, 상기 코릴레이션을 기반으로 증폭량을 가변시켜, 상기 플로팅 신호를 증폭시킬 수 있다.
도 15은 본 발명의 일실시예에 따른 컴퓨터 시스템을 나타낸 도면이다.
도 15을 참조하면, 본 발명의 실시예는 컴퓨터로 읽을 수 있는 기록매체와 같은 컴퓨터 시스템에서 구현될 수 있다. 도 15에 도시된 바와 같이, 컴퓨터 시스템(1500)은 버스(1520)를 통하여 서로 통신하는 하나 이상의 프로세서(1510), 메모리(1530), 사용자 인터페이스 입력 장치(1540), 사용자 인터페이스 출력 장치(1550) 및 스토리지(1560)를 포함할 수 있다. 또한, 컴퓨터 시스템(1500)은 네트워크(1580)에 연결되는 네트워크 인터페이스(1570)를 더 포함할 수 있다. 프로세서(1510)는 중앙 처리 장치 또는 메모리(1530)나 스토리지(1560)에 저장된 프로세싱 인스트럭션들을 실행하는 반도체 장치일 수 있다. 메모리(1530) 및 스토리지(1560)는 다양한 형태의 휘발성 또는 비휘발성 저장 매체일 수 있다. 예를 들어, 메모리는 ROM(1531)이나 RAM(1532)을 포함할 수 있다.
따라서, 본 발명의 실시예는 컴퓨터로 구현된 방법이나 컴퓨터에서 실행 가능한 명령어들이 기록된 비일시적인 컴퓨터에서 읽을 수 있는 매체로 구현될 수 있다. 컴퓨터에서 읽을 수 있는 명령어들이 프로세서에 의해서 수행될 때, 컴퓨터에서 읽을 수 있는 명령어들은 본 발명의 적어도 한 가지 측면에 따른 방법을 수행할 수 있다.
이상에서와 같이 본 발명에 따른 난수 생성 장치 및 방법은 상기한 바와 같이 설명한 실시예들의 구성과 방법이 한정되게 적용될 수 있는 것이 아니라, 상기 실시예들은 다양한 변형이 이루어질 수 있도록 각 실시예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다.
100, 211 : 난수 생성 장치
110 : 플로팅 신호
120 : 난수
210 : 입력단자
220 : 샘플링부
230 : 디지털 변환부
240 : 난수 생성부

Claims (24)

  1. 플로팅(Floating) 상태로 유지되는 입력단자;
    상기 입력단자에 상응하는 플로팅 신호를 샘플링주기에 따라 샘플링하여 샘플링 신호를 생성하는 샘플링부;
    상기 샘플링 신호를 디지털 비트값으로 변환하는 디지털변환부;
    상기 디지털 비트값을 기반으로 난수를 생성하는 난수 생성부; 및
    디지털 비트값들을 저장하고, 상기 디지털 비트값들 사이의 코릴레이션(Correlation)을 계산하는 코릴레이션 산출부;
    를 포함하고,
    상기 난수 생성부는
    상기 난수의 비트수가 상기 코릴레이션에 따라 가변되도록 상기 난수를 생성하는 것을 특징으로 하는 난수 생성 장치.
  2. 청구항 1에 있어서,
    상기 디지털변환부는,
    축차 비교 레지스터(Successive Approximation Register; SAR)를 통하여 상기샘플링 신호를 상기 디지털 비트값으로 변환하는 것을 특징으로 하는 난수 생성 장치.
  3. 청구항 2에 있어서,
    상기 샘플링부는,
    상기 플로팅 신호를 입력으로, 커패시터를 통해 상기 샘플링주기에 따라 충전과 방출을 반복하여 상기 샘플링 신호를 생성하는 것을 특징으로 하는 난수 생성 장치.
  4. 청구항 1에 있어서,
    상기 샘플링주기는,
    상기 입력단자가 플로팅되지 않는 경우에 상응하는 제1 주기보다 짧은 제2 주기로 설정되는 것을 특징으로 하는 난수 생성 장치.
  5. 삭제
  6. 청구항 1에 있어서,
    상기 코릴레이션에 기반하여 상기 샘플링주기를 조절하는 샘플링주기 조절부; 를 더 포함하는 것을 특징으로 하는 난수 생성 장치.
  7. 청구항 1에 있어서,
    상기 코릴레이션이 기설정된 임계값을 초과하면 상기 입력단자에 리셋 전압을 인가하는 리셋부; 를 더 포함하는 것을 특징으로 하는 난수 생성 장치.
  8. 청구항 1에 있어서,
    상기 난수 생성부는,
    상기 디지털 비트값의 비트수보다 작은 비트수를 갖도록 상기 난수를 생성하는 것을 특징으로 하는 난수 생성 장치.
  9. 삭제
  10. 청구항 1에 있어서,
    상기 플로팅 신호를 증폭시키는 신호증폭부; 를 더 포함하는 것을 특징으로 하는 난수 생성 장치.
  11. 청구항 10에 있어서,
    상기 신호증폭부는,
    상기 코릴레이션을 기반으로 증폭량을 가변시켜, 상기 플로팅 신호를 증폭시키는 것을 특징으로 하는 난수 생성 장치.
  12. 청구항 3에 있어서,
    상기 샘플링부에 상응하는 입력 커패시턴스를 조절하는 입력 커패시턴스 조절부; 를 더 포함하는 것을 특징으로 하는 난수 생성 장치.
  13. 청구항 12에 있어서,
    상기 입력 커패시턴스 조절부는,
    상기 커패시터와 접지 사이에 연결되는 부가 커패시터를 포함하는 것을 특징으로 하는 난수 생성 장치.
  14. 난수 생성 장치를 통하여 난수를 생성하는 방법에 있어서,
    플로팅(Floating) 상태인 입력단자에 상응하는 플로팅 신호를 샘플링주기에 따라 샘플링하여 샘플링 신호를 생성하는 단계;
    상기 샘플링 신호를 디지털 비트값으로 변환하는 단계;
    상기 디지털 비트값을 기반으로 난수를 생성하는 단계; 및
    디지털 비트값들을 저장하는 단계; 및
    상기 디지털 비트값들 사이의 코릴레이션(Correlation)을 산출하는 단계;
    를 포함하고,
    상기 난수를 생성하는 단계는
    상기 난수의 비트수가 상기 코릴레이션에 따라 가변되도록 상기 난수를 생성하는 것을 특징으로 하는 난수 생성 방법.
  15. 청구항 14에 있어서,
    상기 디지털 비트값으로 변환하는 단계는,
    축차 비교 레지스터(Successive Approximation Register; SAR)를 통하여 상기 샘플링 신호를 상기 디지털 비트값으로 변환하는 것을 특징으로 하는 난수 생성 방법.
  16. 청구항 15에 있어서,
    상기 샘플링 신호를 생성하는 단계는,
    상기 플로팅 신호를 입력으로 커패시터를 통해 상기 샘플링주기에 따라 충전과 방출을 반복하여 상기 샘플링 신호를 생성하는 것을 특징으로 하는 난수 생성 방법.
  17. 청구항 14에 있어서,
    상기 샘플링주기는,
    상기 입력단자가 플로팅되지 않는 경우에 상응하는 제1 주기보다 짧은 제2 주기로 설정되는 것을 특징으로 하는 난수 생성 방법.
  18. 삭제
  19. 청구항 14에 있어서,
    상기 샘플링주기는,
    상기 코릴레이션에 기반하여 가변되는 것을 특징으로 하는 난수 생성 방법.
  20. 청구항 14에 있어서,
    상기 코릴레이션이 기설정된 임계값을 초과하면 상기 입력단자에 리셋 전압을 인가하는 단계; 를 더 포함하는 것을 특징으로 하는 난수 생성 방법.
  21. 청구항 14에 있어서,
    상기 난수를 생성하는 단계는,
    상기 디지털 비트값의 비트수보다 작은 비트수를 갖도록 상기 난수를 생성하는 것을 특징으로 하는 난수 생성 방법.
  22. 삭제
  23. 청구항 14에 있어서,
    상기 플로팅 신호를 증폭시키는 단계; 를 더 포함하는 것을 특징으로 하는 난수 생성 방법.
  24. 청구항 23에 있어서,
    상기 증폭시키는 단계는,
    상기 코릴레이션을 기반으로 증폭량을 가변시켜, 상기 플로팅 신호를 증폭시키는 것을 특징으로 하는 난수 생성 방법.
KR1020200064539A 2020-05-28 2020-05-28 난수 생성 장치 및 방법 KR102366678B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200064539A KR102366678B1 (ko) 2020-05-28 2020-05-28 난수 생성 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200064539A KR102366678B1 (ko) 2020-05-28 2020-05-28 난수 생성 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20210147387A KR20210147387A (ko) 2021-12-07
KR102366678B1 true KR102366678B1 (ko) 2022-02-25

Family

ID=78868221

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200064539A KR102366678B1 (ko) 2020-05-28 2020-05-28 난수 생성 장치 및 방법

Country Status (1)

Country Link
KR (1) KR102366678B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023075550A1 (ko) 2021-10-29 2023-05-04 주식회사 엘지에너지솔루션 황-탄소 복합체를 포함하는 양극 및 이를 포함하는 리튬 이온 이차 전지

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001305164A (ja) * 2000-04-24 2001-10-31 Iwatsu Electric Co Ltd アナログ絶縁回路
JP3476167B2 (ja) * 1995-12-20 2003-12-10 松下電器産業株式会社 乱数生成器および乱数生成方法
KR101127550B1 (ko) * 2010-01-20 2012-03-23 주식회사 애트랩 신호 커플링을 이용한 커패시턴스 측정 회로, 이 회로를 구비하는 입력 장치, 및 커패시턴스 측정 방법
KR101253224B1 (ko) * 2011-08-05 2013-04-16 고려대학교 산학협력단 아날로그 디지털 변환기

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100806151B1 (ko) 2001-02-07 2008-02-22 에프디케이 가부시키가이샤 난수 발생 장치 및 확률 발생 장치

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3476167B2 (ja) * 1995-12-20 2003-12-10 松下電器産業株式会社 乱数生成器および乱数生成方法
JP2001305164A (ja) * 2000-04-24 2001-10-31 Iwatsu Electric Co Ltd アナログ絶縁回路
KR101127550B1 (ko) * 2010-01-20 2012-03-23 주식회사 애트랩 신호 커플링을 이용한 커패시턴스 측정 회로, 이 회로를 구비하는 입력 장치, 및 커패시턴스 측정 방법
KR101253224B1 (ko) * 2011-08-05 2013-04-16 고려대학교 산학협력단 아날로그 디지털 변환기

Also Published As

Publication number Publication date
KR20210147387A (ko) 2021-12-07

Similar Documents

Publication Publication Date Title
US10158369B2 (en) A/D converter
US10778237B2 (en) Method and circuit for noise shaping SAR analog-to-digital converter
US10250277B1 (en) SAR-type analog-digital converter using residue integration
US7501965B2 (en) Correcting for errors that cause generated digital codes to deviate from expected values in an ADC
EP2993789A1 (en) Efficient analog to digital converter
EP2706666A1 (en) Circuit for digitizing a sum of signals
CN103049243B (zh) 真随机数产生方法及其装置
US9325341B2 (en) Excess loop delay compensation (ELC) for an analog to digital converter (ADC)
US11070225B2 (en) Successive approximation register (SAR) analog to digital converter (ADC) with overlapping reference voltage ranges
KR102366678B1 (ko) 난수 생성 장치 및 방법
EP1182781A3 (en) Multistage converter employing digital dither
JP2012191412A (ja) A/dコンバータの試験装置および試験方法
US10491232B1 (en) Successive approximation register (SAR) analog to digital converter (ADC) dynamic range extension
US20090174585A1 (en) System and method for converting analog values into digital form
US9276599B2 (en) Method and apparatus for non-uniform analog-to-digital conversion
US20160204794A1 (en) Efficient Dithering Technique for Sigma-Delta Analog-to-Digital Converters
Mafi et al. A statistics-based digital background calibration technique for pipelined ADCs
JP2011066619A (ja) Ad変換器
Huang et al. A new algorithm for an incremental sigma-delta converter reconstruction filter
CN110739971A (zh) Adc采样点采样电压的确定方法、装置、设备及介质
KR20140000365A (ko) 아날로그 입력신호 범위 확장을 통한 데이터 변환이 가능한 파이프라인 아날로그-디지털 변환기
Thirrunavukkarasu et al. Design Of Sar-Adc Based Mixed Signal Architecture For Low Power Application
Sunil et al. An asynchronous analog to digital converter for video camera applications
GB2255245A (en) Ultra linear spectroscopic analog-to-digital converter
KR100932388B1 (ko) 파이프라인 구조의 아날로그-디지털 변환기에서 옵셋전압을 순차적으로 제거하는 단계적 변환 장치 및 옵셋전압 제거 방법

Legal Events

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