KR102489804B1 - Method for generating random number using spad - Google Patents

Method for generating random number using spad Download PDF

Info

Publication number
KR102489804B1
KR102489804B1 KR1020200175298A KR20200175298A KR102489804B1 KR 102489804 B1 KR102489804 B1 KR 102489804B1 KR 1020200175298 A KR1020200175298 A KR 1020200175298A KR 20200175298 A KR20200175298 A KR 20200175298A KR 102489804 B1 KR102489804 B1 KR 102489804B1
Authority
KR
South Korea
Prior art keywords
value
tdc
random number
noise
control unit
Prior art date
Application number
KR1020200175298A
Other languages
Korean (ko)
Other versions
KR20220085329A (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 KR1020200175298A priority Critical patent/KR102489804B1/en
Publication of KR20220085329A publication Critical patent/KR20220085329A/en
Application granted granted Critical
Publication of KR102489804B1 publication Critical patent/KR102489804B1/en

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
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01JMEASUREMENT OF INTENSITY, VELOCITY, SPECTRAL CONTENT, POLARISATION, PHASE OR PULSE CHARACTERISTICS OF INFRARED, VISIBLE OR ULTRAVIOLET LIGHT; COLORIMETRY; RADIATION PYROMETRY
    • G01J1/00Photometry, e.g. photographic exposure meter
    • G01J1/42Photometry, e.g. photographic exposure meter using electric radiation detectors
    • G01J1/44Electric circuits
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01JMEASUREMENT OF INTENSITY, VELOCITY, SPECTRAL CONTENT, POLARISATION, PHASE OR PULSE CHARACTERISTICS OF INFRARED, VISIBLE OR ULTRAVIOLET LIGHT; COLORIMETRY; RADIATION PYROMETRY
    • G01J1/00Photometry, e.g. photographic exposure meter
    • G01J1/42Photometry, e.g. photographic exposure meter using electric radiation detectors
    • G01J1/44Electric circuits
    • G01J2001/4413Type
    • G01J2001/442Single-photon detection or photon counting

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Optical Radar Systems And Details Thereof (AREA)
  • Light Receiving Elements (AREA)

Abstract

본 발명은 단일광자검출기를 이용한 난수 생성 방법에 관한 것으로, 제어부가 단일광자검출기를 동작시켜 TDC(Time to Digital Converter)값을 획득하는 단계, 상기 제어부가 획득된 TDC값이 노이즈인지 여부를 판단하는 단계 및 상기 획득된 TDC값이 노이즈인 것으로 판단되면, 상기 제어부가 난수를 생성하도록 상기 획득된 TDC값을 난수 생성기로 전달하는 단계를 포함하는 것을 특징으로 한다.The present invention relates to a random number generation method using a single photon detector, wherein a control unit operates a single photon detector to obtain a TDC (Time to Digital Converter) value, and the control unit determines whether the obtained TDC value is noise. and transmitting the obtained TDC value to a random number generator so that the control unit generates a random number when it is determined that the obtained TDC value is noise.

Description

단일광자검출기를 이용한 난수 생성 방법{METHOD FOR GENERATING RANDOM NUMBER USING SPAD}Random number generation method using single photon detector {METHOD FOR GENERATING RANDOM NUMBER USING SPAD}

본 발명은 단일광자검출기를 이용한 난수 생성 방법에 관한 것으로, 보다 상세하게는 단일광자검출기에서 발생하는 노이즈를 이용하여 진성 난수(True Random Number)를 생성하는 방법에 관한 것이다.The present invention relates to a method for generating a random number using a single photon detector, and more particularly, to a method for generating a true random number using noise generated by a single photon detector.

데이터를 암호화하거나 통신 보안 등에 있어서 많은 암호화 알고리즘이 사용되고 있으며, 이러한 암호화 알고리즘은 많은 경우에 난수를 이용하여 암호화를 수행한다.Many encryption algorithms are used in data encryption or communication security, and these encryption algorithms perform encryption using random numbers in many cases.

난수는 크게 진성 난수(True Random Number)와 의사 난수(Pseudo Random Number)로 나누어 지는데, 진성 난수는 양자역학적 특성을 사용하여 물리적으로 무작위한 값을 얻는 회로 등을 활용하여 획득되는 난수로 완전한 무작위성을 가질 수 있으나, 해당 값을 얻기 위한 하드웨어적 구성이 복잡해진다는 단점이 있다.Random numbers are largely divided into true random numbers and pseudo random numbers. True random numbers are random numbers obtained by using a circuit that obtains a physically random value using quantum mechanical properties, and is completely random. However, there is a disadvantage that the hardware configuration to obtain the corresponding value becomes complicated.

의사 난수의 경우 알고리즘을 통하여 난수를 생성하는 방식으로 주로 컴퓨터 장치를 통해 값을 연산하여 획득되는 난수로 비교적 간단하게 생성할 수 있으나, 근본적으로 난수 예측이 가능할 수 있다는 보안상의 단점이 존재한다.In the case of a pseudorandom number, a random number can be generated relatively simply with a random number obtained by calculating a value mainly through a computer device in a method of generating a random number through an algorithm, but fundamentally, there is a security disadvantage that a random number can be predicted.

한편 단일광자검출기(SPAD : Single-Photon Avalanche Diode)는 빛을 감지하는 목적으로 고안된 반도체 소자로 최근에는 차량에 탑재되는 라이더(LiDAR) 등에서 사용되어 물체까지의 거리를 측정하는데 활용되고 있다.On the other hand, single-photon avalanche diode (SPAD) is a semiconductor device designed to detect light and has recently been used in LiDAR mounted on vehicles to measure distances to objects.

한편 본 발명의 배경기술은 대한민국 공개특허 10--2014-0045235호(2014.04.16)에 개시되어 있다. Meanwhile, the background art of the present invention is disclosed in Republic of Korea Patent Publication No. 10--2014-0045235 (2014.04.16).

본 발명은 단일광자검출기에서 발생하는 노이즈를 이용하여 진성 난수를 생성할 수 있도록 하는 단일광자검출기를 이용한 난수 생성 방법을 제공하는데 그 목적이 있다.An object of the present invention is to provide a method for generating a random number using a single photon detector that can generate a true random number using noise generated by the single photon detector.

본 발명에 따른 단일광자검출기를 이용한 난수 생성 방법은 제어부가 단일광자검출기를 동작시켜 TDC(Time to Digital Converter)값을 획득하는 단계; 상기 제어부가 획득된 TDC값이 노이즈인지 여부를 판단하는 단계; 및 상기 획득된 TDC값이 노이즈인 것으로 판단되면, 상기 제어부가 난수를 생성하도록 상기 획득된 TDC값을 난수 생성기로 전달하는 단계를 포함하는 것을 특징으로 한다.A random number generation method using a single photon detector according to the present invention includes the steps of obtaining a Time to Digital Converter (TDC) value by operating a single photon detector by a control unit; determining, by the control unit, whether the obtained TDC value is noise; and transmitting, by the control unit, the obtained TDC value to a random number generator when it is determined that the obtained TDC value is noise.

본 발명에 따른 단일광자검출기를 이용한 난수 생성 방법은 단일광자검출기에서 발생하는 노이즈에 기초하여 난수를 생성할 수 있도록 함으로써, 단일광자검출기가 구비된 장치에 있어서 진성 난수 생성을 위한 하드웨어 구성의 부가 없이 난수를 생성할 수 있도록 하는 효과가 있다.The random number generation method using a single photon detector according to the present invention enables a random number to be generated based on noise generated by the single photon detector, so that a device equipped with a single photon detector does not need hardware configuration for generating a true random number. It has the effect of being able to generate random numbers.

도 1은 본 발명의 일 실시예에 따른 단일광자검출기를 이용한 난수 생성 방법이 수행되는 장치를 나타낸 블록구성도이다.
도 2는 본 발명의 일 실시예에 따른 단일광자검출기를 이용한 난수 생성 방법을 설명하기 위한 흐름도이다.
도 3은 본 발명의 일 실시예에 따른 단일광자검출기를 이용한 난수 생성 방법을 설명하기 위한 예시도이다.
도 4는 본 발명의 일 실시예에 따른 단일광자검출기를 이용한 난수 생성 방법을 설명하기 위한 다른 흐름도이다.
1 is a block diagram showing a device in which a random number generation method using a single photon detector according to an embodiment of the present invention is performed.
2 is a flowchart illustrating a random number generation method using a single photon detector according to an embodiment of the present invention.
3 is an exemplary diagram for explaining a random number generation method using a single photon detector according to an embodiment of the present invention.
4 is another flowchart illustrating a random number generation method using a single photon detector according to an embodiment of the present invention.

이하, 첨부된 도면을 참조하여 본 발명에 따른 단일광자검출기를 이용한 난수 생성 방법의 일 실시예를 설명한다. 이 과정에서 도면에 도시된 선들의 두께나 구성요소의 크기 등은 설명의 명료성과 편의상 과장되게 도시되어 있을 수 있다. 또한, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례에 따라 달라질 수 있다. 그러므로, 이러한 용어들에 대한 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.Hereinafter, an embodiment of a random number generation method using a single photon detector according to the present invention will be described with reference to the accompanying drawings. In this process, the thickness of lines or the size of components shown in the drawings may be exaggerated for clarity and convenience of explanation. In addition, terms to be described later are terms defined in consideration of functions in the present invention, which may vary according to the intention or custom of a user or operator. Therefore, definitions of these terms will have to be made based on the content throughout this specification.

도 1은 본 발명의 일 실시예에 따른 단일광자검출기를 이용한 난수 생성 방법이 수행되는 장치를 나타낸 블록구성도이다.1 is a block diagram showing a device in which a random number generation method using a single photon detector according to an embodiment of the present invention is performed.

도 1에 도시된 것과 같이, 본 발명의 일 실시예에 따른 단일광자검출기를 이용한 난수 생성 방법은 제어부(100), SPAD(200) 및 난수 생성기(300)로 구성된 시스템에 의해 수행될 수 있다.As shown in FIG. 1 , a random number generation method using a single photon detector according to an embodiment of the present invention may be performed by a system including a controller 100 , a SPAD 200 and a random number generator 300 .

제어부(100)는 SPAD(200)의 동작을 제어하고 난수 생성을 위한 값을 획득하도록 구성될 수 있다.The control unit 100 may be configured to control the operation of the SPAD 200 and acquire values for generating random numbers.

예를 들어, 차량에 탑재된 라이더 시스템을 활용하는 경우에 제어부(100)는 라이더 시스템에 포함된 제어 유닛(ECU, 프로세서 등)에 해당될 수 있으며, 이러한 경우에 SPAD(200)를 제어하는 구성은 난수를 생성하기 위한 것이 아니라 라이더의 동작을 위한 것이다. 즉, 차량에 이미 탑재된 시스템 구성에서 난수 생성을 위한 값을 획득하는 구성만을 부가하여 하드웨어적으로 진성 난수를 생성할 수 있도록 한다.For example, in the case of utilizing a lidar system mounted on a vehicle, the control unit 100 may correspond to a control unit (ECU, processor, etc.) included in the lidar system, and in this case, a configuration for controlling the SPAD 200. is not for generating random numbers, but for rider motion. That is, a true random number can be generated in hardware by adding only a configuration for obtaining a value for generating a random number in a system configuration already installed in a vehicle.

이러한 제어부(100)는 SPAD(200)의 동작을 위한 FPGA(field programmable gate array), 메모리, ADC(analog-digital converter) 등의 구성을 포함할 수 있으며, 난수 생성을 위한 값을 획득하는 동작은 소프트웨어 또는 하드웨어적으로 제어부(100) 내에 구현될 수 있다.The controller 100 may include components such as a field programmable gate array (FPGA), a memory, and an analog-digital converter (ADC) for the operation of the SPAD 200, and an operation of obtaining a value for generating a random number It may be implemented in the control unit 100 in terms of software or hardware.

난수 생성기(300)는 제어부(100)에서 전달된 값에 기초하여 난수를 생성할 수 있다. 난수 생성기(300)는 제어부(100)에서 전달된 값을 누적 저장하고 출력하는 FIFO(First In First Out) 버퍼 등을 포함할 수 있으며, 실시예에 따라 시드 생성기를 구비하여 FIFO에서 출력된 값을 시드값으로 생성하고, 생성된 시드값을 이용하여 난수를 생성하는 방식의 구현이나, FIFO에서 출력된 값을 곧바로 난수로서 생성하는 방식의 구현 등이 가능할 것이다.The random number generator 300 may generate a random number based on a value transmitted from the control unit 100 . The random number generator 300 may include a first in first out (FIFO) buffer that accumulates and stores values transmitted from the controller 100 and outputs them. It will be possible to implement a method of generating a seed value and generating a random number using the generated seed value, or a method of directly generating a random number from a value output from the FIFO.

한편 시드값에 따라 난수를 생성하는 방식/구조/시스템 등은 이미 알려진 많은 방식/구조/시스템 등이 존재하고, 해당되는 방식 중 하나를 채용하여 구현될 수 있으므로, 더 자세한 설명은 생략하기로 한다.On the other hand, there are many known methods/structures/systems for generating random numbers according to seed values, and since there are many known methods/structures/systems that can be implemented by adopting one of the corresponding methods, a detailed description will be omitted. .

도 2는 본 발명의 일 실시예에 따른 단일광자검출기를 이용한 난수 생성 방법을 설명하기 위한 흐름도이고, 도 3은 본 발명의 일 실시예에 따른 단일광자검출기를 이용한 난수 생성 방법을 설명하기 위한 예시도이며, 도 4는 본 발명의 일 실시예에 따른 단일광자검출기를 이용한 난수 생성 방법을 설명하기 위한 다른 흐름도로서, 이를 참조하여 단일광자검출기를 이용한 난수 생성 방법을 설명하면 다음과 같다.2 is a flowchart illustrating a random number generation method using a single photon detector according to an embodiment of the present invention, and FIG. 3 is an example for explaining a random number generation method using a single photon detector according to an embodiment of the present invention. FIG. 4 is another flowchart for explaining a random number generation method using a single photon detector according to an embodiment of the present invention. Referring to this flowchart, the random number generation method using a single photon detector will be described as follows.

도 2에 도시된 것과 같이, 제어부(100)는 먼저 SPAD(200) 동작시켜(S100), 픽셀별 TDC 데이터를 저장한다(S110).As shown in FIG. 2 , the control unit 100 first operates the SPAD 200 (S100) and stores TDC data for each pixel (S110).

도 3을 참고하여 제어부(100)의 동작을 더 자세히 설명하면 다음과 같다.The operation of the controller 100 will be described in more detail with reference to FIG. 3 as follows.

도 3에 도시된 것과 같이 SPAD(200)를 이용한 정보 검출은 송신부의 동작과 이에 따른 SPAD(200)(수신부)의 감지에 의해 수행되며, 통상적으로 SPAD(200)는 다수의 픽셀을 동시에 검출할 수 있는 어레이의 형태로 구성되나, 각각의 동작은 픽셀별로 수행될 수 있다.As shown in FIG. 3, information detection using the SPAD 200 is performed by the operation of the transmitter and the corresponding detection of the SPAD 200 (receiver). Typically, the SPAD 200 can simultaneously detect multiple pixels. However, each operation may be performed per pixel.

예를 들어, 라이더 시스템의 경우 수직 캐비티 표면 광방출 레이저(VCSEL; vertical-cavity surface-emitting laser)을 송신부로 구성하여 레이저를 방출하며, 물체에 의해 반사되어 수신되는 광자를 SPAD(200)에 의해서 수신하게 된다. 이때 SPAD(200)에 의해 수신되는 값은 광자의 ToF(Time of Flight)이며, 이러한 시간값이 디지털 값으로 변환되어 TDC(Time to Digital Converter)값이 제어부(100)에 의해 획득된다.For example, in the case of a LIDAR system, a vertical-cavity surface-emitting laser (VCSEL) is configured as a transmitter to emit laser, and photons reflected and received by an object are transmitted by the SPAD (200). will receive At this time, the value received by the SPAD 200 is the time of flight (ToF) of the photon, and the time value is converted into a digital value to obtain a time to digital converter (TDC) value by the control unit 100.

그런데, SPAD(200)의 경우 제한적인 Photon Detection Efficiency(PDE)로 인해 검출시에 많은 노이즈가 생성될 수 있으므로, 동작 시에 노이즈의 제거를 위해 하나의 프레임(frame) 구성 시 400~1000개의 인터-프레임(inter-frame)을 검출하고, 이에 대한 누적 히스토그램(histogram)을 얻은 후에 하나의 프레임을 구성할 수 있다.However, in the case of the SPAD 200, since a lot of noise can be generated during detection due to the limited Photon Detection Efficiency (PDE), 400 to 1000 interfaces are used when configuring one frame to remove noise during operation. - One frame can be configured after detecting an inter-frame and obtaining a cumulative histogram for it.

즉, 복수회의 인터-프레임별 검출값은 제어부(100)에 누적 저장되는데, 이때 제어부(100)는 각각의 TDC값을 해당 TDC값의 누적 카운트 값과 매칭시켜 저장할 수 있다. 예를 들어, 도 3의 히스토그램에 도시된 것과 같이 인터-프레임 전체에 대한 각각의 TDC값을 카운트 값과 매칭시켜 저장하면, 각각의 TDC값별 발생 빈도를 확인할 수 있고, 가장 많이 발생한 TDC값이나 검출치 이상 카운트된 TDC값을 해당 프레임의 픽셀값으로 결정할 수 있다.That is, a plurality of inter-frame detection values are accumulated and stored in the control unit 100. At this time, the control unit 100 may store each TDC value by matching it with the accumulated count value of the corresponding TDC value. For example, as shown in the histogram of FIG. 3, if each TDC value for the entire inter-frame is matched with a count value and stored, the frequency of occurrence for each TDC value can be confirmed, and the most frequently occurring TDC value or detection A TDC value counted at or above the TDC value may be determined as a pixel value of a corresponding frame.

한편 도 3의 히스토그램에 도시된 것과 같이, 이러한 하나의 프레임의 도출과정에서 노이즈에 의해 발생한 TDC값이 존재하며, 이들은 열적(Thermal) 효과 또는 양자 효과(Quantum effect)로 발생된 노이즈이므로, 완전히 무작위적인 값에 해당된다. 따라서 이러한 노이즈를 활용하여 진성 난수를 생성할 수 있다.On the other hand, as shown in the histogram of FIG. 3, there are TDC values generated by noise in the process of deriving one frame, and since they are noise generated by thermal or quantum effects, they are completely random. corresponds to an approximate value. Therefore, it is possible to generate a true random number using this noise.

즉, 하나의 프레임 생성 과정에서 TDC값이 계속해서 획득되며, 이러한 값은 실제 검출값이거나 노이즈에 해당된다.That is, TDC values are continuously obtained in the process of generating one frame, and these values correspond to actual detection values or noise.

따라서 제어부(100)는 하나의 프레임 생성 과정에서 카운트 값이 변경된 TDC값(즉, 새로 수신된 TDC값)을 획득하고, 해당하는 값이 노이즈에 해당되는지를 판단(S120)하여 난수 생성을 위한 값으로 활용할 수 있다. Therefore, the control unit 100 acquires a TDC value whose count value is changed (ie, a newly received TDC value) in the process of generating one frame, determines whether the corresponding value corresponds to noise (S120), and determines the value for generating a random number can be utilized as

이때 제어부(100)는 획득된 TDC값의 카운트 값이 설정된 임계값 이내인 경우에 해당 TDC값을 노이즈라고 판단할 수 있다.At this time, the control unit 100 may determine that the TDC value is noise when the count value of the obtained TDC value is within a set threshold value.

도 4를 참고하여 이러한 임계값 생성을 더 자세히 살펴보면 다음과 같다. 제어부(100)가 SPAD(200) 동작시켜(S200), 픽셀별 TDC 데이터를 저장하는 것(S210)은 도 2와 동일하다.Referring to FIG. 4, the generation of the threshold will be described in more detail as follows. The control unit 100 operates the SPAD 200 (S200) and stores the TDC data for each pixel (S210) in the same manner as in FIG. 2 .

이어서 제어부(100)는 임계값 설정 기준이 충족되었는지 판단한다(S220). 예를 들어, 제어부(100)는 검출된 인터-프레임의 개수가 설정치에 도달하면 임계값 설정 기준이 충족되었는지 판단할 수 있다. 여기서 설정치는 전체 인터-프레임의 개수보다 작은 값으로, 예를 들어, 인터-프레임의 개수의 1/2 등으로 설계될 수 있다.Next, the control unit 100 determines whether the threshold setting criterion is satisfied (S220). For example, the controller 100 may determine whether a criterion for setting a threshold is satisfied when the number of detected inter-frames reaches a set value. Here, the set value may be designed as a value smaller than the total number of inter-frames, for example, 1/2 of the number of inter-frames.

즉, 본 실시예에서 임계값 설정은 하나의 프레임 생성 과정에서 수행될 수 있으며, 임계값이 설정된 이후에 새로이 획득된 TDC값만이 노이즈에 해당되는지 판별되어 난수 생성기(300)로 전달되도록 구성될 수 있다.That is, in this embodiment, threshold value setting may be performed in the process of generating one frame, and after the threshold value is set, only newly acquired TDC values may be determined as noise and transmitted to the random number generator 300. there is.

임계값 설정 기준이 충족되면, 제어부(100)는 누적 저장된 TDC값별 카운트 값에 기초하여 노이즈 판단을 위한 임계값을 설정한다(S230).When the threshold value setting criterion is satisfied, the controller 100 sets a threshold value for determining noise based on the count value for each accumulated and stored TDC value (S230).

예를 들어, 제어부(100)는 누적 저장된 TDC값별 카운트 값 중 가장 높은 카운트 값에 기초하여 임계값을 설정할 수 있다. 즉, 하나의 프레임을 생성하기 위해 복수회의 인터-프레임을 검출하는 과정에서 설정치 이상으로 검출을 반복하면 실제 검출치에 해당될 수 있는 TDC값은 통상적으로 가장 높은 카운트 값을 가질 것이다. For example, the control unit 100 may set the threshold value based on the highest count value among the count values for each accumulated and stored TDC value. That is, if detection is repeated more than a set value in a process of detecting a plurality of inter-frames to generate one frame, a TDC value that may correspond to an actual detection value will typically have the highest count value.

따라서 이러한 실제 검출치에 해당되는 값을 제외하기 위해 가장 높은 카운트 값을 임계치로 설정하면, 후속하여 검출되는 TDC값 중 실제 검출치에 해당되는 값은 임계값보다 높은 카운트 값을 가지므로 노이즈로 검출되지 않게 된다. 또는 여러 가지 예외 상황을 고려하여 가장 높은 카운트 값보다 일정 값이 작은 값이나, 가장 높은 카운트 값에 가중치(예: 0.9)를 곱한 값 등을 임계값으로 설정할 수도 있다.Therefore, if the highest count value is set as the threshold in order to exclude the value corresponding to this actual detection value, the value corresponding to the actual detection value among the subsequently detected TDC values has a count value higher than the threshold value, so it is detected as noise will not become Alternatively, a value smaller than the highest count value or a value obtained by multiplying the highest count value by a weight (eg, 0.9) may be set as the threshold value in consideration of various exceptional circumstances.

한편 상기 단계(S120)에서 획득된 TDC값이 노이즈에 해당되는 경우, 제어부(100)는 해당 TDC값을 시드 생성기로 전달한다(S130).Meanwhile, if the TDC value obtained in step S120 corresponds to noise, the control unit 100 transfers the corresponding TDC value to the seed generator (S130).

이어서 시드 생성기는 전달된 TDC값을 FIFO 버퍼에 누적 기록하고, 생성하고자 하는 비트값 따라 버퍼에서 값을 읽어와서 시드값을 생성한다(S140). 즉, TDC값의 비트수와 생성하고자 하는 시드값의 비트수가 일치하지 않을 수 있으므로, TDC값을 FIFO 버퍼에 누적 기록하고, 생성하고자 하는 비트수에 따라 이를 읽어와서 난수 생성을 위한 시드값을 생성할 수 있다.Subsequently, the seed generator accumulates and records the transferred TDC value in the FIFO buffer, reads values from the buffer according to the bit value to be generated, and generates a seed value (S140). That is, since the number of bits of the TDC value and the number of bits of the seed value to be generated may not match, the TDC value is accumulated and recorded in the FIFO buffer, and a seed value for generating a random number is generated by reading it according to the number of bits to be generated. can do.

이후 난수 생성기(300)는 생성된 시드값에 기초하여 난수를 생성한다(S150).Then, the random number generator 300 generates a random number based on the generated seed value (S150).

한편 본 실시예에서는 난수 생성기(300)가 시드 생성기를 포함하여, 시드값 생성 이후에 난수를 생성하는 것으로 설명하였으나, 일부 실시예에서 시드값의 생성 과정 없이, 난수 생성기(300)가 제어부(100)에서 전달된 TDC값을 FIFO 버퍼에 누적 기록하고, 생성하고자 하는 비트값 따라 버퍼에서 값을 읽어와서 난수를 바로 생성하는 방식의 구현도 가능할 것이다.Meanwhile, in this embodiment, it has been described that the random number generator 300 includes a seed generator and generates a random number after generating a seed value. However, in some embodiments, the random number generator 300 operates without generating a seed value. ), it is also possible to implement a method in which the TDC value transmitted from ) is accumulated and recorded in the FIFO buffer, and a random number is immediately generated by reading the value from the buffer according to the bit value to be generated.

