CN104915178A - 光学随机数生成器及用于生成随机数的方法 - Google Patents

光学随机数生成器及用于生成随机数的方法 Download PDF

Info

Publication number
CN104915178A
CN104915178A CN201510033111.7A CN201510033111A CN104915178A CN 104915178 A CN104915178 A CN 104915178A CN 201510033111 A CN201510033111 A CN 201510033111A CN 104915178 A CN104915178 A CN 104915178A
Authority
CN
China
Prior art keywords
random number
photon
avalanche diode
photon avalanche
light source
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
CN201510033111.7A
Other languages
English (en)
Other versions
CN104915178B (zh
Inventor
皮尔乔治·萨托
卡劳斯·齐默尔曼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Publication of CN104915178A publication Critical patent/CN104915178A/zh
Application granted granted Critical
Publication of CN104915178B publication Critical patent/CN104915178B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N99/00Subject matter not provided for in other groups of this subclass

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)
  • Optical Communication System (AREA)
  • Light Receiving Elements (AREA)

Abstract

本发明公开了光学随机数生成器及用于生成随机数的方法。该光学随机数生成器包括:光源(2),用于随机地发射光子(9);单光子雪崩二极管阵列(3),用于检测由光源(2)提供的光子(9),其中,单光子雪崩二极管阵列(3)放置在距离光源(2)的预定距离(d)处;以及控制装置(10),耦接至单光子雪崩二极管阵列(3)并且控制装置(10)用于确定由单光子雪崩二极管阵列(3)中的每个单光子雪崩二极管检测出的光子(9)的到达时间,并且基于到达时间生成随机数。

Description

光学随机数生成器及用于生成随机数的方法
技术领域
本公开内容一般涉及光学随机数生成器以及用于生成随机数的方法。
背景技术
随机数在许多应用中是必不可少的。例如,已知的是将随机数用于密码或加密密钥的生成、用于博彩等。
通常情况下,由于伪随机数易于通过执行相应的计算算法而生成,因此伪随机数被用于许多应用中。然而,特别是对于安全性相关的应用,真随机数被越来越多地使用,真随机数是在预计将是随机的物理现象的基础上生成的。
真随机数生成器是已知的。它们基于物理机制,诸如来自环形振荡器的热致抖动,块RAM写入冲撞,并且可以利用例如光学效应。
虽然存在用于生成真随机数的技术,但通常希望提高真随机数的产生。
发明内容
根据第一方面,本公开内容提供了一种光学随机数生成器。光学随机数生成器包括:光源,被配置为随机地发射光子;单光子雪崩二极管阵列,被配置为检测由光源提高的光子,其中,单光子雪崩二极管阵列被放置在距离光源的预定距离处;以及控制装置,耦接至单光子雪崩二极管阵列。控制装置被配置为确定由单光子雪崩二极管阵列中的每个单光子雪崩二极管所检测出的光子的到达时间。控制装置还被配置为基于到达时间生成随机数。
根据第二方面,本公开内容提供了一种用于生成随机数的方法。该方法包括:控制光源随机地发射光子;控制单光子雪崩二极管阵列以检测由光源提供的光子,其中,单光子雪崩二极管阵列被放置在距离光源的预定距离处;确定由单光子雪崩二极管阵列中的每个单光子雪崩二极管所检测出的光子的到达时间;以及基于到达时间生成随机数。
其他方面在从属权利要求、以下书面说明以及附图中进行阐述。
附图说明
通过参照附图的示例方式说明了实施方式,在附图中:
图1a示例性地示出了基于到达时间生成随机数的第一过程;
图1b示例性地示出了基于到达时间生成随机数的第二过程;
图2示意性地示出了真随机数生成器的实施方式;以及
图3示出了用于生成真随机数的方法的流程图。
具体实施方式
在参照图1详细描述实施方式之前,先进行概要说明。
如以上所讨论的,在许多应用中随机数是必须的,例如,用于密码或加密密钥生成、用于博彩等。
如在开始所提到的,由于伪随机数很容易使用可由处理器执行的计算算法来生成,因此伪随机数被用于许多应用中。当使用算法生成伪随机数时,如果所有的种子值是已知的,原则上它们是可被预测的。
与之相反,由于真随机数是基于物理现象的,因此真随机数是不可预测的。
在本实施方式中,光子发射的量子性质被用于生成真随机数。
光学(真)随机数生成器包括:光源,被配置为随机地发射光子;单光子雪崩二极管阵列,被配置为检测由光源提高的光子,其中,单光子雪崩二极管阵列被放置成与光源成预定距离;以及控制装置,耦接至单光子雪崩二极管阵列。控制装置被配置为确定由单光子雪崩二极管阵列的每个单光子雪崩二极管所检测出的光子的到达时间并且基于到达时间生成随机数。
因为发射过程是量子过程,所以光源使用光子的量子性质,并因此预计是随机的。光源可以包括例如辉光灯丝、发光二极管(在下文中还被称为“LED”)、激光二极管、荧光灯或被配置为根据泊松分布(即,随机地并且彼此独立地发射单光子)发射光子的其他光单元。与辉光灯丝相反,发光二极管和激光二极管可以具有在其中发射光子的较小的波长带宽。在光源包括辉光灯丝的情况下,为了缩小发射光子的波长带宽,可以设置滤光器元件等。光源还可以包括多个辉光灯丝、LED、和/或激光二极管或其他合适的光子发射单元。
在一些实施方式中,光源被调谐,即,可以调谐光源的强度和/或波长或者其他参数,使得光源每时间间隔发射具有预定波长或位于波长的预定范围内的预定数量的光子。而且,光源被配置为发射彼此(基本)不相关的光子。例如,在激光二极管的情况下,已知的是,激光二极管的频率噪声可以用于真随机数生成。
单光子雪崩二极管阵列包括多个单光子雪崩二极管(在下文中还被称为“SPAD”)。SPAD可以是固态光探测器(基于半导体的),其中光生载流子由于碰撞电离机制而触发雪崩电流。在一些实施方式中,因为SPAD可以检测单光子并且每个SPAD可以输出所检测的光子的到达时间,因此SPAD可以检测低强度信号。通常,SPAD可输出的所检测的光子的到达时间具有几十皮秒的抖动。
SPAD与雪崩光电二极管类似地利用反向偏置p-n结的雪崩电流来检测入射光子。与用于盖革计数器的情况相似,SPAD可以被具体设计为利用高于击穿电压的反向偏置电压进行操作。该操作模式因此也称与盖革计数器类似的“盖革模式”。因为本领域的技术人员通常已知SPAD以及SPAD阵列,因此在下文中省略了它们更详细的描述。
SPAD阵列(在下文中还被称为SPAD阵列)可以包括至少两个SPAD,但是还可以包括多于两个,例如2乘以2(即,4个)、4乘以4(即,16个)、2乘以4(即,8个)或者其他数量的SPAD。SPAD在SPAD阵列中可以成行成列的排列,其中,可以水平地布置行并且可以垂直地布置列。
SPAD阵列定位成与光源成预定距离,其中,该距离可以是固定的,使得从光源发射的光子传播恒定距离后到达SPAD阵列中的单个SPAD。SPAD阵列可以具有平面形状并且可以布置使得其关于地面垂直,本公开内容不限于垂直布置。光源具有可以比SPAD阵列的直径大(很多)的直径,使得从光源发射的所有光子基本以平行的方式到达SPAD阵列处,并且使得所有光子在光源和SPAD阵列之间传播了基本相同的距离。
每个SPAD一旦检测到光子,就输出到达时间。到达时间可以包括时间值,但是它还可以仅包括指示通过各个SPAD检测的光子的二进制值。在一些实施方式中,SPAD阵列还可以包括表示检测光子的特定的SPAD的数字或坐标。
光学随机数生成器包括耦接至单光子雪崩二极管阵列的控制装置。在下文中,描述了控制装置的功能性。然而,以下说明完全适用于有关用于,例如使用本文中所描述的光学随机数生成器生成(真)量子随机数的方法的实施方式。
控制装置可以包括处理器、微处理器、CPU等,并且它还可以包括以下参照附图所说明的其他单元。
控制装置确定由单光子雪崩二极管阵列中的每个单光子雪崩二极管所检测的光子的到达时间并且基于到达时间生成(真)随机数。
因为所生成的随机数基于光源的光子的随机发射,因此它有望成为真随机数。
SPAD阵列可以通过单个数据线被耦接至控制装置,通过该单个数据线可以将单个SPAD的所有到达时间信号传输至控制装置。可替代地,SPAD阵列的所有SPAD可以使用自己的数据线耦接至控制装置。在又一实施方式中,还实施数据线连接的混合线(mixture)。例如,SPAD阵列中的每行的SPAD经由自己的线被耦接至控制装置等。
通过SPAD阵列传输的到达时间信号可以是模拟的和/或数字的。
可以基于由SPAD阵列中的同一SPAD所检测的和/或由SPAD阵列中的两个不同SPAD所检测的两个不同光子的两个连续的到达时间的时序信息来生成随机数。如以上所讨论的,一旦检测到光子,SPAD阵列中的各个SPAD将到达时间信号传输至控制装置。根据两个连续光子的两个连续到达时间的时间差可以生成随机数。如所提到的,两个连续光子的到达时间可以通过相同的SPAD或通过不同的SPAD来提供。
为了提取由控制装置所确定的到达时间中的比特,以下参照图1a和图1b描述了两个实施方式,其中,本领域的技术人员应认识到,还存在用于基于到达时间生成随机数的其他方法并且本公开内容不限于此。
在定义两个时间间隔的两个实施方式中,其中,通过检测光子和来自各个SPAD的到达时间信号的相关传输来定义每个时间间隔的开始。
在第一时间间隔短(长)于第二时间间隔的情况下生成二进制值“0”并且在第一时间间隔长(短)于第二时间间隔的情况下生成二进制值“1”,从而生成一个比特。通过对随后两个连续时间间隔重复所描述的过程生成下一个比特。随后的两个连续的时间间隔可与前两个时间间隔直接连续和/或可以在它们之间存在至少一个另外时间间隔。
在第一实施方式中,如图1a中所示,第一时间间隔t1以由SPAD所检测的第一光子的到达为开始。所检测的光子通过标记为图1a中的“E1”的第一到达时间信号示出,第一到达时间信号从检测到该光子的SPAD传输至控制装置。一旦通过SPAD阵列中的相同SPAD检测到第二光子,第一时间间隔t1结束,并且相应传输的到达时间信号被标记为图1a中的“E2”。第二时间间隔t2检测到第二光子为开始并且以检测到第三光子结束,并且检测到第三光子的SPAD的相关第三间隔时间信号被标记为“E3”。第一时间间隔t1和第二时间间隔t2不重叠。
在本实施方式中,这独立地适用于阵列中的每个SPAD,而不是本发明仅限于该方面。
如以上所讨论的,光源随机地发射彼此不相关的光子。因此,光子的到达时间也是随机的。
例如,通过定义:如果第一时间间隔t1短于第二时间间隔t2(即,t1<t2),则生成二进制值“0”,并且如果第一时间间隔t1长于第二时间间隔t2(即,t1>t2),则生成二进制值“1”,因此可以生成各个比特。对随后两个连续的间隔执行相同的过程并且相应地定义了随后两个连续的时间间隔。从而,可以生成真随机数。当然,也可以以相反的方式定义二进制值,即,如果第一时间间隔t1短于第二时间间隔t2(即,t1<t2),则生成二进制值“1”,并且如果第一时间间隔t1长于第二时间间隔t2(即,t1>t2),则生成二进制值“0”。
在以下参照图1b,讨论与图1a中的过程很相似的用于根据到达时间提取随机数的另一个过程。
在图1b中的第二个实施方式中,可重新启动的时钟用于测量两个连续检测出的光子之间的时间间隔,诸如,图1a中使用它们的信号E1、E2和E3所示的光子。一旦通过SPAD检测到光子,即,一旦收到从各个SPAD传输的各个到达时间间隔,时钟开始计时。关于图1b和图1a中的实例,这意味着一旦检测到第一到达时间信号E1,时钟开始计时,并且一旦分别检测到第二或第三到达时间信号E2和E3等,一旦通过相同的SPAD检测到光子,时钟被重新启动。
从而,对于在检测到光子和各自的到达时间信号开始的每个时间间隔,可以计数适配时间间隔的各自的时钟信号。在图1a和图1b的实例中,这意味着关于第一时间间隔t1,可以计数三个时钟脉冲,即,n1=3(n等于时钟脉冲的数量),并且关于第二时间间隔t2,可以计数两个时钟脉冲,即,n2=2。
如以上所描述的,二进制值“0”和“1”可以以相似的方式被分配至第一时间间隔t1和第二时间间隔t2,即,在第一时间间隔t1的时钟脉冲n1的数量小于第二时间间隔t2的时钟脉冲n2的数量(即,n1<n2)的情况下,二进制值“0”被分配,并且在第一时间间隔t1的时钟脉冲n1的数量大于第二时间间隔t2的时钟脉冲n2的数量(即,n1>n2)的情况下,二进制值“1”被分配。对随后的两个连续的时间间隔类似地重复该过程,从而可以生成真随机数。如所提到的,还可以以相反的方式定义二进制值,即,在第一时间间隔t1的时钟脉冲n1的数量大于第二时间间隔t2的时钟脉冲n2的数量(即,n1>n2)的情况下,二进制值“0”被分配,并且在第一时间间隔t1的时钟脉冲n1的数量小于第二时间间隔t2的时钟脉冲n2的数量(即,n1<n2)的情况下,二进制值“1”被分配。原则上,可能发生时间间隔t1和t2和/或时钟脉冲n1和n2各自的计数数目彼此相等。由于可以在该情况下不(no sinful)分配二进制值,因此在该情况下该结果将被丢弃。
在一些实施方式中,例如,控制装置进一步被配置为基于所确定的光子的到达时间来检测单光子雪崩二极管的故障。例如,可以通过监测每个SPAD的计时器并且确定SPAD在预定时间间隔中是否检测到光子来检测故障。在SPAD没有在预定时间间隔中检测到光子的情况下,可以将相应的SPAD认定为故障。此外或可替代地,可以驱动设置在每个SPAD中或SPAD阵列中的测试SPAD的功能的测试电路。在一些实施方式中,还可以通过控制装置来调谐和控制光源,并且例如,为了测试SPAD阵列,可以增加光源的强度,使得SPAD阵列的所有SPAD将在预定时间间隔中接收光子。从而,没有检测到任何光子的SPAD可以被认定为故障。另一方面,可以关闭光源,使得没有光子被发射,从而,由于光源不能发射任何光子,虽然没有检测到光子但是传输光子到达时间的故障的SPAD可以被确定。
在一些实施方式中,控制装置进一步被配置为在检测到单光子雪崩二极管的故障的情况下生成通知。通知可包括电子信号,例如,音频信号、显示在显示器上的消息信号等。
在一些实施方式中,控制装置进一步被配置为校正源自单光子雪崩二极管的故障的错误。例如,该错误校正可挑选出具有故障贡献的SPAD的结果(event,事件)。如以上参照图1b(即,其中,n1=n2)所讨论的,相等的时间间隔的检测可以被认为是错误,并且如以上所讨论的,该结果被丢弃。
该控制装置可以进一步被配置为输出数字(真)随机数数据,例如,以可以预定的比特序列的形式输出。例如,如现有技术中所知的,可以压缩随机数数据。而且,控制装置可被配置为以预定文件格式或数据格式输出随机数数据。
在一些实施方式中,控制装置进一步被配置为调整一输出数字随机数数据的数据速率,诸如,每秒1Mbit、10Mbit、100Mbit或每秒1Gbit,或者例如由用户定义或输入的其他数据速率。
控制装置可以进一步被配置为选择性地控制单光子雪崩二极管阵列中的单光子雪崩二极管。例如,可以通过调整光源的强度和/或通过打开/关闭SPAD阵列的单个SPAD来调整数据速率,从而调整在预定时间间隔中检测的光子的数量并且从而调整随机数数据速率。
例如,一些实施方式属于通过如以上所描述的控制光学随机数生成器来生成(真量子)随机数的方法。该方法包括:如以上所讨论的,控制光源随机地发射光子;如以上所讨论的,控制单光子雪崩二极管阵列检测由光源提供的光子,其中,单光子雪崩二极管阵列被放置成与光源成预定距离;如以上所讨论的,以及确定通过单光子雪崩二极管阵列的每个单光子雪崩二极管所检测的光子的到达时间;如以上所讨论的,以及基于到达时间生成随机数。
以上所讨论的过程也可以在关于生成随机数的方法的实施方式中执行。因此,如以上做出的解释完全适用于用于生成随机数的方法的实施方式的以下说明。
如以上详细讨论的,该方法可以进一步包括检测单光子雪崩二极管的故障,其中,可以基于所确定的到达时间来检测单光子雪崩二极管的故障。
如以上详细讨论的,该方法可以进一步包括在检测到单光子雪崩二极管的故障的情况下生成通知。
如以上详细讨论的,该方法可以进一步包括校正源自单光子雪崩二极管的故障的错误。
如以上所讨论的,该方法可以进一步包括输出随机数数据,其中,可以适配(adapt)该输出数字随机数数据的数据速率。
在一些实施方式中,该方法进一步包括选择性地控制单光子雪崩二极管阵列的单光子雪崩二极管。
本文所描述的方法还可以在一些实施方式中实施为计算机程序,该计算机在计算机和/或处理器上执行时,使计算机和/或处理器执行该方法。在一些实施方式中,提供了其中存储有计算机程序产品的非暂时性计算机可读记录介质,计算机程序产品在由处理器(诸如,以上所描述的处理器)执行时,引起本文中所描述的方法被执行。
返回图2,示出了真随机数生成器1的实施方式,该真随机数生成器1基于作为光源的调谐发光二极管LED 2的随机光子发射来生成随机数。
虽然在本实施方式中使用了一个LED 2,但是本发明不限于该方面并且还可以使用两个或更多LEDs。
LED 2生成由单光子雪崩二极管阵列3(在下文中称为SPAD阵列3)所检测的光子9。LED 2被布置在距SPAD阵列3的预定距离“d”处。
LED 2具有比SPAD阵列的直径大很多的直径,使得如本实施方式中的近似,可以假设光子9几乎平行入射于SPAD阵列3上。SPAD阵列3具有被布置成阵列(即,成行成列)的多个SPAD(单光子雪崩二极管)。在本实施方式中,SPAD阵列3具有128乘以128个SPAD,即16384个像素,其中,每个像素对应于一个SPAD。SPAD阵列3的每个SPAD的检测区域面向LED 2的方向,并且因此面向入射光子9的方向。在本实施方式中仅提供了一个SPAD阵列3,但是本领域的技术人员应认识到,还可以使用两个或更多SPAD阵列并且本公开内容并不限于该方面。
为了控制真随机数生成器1,提供了控制装置10,包括读出和计时单元4、数字校正单元5、数字输出单元6、故障检测和通知单元7以及通知输出单元8。请注意,将控制装置10划分成单元3至8,仅用于说明目的并且本发明并不限于特定单元中的功能的任何特定划分。例如,控制装置10可以通过相应的编程处理器、现场可编程门阵列(FPGA)等实施,并且单元4至8可以以软件和/或硬件来实施。
在本实施方式中,以上参照图1b描述了实施的用于分配二进制值的过程。
读出和计时单元4被耦接至SPAD阵列3并且接收通过SPAD阵列3的SPAD生成的到达时间信号。如以上参照图1b所描述的,读出和计时单元4生成各个时钟,该各个时钟由SPAD阵列中的各个SPAD检测到光子9并且在收到由检测到光子的SPAD输出的各个到达时间信号所触发。
在一些实施方式中,例如,响应于用户输入和/或根据对调谐LED 2所调整的强度,可以适配通过读出和计时单元4所生成的时钟信号的时钟频率。
例如,在调整LED 2的高强度的情况下,为了能够相应地解散(dissolve)不同的检测光子,可以增加时钟信号的频率。可以通过还耦接至LED 2的读出和计时单元4来调整LED 2的强度。读出和计时电路4还可以根据SPAD阵列3的SPAD的死时间来调整LED 2的强度。在本实施方式中,SPAD阵列3的SPAD具有相同的或至少基本相同的死时间,使得当采用以上所描述的过程用于提取到达时间的比特时,删去SPAD阵列3的SPAD的死时间。
如以上关于图1b所讨论的,读出和计时单元4生成各个二进制值(即,比特)并且将各个比特流输出至数字校正单元5。
例如,数字校正单元5可以通过消除基于错误结果的比特来执行数字校正。例如,如以上所讨论的,当两个时间间隔被确定为相同时,或者例如,在从读出和计时电路4传输的比特的数据速率改变的情况下,出现错误结果。在后者情况下,数字校正单元5缓冲所接收的比特并且相应地适配传输至耦接的数字输出单元6的数据速率。
数字输出单元6输出从数字校正单元5接收的比特。例如,随机数比特流的格式可以是1Gbit/s。数字输出单元6还可以被配置为以具有预定文件格式的数据文件输出随机数。
此外,读出和计时单元4将从SPAD阵列3接收的数据输出至故障检测和通知单元7,诸如,从SPAD阵列3接收的到达时间信号。例如,在一个特定SPAD持续地传输到达时间信号的情况下和/或在特定SPAD在预定时间间隔内未传输到达时间信号的情况下,故障检测和通知单元7分析到达时间信号并且检测SPAD阵列3中的SPAD的故障。
故障检测和通知单元7还被耦接至LED 2。为了执行测试,例如,故障检测和通知单元7可以通过直接控制LED 2或通过读出和计时单元4间接控制LED 2来关闭LED 2,使得可以检测输出虽然SPAD由于LED 2被关闭而不可以检测任何光子,但是输出了到达时间信号的SPAD。
而且,故障检测和通知单元7可以调整LED 2的强度,使得SPAD阵列3的所有SPAD应该几乎同时检测光子。从而,可以检测出不检测光子并且因此不输出到达时间信号的SPAD,和/或输出到达时间信号比SPAD阵列3的其他SPAD慢(迟)很多的SPAD。
在SPAD阵列3的SPAD检测到故障的情况下,故障检测和通知单元7可以生成相应的通知传输至耦接的通知输出单元8,该通知输出单元8例如,在与其耦接的显示器上输出通知。通知可以是存在故障的一般通知和/或可以是特定通知,例如,告知哪个和/或多少个SPAD阵列3的SPAD具有故障。
例如,故障检测和通知单元7还将故障信号传输至数字校正单元5,该数字校正单元5可以相应地通过丢弃涉及错误SPAD的比特或者通过“白化”比特序列并从而标记其为无效来校正比特流。
故障检测和通知单元7还可以根据所检测的SPAD阵列3的错误SPAD来调整读出和计时单元4和/或LED 2。
例如,输出随机数数据的数据速率可以根据错误SPAD的数量调整。例如,假设SPAD阵列3中的90%的SPAD具有故障,可以相应地降低读出和计时单元4的输出数据速率、时钟频率和/或LED 2的强度。
因此,通过使用SPAD阵列,即使一个或多个SPAD发生故障的情况下也可以使用真随机数生成器1,并且由于同时使用SPAD阵列的多个SPAD,因此与单个SPAD相比可以增加输出数据速率。
在下文中,如以上所讨论的,参考图3说明了图2通过使用光学随机数生成器1生成真随机数的方法20。当然,以上说明也适用于方法20。
在步骤21中,光源(诸如,LED 2)是受控随机发射光子的源。
在步骤22中,单光子雪崩二极管阵列(诸如,SPAD阵列3)被控制为检测由光源提供的光子,其中,单光子雪崩二极管阵列被放置在距离光源的预定距离处。
在步骤23中,通过单光子雪崩二极管阵列中的每个单光子雪崩二极管来检测光子的到达时间。
在步骤24中,如以上详细讨论的,基于到达时间生成随机数。
在步骤25中,例如,基于所确定的到达时间检测单光子雪崩二极管的故障。
在步骤26中,在检测到单光子雪崩二极管故障的情况下生成通知。
在步骤27中,校正源于单光子雪崩二极管的故障的错误。
在步骤28中,输出数字随机数数据,并且在步骤29中适配所输出的数字随机数数据的数据速率。
请注意,本技术也可以被配置为以下描述。
(1)一种光学随机数生成器,包括:
光源,被配置为随机地发射光子;
单光子雪崩二极管阵列,被配置为检测由所述光源提供的所述光子,其中,所述单光子雪崩二极管阵列被放置在距离所述光源的预定距离处;以及
控制装置,耦接至所述单光子雪崩二极管阵列并且被配置为
确定通过所述单光子雪崩二极管阵列的每个所述单光子雪崩二极管所检测的所述光子的到达时间;以及
基于所述到达时间生成随机数。
(2)根据1)所述的光学随机数生成器,其中,所述光源包括发光二极管。
(3)根据(1)或(2)所述的光学随机数生成器,其中,所述光源包括激光二极管。
(4)根据(1)至(3)中的任一项所述的光学随机数生成器,其中,所述控制装置进一步被配置为检测单光子雪崩二极管的故障。
(5)根据(4)所述的光学随机数生成器,其中,所述控制装置进一步被配置为基于所确定的到达时间来检测单光子雪崩二极管的故障。
(6)根据(4)或(5)所述的光学随机数生成器,其中,所述控制装置进一步被配置为在检测到单光子雪崩二极管的故障的情况下生成通知。
(7)根据(1)至(6)中的任一项所述的光学随机数生成器,其中,所述控制装置进一步被配置为校正源自单光子雪崩二极管的故障的错误。
(8)根据(1)至(7)中的任一项所述的光学随机数生成器,其中,所述控制装置进一步被配置为输出数字随机数数据。
(9)根据(8)所述的光学随机数生成器,其中,所述控制装置进一步被配置为适配所述输出数字随机数数据的数据速率。
(10)根据(1)至(9)中的任一项所述的光学随机数生成器,其中,所述控制装置进一步被配置为选择性地控制所述单光子雪崩二极管阵列中的所述单光子雪崩二极管。
(11)—种用于生成随机数的方法,包括:
控制光源以随机地发射光子;
控制单光子雪崩二极管阵列以检测由所述光源提供的所述光子,其中,所述单光子雪崩二极管阵列被放置距离所述光源的预定距离处;
确定由所述单光子雪崩二极管阵列中的每个单光子雪崩二极管所检测的所述光子的到达时间;以及
基于所述到达时间生成随机数。
(12)根据(11)所述的方法,其中,所述光源包括发光二极管。
(13)根据(11)或(12)所述的方法,其中,所述光源包括激光二极管。
(14)根据(11)至(13)中的任一项所述的方法,进一步包括检测单光子雪崩二极管的故障。
(15)根据(14)所述的方法,进一步包括基于所确定的到达时间来检测单光子雪崩二极管的故障。
(16)根据(14)或(15)所述的方法,进一步包括在检测到单光子雪崩二极管的故障的情况下生成通知。
(17)根据(11)至(16)中的任一项所述的方法,进一步包括校正源自单光子雪崩二极管的故障的错误。
(18)根据(11)至(17)中的任一项所述的方法,进一步包括输出数字随机数数据。
(19)根据(18)所述的方法,进一步包括适配所述输出数字随机数数据的数据速率。
(20)根据(11)至(19)中的任一项所述的方法,其中,进一步包括:选择性地控制所述单光子雪崩二极管阵列中的所述单光子雪崩二极管。
(21)一种计算机程序,包括程序代码,当程序代码在计算机上实施时引起计算机执行根据(11)至(20)中的任一项所述的方法。
(22)一种非暂时性计算机可读记录介质,其中存储有计算机程序产品,所述计算机程序产品在由处理器执行时使得根据(11)至(20)中的任一项所述的方法被执行。