본 발명은 도면에 도시된 실시예를 참고로 하여 설명되었으나, 이는 예시적인 것에 불과하며, 당해 기술이 속하는 분야에서 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서 본 발명의 기술적 보호범위는 아래의 특허청구범위에 의해서 정하여져야 할 것이다.The present invention has been described with reference to the embodiments shown in the drawings, but this is only exemplary, and those skilled in the art can make various modifications and equivalent other embodiments. will understand Therefore, the technical protection scope of the present invention should be determined by the claims below.

100: 제어부
200: SPAD
300: 난수 생성기
100: control unit
200: SPAD
300: random number generator

Claims (8)

제어부가 단일광자검출기를 동작시켜 TDC(Time to Digital Converter)값을 획득하는 단계;
상기 제어부가 획득된 TDC값이 노이즈인지 여부를 판단하는 단계; 및
상기 획득된 TDC값이 노이즈인 것으로 판단되면, 상기 제어부가 난수를 생성하도록 상기 획득된 TDC값을 난수 생성기로 전달하는 단계를 포함하고,
상기 TDC 값을 획득하는 단계에서, 상기 제어부는, 하나의 프레임 구성 시 복수회의 인터-프레임을 검출하여, 각각의 TDC값을 해당 TDC값의 누적 카운트 값과 매칭시켜 저장하되,
상기 획득된 TDC값이 노이즈인지 여부를 판단하는 단계에서, 상기 제어부는 카운트 값이 변경된 TDC값을 획득하여 노이즈인지 여부를 판단하며,
상기 획득된 TDC값이 노이즈인지 여부를 판단하는 단계에서, 상기 제어부는 상기 획득된 TDC값의 카운트 값이 임계값 이내인 경우, 상기 획득된 TDC값이 노이즈인 것으로 판단하는 것을 특징으로 하는 단일광자검출기를 이용한 난수 생성 방법.
obtaining a Time to Digital Converter (TDC) value by operating a single photon detector by a control unit;
determining, by the controller, whether the obtained TDC value is noise; and
When it is determined that the obtained TDC value is noise, the control unit transferring the obtained TDC value to a random number generator to generate a random number;
In the step of obtaining the TDC value, the control unit detects a plurality of inter-frames when configuring one frame, matches each TDC value with an accumulated count value of the corresponding TDC value, and stores it,
In the step of determining whether the obtained TDC value is noise, the control unit obtains a TDC value whose count value is changed to determine whether it is noise,
In the step of determining whether the obtained TDC value is noise, the control unit determines that the obtained TDC value is noise when the count value of the obtained TDC value is within a threshold value Single photon, characterized in that Random number generation method using a detector.
삭제delete 삭제delete 제1항에 있어서, 상기 획득된 TDC값이 노이즈인지 여부를 판단하는 단계 전에,
검출된 인터-프레임의 개수가 설정치에 도달하면, 상기 제어부가 누적 저장된 TDC값별 카운트 값에 기초하여 노이즈 판단을 위한 상기 임계값을 설정하는 단계를 더 포함하는 것을 특징으로 하는 단일광자검출기를 이용한 난수 생성 방법.
The method of claim 1, before determining whether the obtained TDC value is noise,
When the number of detected inter-frames reaches a set value, the control unit setting the threshold for noise determination based on the count value for each TDC value accumulated and stored Random number using a single photon detector, characterized in that it further comprises How to create.
제4항에 있어서, 상기 임계값을 설정하는 단계에서, 상기 제어부는 가장 높은 카운트 값에 기초하여 상기 임계값을 설정하는 것을 특징으로 하는 단일광자검출기를 이용한 난수 생성 방법.
5. The method of claim 4, wherein in the step of setting the threshold, the control unit sets the threshold based on the highest count value.
제1항에 있어서, 상기 획득된 TDC값을 난수 생성기로 전달하는 단계 이후,
상기 난수 생성기가 전달된 TDC값을 누적 기록하는 단계; 및
상기 난수 생성기가 누적 기록된 TDC값을 생성하고자 하는 비트값에 따라 읽어와서 난수를 생성하는 단계를 더 포함하는 것을 특징으로 하는 단일광자검출기를 이용한 난수 생성 방법.
The method of claim 1, after passing the obtained TDC value to a random number generator,
Accumulating and recording the transmitted TDC value by the random number generator; and
The method of generating a random number using a single photon detector, characterized in that it further comprises the step of generating a random number by reading the random number generator according to the bit value to generate the cumulatively recorded TDC value.
제6항에 있어서,
상기 난수를 생성하는 단계에서, 상기 난수 생성기는 읽어온 TDC값을 시드값으로 생성하고, 생성된 시드값에 기초하여 난수를 생성하는 것을 특징으로 하는 단일광자검출기를 이용한 난수 생성 방법.
According to claim 6,
In the generating of the random number, the random number generator generates a read TDC value as a seed value, and generates a random number based on the generated seed value.
단일광자검출기(SPAD); 및
상기 단일광자검출기의 동작을 제어하는 제어부를 포함하되,
상기 제어부는 상기 단일광자검출기를 동작시켜 TDC(Time to Digital Converter)값을 획득하고, 획득된 TDC값이 노이즈인지 여부를 판단하며, 상기 획득된 TDC값이 노이즈인 것으로 판단되면, 난수를 생성하도록 상기 획득된 TDC값을 난수 생성기로 전달하고,
상기 제어부는,
상기 TDC 값을 획득할 때, 하나의 프레임 구성 시 복수회의 인터-프레임을 검출하여, 각각의 TDC값을 해당 TDC값의 누적 카운트 값과 매칭시켜 저장하되,
상기 획득된 TDC값이 노이즈인지 여부를 판단할 때 카운트 값이 변경된 TDC값을 획득하여 노이즈인지 여부를 판단하되, 상기 획득된 TDC값의 카운트 값이 임계값 이내인 경우, 상기 획득된 TDC값이 노이즈인 것으로 판단하는 것을 특징으로 하는 단일광자검출기를 이용한 난수 생성 장치.
single photon detector (SPAD); and
Including a control unit for controlling the operation of the single photon detector,
The controller operates the single photon detector to obtain a Time to Digital Converter (TDC) value, determines whether the obtained TDC value is noise, and generates a random number when it is determined that the obtained TDC value is noise. Passing the obtained TDC value to a random number generator;
The control unit,
When obtaining the TDC value, detecting a plurality of inter-frames when configuring one frame, matching each TDC value with the cumulative count value of the corresponding TDC value and storing it,
When determining whether or not the obtained TDC value is noise, a TDC value having a changed count value is acquired to determine whether or not it is noise, but if the count value of the obtained TDC value is within the threshold value, the obtained TDC value is A random number generator using a single photon detector, characterized in that it is determined to be noise.
KR1020200175298A 2020-12-15 2020-12-15 Method for generating random number using spad KR102489804B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200175298A KR102489804B1 (en) 2020-12-15 2020-12-15 Method for generating random number using spad

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200175298A KR102489804B1 (en) 2020-12-15 2020-12-15 Method for generating random number using spad

Publications (2)

Publication Number Publication Date
KR20220085329A KR20220085329A (en) 2022-06-22
KR102489804B1 true KR102489804B1 (en) 2023-01-18

Family

ID=82216225

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200175298A KR102489804B1 (en) 2020-12-15 2020-12-15 Method for generating random number using spad

Country Status (1)

Country Link
KR (1) KR102489804B1 (en)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9542156B2 (en) * 2013-05-15 2017-01-10 Synopsys, Inc. Automatic control system and method for a true random number generator
KR101975125B1 (en) * 2014-07-30 2019-05-03 트렌티노 스빌루뽀 에스. 피. 에이. True random number generator
JP7134988B2 (en) * 2017-03-01 2022-09-12 アウスター インコーポレイテッド Accurate photodetector measurements for lidar

Also Published As

Publication number Publication date
KR20220085329A (en) 2022-06-22

Similar Documents

Publication Publication Date Title
US10341097B2 (en) Communication device, quantum key distribution system, quantum key distribution method, and computer program product
CN109100702B (en) Photoelectric sensor and method for measuring distance to object
US11598856B2 (en) Receiver arrangement for the reception of light impulses, lidar module and method for receiving light impulses
US20200233066A1 (en) Histogram-based signal detection with sub-regions corresponding to adaptive bin widths
US20160028542A1 (en) Method for processing double click event for securing safety in quantum key distribution system
EP3457177A1 (en) Distance measurement apparatus
US10020893B2 (en) Communication device, quantum key distribution system, quantum key distribution method, and computer program product
CN109804271B (en) Power control method, ranging module and electronic device
CN104915178A (en) Optical random number generator and method for generating a random number
US11333765B2 (en) Distance measuring device and method
KR102489804B1 (en) Method for generating random number using spad
WO2020193313A1 (en) Time-of-flight to distance calculator
JP6214993B2 (en) Photoelectric sensor
CN112400705B (en) Pet toilet and detection method thereof
JPWO2019050024A1 (en) Distance measurement method and distance measurement device
CN112255637B (en) Distance measuring system and method
Vornicu et al. ToF estimation based on compressed real-time histogram builder for SPAD image sensors
US20160232679A1 (en) Distance measurement system applicable to different reflecting surfaces and operating method thereof
US20190187257A1 (en) Distance measuring device and method of measuring distance by using the same
US20220138350A1 (en) Method for detecting an unauthorized physical access to a bus system
CN116209921A (en) Method and apparatus for dynamic expansion of a time-of-flight camera system
CN113631956B (en) Time-of-flight distance calculator
CN114341665A (en) Distance measuring device
JP4245956B2 (en) Single photon detection probability setting method
CN115754979B (en) Laser radar control method and device, control chip and laser radar

Legal Events

Date Code Title Description
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
X701 Decision to grant (after re-examination)