Claims (20)

1.一种光学随机数生成器,包括:
光源,被配置为随机地发射光子;
单光子雪崩二极管阵列,被配置为检测由所述光源提供的所述光子,其中,所述单光子雪崩二极管阵列放置成与所述光源具有预定距离;以及
控制装置,耦接至所述单光子雪崩二极管阵列并且所述控制装置被配置为:
确定由所述单光子雪崩二极管阵列中的每个单光子雪崩二极管检测出的所述光子的到达时间;以及
基于所述到达时间生成随机数。
2.根据权利要求1所述的光学随机数生成器,其中,所述光源包括发光二极管。
3.根据权利要求1所述的光学随机数生成器,其中,所述光源包括激光二极管。
4.根据权利要求1所述的光学随机数生成器,其中,所述控制装置进一步被配置为检测单光子雪崩二极管的故障。
5.根据权利要求4所述的光学随机数生成器,其中,所述控制装置进一步被配置为基于确定的所述到达时间来检测单光子雪崩二极管的故障。
6.根据权利要求5所述的光学随机数生成器,其中,所述控制装置进一步被配置为在检测到单光子雪崩二极管的故障的情况下生成通知。
7.根据权利要求1所述的光学随机数生成器,其中,所述控制装置进一步被配置为校正起源于单光子雪崩二极管的故障的错误。
8.根据权利要求1所述的光学随机数生成器,其中,所述控制装置进一步被配置为输出数字随机数数据。
9.根据权利要求8所述的光学随机数生成器,其中,所述控制装置进一步被配置为适配所输出的所述数字随机数数据的数据速率。
10.根据权利要求9所述的光学随机数生成器,其中,所述控制装置进一步被配置为选择性地控制所述单光子雪崩二极管阵列中的所述单光子雪崩二极管。
11.一种用于生成随机数的方法,包括:
控制光源以随机地发射光子;
控制单光子雪崩二极管阵列以检测由所述光源提供的所述光子,其中,所述单光子雪崩二极管阵列放置成与所述光源具有预定距离;
确定由所述单光子雪崩二极管阵列中的每个单光子雪崩二极管检测出的所述光子的到达时间;以及
基于所述到达时间生成随机数。
12.根据权利要求11所述的方法,其中,所述光源包括发光二极管。
13.根据权利要求11所述的方法,其中,所述光源包括激光二极管。
14.根据权利要求11所述的方法,进一步包括:检测单光子雪崩二极管的故障。
15.根据权利要求14所述的方法,进一步包括:基于确定的所述到达时间来检测单光子雪崩二极管的故障。
16.根据权利要求15所述的方法,进一步包括:在检测到单光子雪崩二极管的故障的情况下生成通知。
17.根据权利要求11所述的方法,进一步包括:校正起源于单光子雪崩二极管的故障的错误。
18.根据权利要求11所述的方法,进一步包括:输出数字随机数数据。
19.根据权利要求18所述的方法,进一步包括:适配所输出的所述数字随机数数据的数据速率。
20.根据权利要求19所述的方法,进一步包括:选择性地控制所述单光子雪崩二极管阵列中的所述单光子雪崩二极管。
CN201510033111.7A 2014-03-11 2015-01-22 光学随机数生成器及用于生成随机数的方法 Active CN104915178B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP14158968 2014-03-11
EP14158968.9 2014-03-11

Publications (2)

Publication Number Publication Date
CN104915178A true CN104915178A (zh) 2015-09-16
CN104915178B CN104915178B (zh) 2019-03-08

Family

ID=50287882

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510033111.7A Active CN104915178B (zh) 2014-03-11 2015-01-22 光学随机数生成器及用于生成随机数的方法

Country Status (2)

Country Link
US (1) US9658831B2 (zh)
CN (1) CN104915178B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107615237A (zh) * 2015-12-31 2018-01-19 Sk电信有限公司 用于管理基于量子噪声的随机数生成器的性能的装置和方法
CN109804348A (zh) * 2016-10-21 2019-05-24 特伦蒂诺发展公司 改进的随机数发生器,特别是改进的真随机数发生器
CN110720048A (zh) * 2017-06-08 2020-01-21 罗伯特·博世有限公司 用于激光雷达系统的运行方法和控制单元、激光雷达系统和作业设备
CN110895336A (zh) * 2018-09-13 2020-03-20 原相科技股份有限公司 基于雪崩二极管的物体检测装置
CN111351775A (zh) * 2020-02-27 2020-06-30 电子科技大学 一种基于室温单光子源的真随机数产生方法及装置
WO2021249030A1 (zh) * 2020-06-11 2021-12-16 华为技术有限公司 随机数序列生成方法和随机数引擎

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10146508B2 (en) * 2014-07-30 2018-12-04 Trentino Sviluppo S.P.A. True random number generator
US10635402B2 (en) * 2016-03-01 2020-04-28 National University Of Singapore Method and system for random number generation
WO2017193106A1 (en) 2016-05-05 2017-11-09 Amri Emna Quanta image sensor quantum random number generation
EP3316497B1 (en) * 2016-10-26 2019-10-16 STMicroelectronics (Research & Development) Limited A single photon avalanche diode module for communications
DE102017101500B4 (de) 2017-01-26 2018-11-08 Sick Ag Optoelektronischer Sensor und Verfahren zur Erfassung von Objekten
JP6892830B2 (ja) * 2017-02-24 2021-06-23 アイディー クワンティック ソシエテ アノニム 複数の光源を活用する量子ノイズ基盤の乱数生成装置
IT201700086031A1 (it) * 2017-07-27 2019-01-27 Istituto Naz Fisica Nucleare Apparato, sistema e metodo di generazione di numeri casuali
US11140141B2 (en) * 2017-09-18 2021-10-05 Fiske Software Llc Multiparty key exchange
KR102483374B1 (ko) 2018-05-11 2022-12-30 한국전자통신연구원 양자 난수 생성 장치 및 방법
FR3092923B1 (fr) * 2019-02-19 2021-05-21 Sangle Ferriere Bruno Méthode cryptographique de vérification des données
US11956367B2 (en) * 2019-02-19 2024-04-09 Bruno SANGLE-FERRIERE Cryptographic method for verifying data
US10901695B1 (en) * 2020-03-03 2021-01-26 Randaemon Sp. Z O.O. Apparatus, systems, and methods for beta decay based true random number generator
WO2023211466A1 (en) * 2022-04-29 2023-11-02 Qrypt, Inc. Generation of quantum random numbers from single-photon avalanche diodes

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060010182A1 (en) * 2004-07-06 2006-01-12 Altepeter Joseph B Quantum random number generator
CN1780145A (zh) * 2004-11-24 2006-05-31 中国科学院物理研究所 一种产生真随机数的方法及其装置
CN101198926A (zh) * 2005-06-16 2008-06-11 香港中文大学 量子随机数生成器

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ITMI20062483A1 (it) 2006-12-22 2008-06-23 Milano Politecnico Generatore quantistico di numeri casuali e relativo metodo di generazione
US8259293B2 (en) * 2007-03-15 2012-09-04 Johns Hopkins University Deep submicron and nano CMOS single photon photodetector pixel with event based circuits for readout data-rate reduction communication system
US9235697B2 (en) 2012-03-05 2016-01-12 Biogy, Inc. One-time passcodes with asymmetric keys
GB201311055D0 (en) * 2013-06-21 2013-08-07 St Microelectronics Res & Dev Single-photon avalanche diode and an array thereof

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060010182A1 (en) * 2004-07-06 2006-01-12 Altepeter Joseph B Quantum random number generator
CN1780145A (zh) * 2004-11-24 2006-05-31 中国科学院物理研究所 一种产生真随机数的方法及其装置
CN101198926A (zh) * 2005-06-16 2008-06-11 香港中文大学 量子随机数生成器

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107615237A (zh) * 2015-12-31 2018-01-19 Sk电信有限公司 用于管理基于量子噪声的随机数生成器的性能的装置和方法
CN109804348A (zh) * 2016-10-21 2019-05-24 特伦蒂诺发展公司 改进的随机数发生器,特别是改进的真随机数发生器
CN109804348B (zh) * 2016-10-21 2023-07-25 特伦蒂诺发展公司 改进的随机数发生器,特别是改进的真随机数发生器
CN110720048A (zh) * 2017-06-08 2020-01-21 罗伯特·博世有限公司 用于激光雷达系统的运行方法和控制单元、激光雷达系统和作业设备
CN110720048B (zh) * 2017-06-08 2023-10-10 罗伯特·博世有限公司 用于激光雷达系统的运行方法和控制单元、激光雷达系统和作业设备
CN110895336A (zh) * 2018-09-13 2020-03-20 原相科技股份有限公司 基于雪崩二极管的物体检测装置
CN110895336B (zh) * 2018-09-13 2022-05-27 原相科技股份有限公司 基于雪崩二极管的物体检测装置
CN111351775A (zh) * 2020-02-27 2020-06-30 电子科技大学 一种基于室温单光子源的真随机数产生方法及装置
CN111351775B (zh) * 2020-02-27 2021-08-20 电子科技大学 一种基于室温单光子源的真随机数产生方法及装置
WO2021249030A1 (zh) * 2020-06-11 2021-12-16 华为技术有限公司 随机数序列生成方法和随机数引擎

Also Published As

Publication number Publication date
US9658831B2 (en) 2017-05-23
CN104915178B (zh) 2019-03-08
US20150261502A1 (en) 2015-09-17

Similar Documents

Publication Publication Date Title
CN104915178A (zh) 光学随机数生成器及用于生成随机数的方法
KR102424568B1 (ko) 양자 난수 생성을 위한 방법 및 장치
US20210344494A1 (en) Systems, Methods and Apparatuses for Device Attestation Based on Speed of Computation
US10341097B2 (en) Communication device, quantum key distribution system, quantum key distribution method, and computer program product
KR101564954B1 (ko) 광원과 단일광자검출기를 이용한 난수 생성 방법 및 장치
US9176361B2 (en) Optical analog to digital converter and method
CN106506440A (zh) 用于验证数据完整性的方法
RU2014118359A (ru) Способ и устройство для генерирования истинно случайных чисел и игровая система
Liu et al. Extending on-chain trust to off-chain–trustworthy blockchain data collection using trusted execution environment (tee)
US8699713B1 (en) Key update with compromise detection
EP3175354A1 (en) True random number generator
US11693966B2 (en) System and method for triggering and detecting hardware trojans
JP2012516115A5 (zh)
US11626881B2 (en) Physical unclonable function (PUF)-based method for enhancing system reliability
Balygin et al. A quantum random number generator based on the 100-Mbit/s Poisson photocount statistics
WO2016101549A1 (zh) 一种拥塞流量的管理方法、装置及计算机存储介质
Tebyanian et al. Generalized time-bin quantum random number generator with uncharacterized devices
JP2020022155A (ja) 情報処理装置、通信システム、情報処理方法およびプログラム
US11115199B2 (en) Information processing method, and computer program product
US10103818B2 (en) Transmitting device, quantum communication system, and quantum communication method
US20220412814A1 (en) Temperature-based tamper detection
TWI580245B (zh) 具有防竊聽功能的電子電路及防止電子電路遭竊聽的方法
KR102237695B1 (ko) 다광축 광전 센서
US10045011B2 (en) Providing timing information over a data link
US20190174601A1 (en) Method and System for Implementing Data Transmission Utilizing Techniques Used for Transient State Computing with Optics

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant