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

文档序号:9200196阅读:862来源:国知局
光学随机数生成器及用于生成随机数的方法
【技术领域】
[0001]本公开内容一般涉及光学随机数生成器以及用于生成随机数的方法。
【背景技术】
[0002]随机数在许多应用中是必不可少的。例如,已知的是将随机数用于密码或加密密钥的生成、用于博彩等。
[0003]通常情况下,由于伪随机数易于通过执行相应的计算算法而生成,因此伪随机数被用于许多应用中。然而,特别是对于安全性相关的应用,真随机数被越来越多地使用,真随机数是在预计将是随机的物理现象的基础上生成的。
[0004]真随机数生成器是已知的。它们基于物理机制,诸如来自环形振荡器的热致抖动,块RAM写入冲撞,并且可以利用例如光学效应。
[0005]虽然存在用于生成真随机数的技术,但通常希望提高真随机数的产生。

【发明内容】

[0006]根据第一方面,本公开内容提供了一种光学随机数生成器。光学随机数生成器包括:光源,被配置为随机地发射光子;单光子雪崩二极管阵列,被配置为检测由光源提高的光子,其中,单光子雪崩二极管阵列被放置在距离光源的预定距离处;以及控制装置,耦接至单光子雪崩二极管阵列。控制装置被配置为确定由单光子雪崩二极管阵列中的每个单光子雪崩二极管所检测出的光子的到达时间。控制装置还被配置为基于到达时间生成随机数。
[0007]根据第二方面,本公开内容提供了一种用于生成随机数的方法。该方法包括:控制光源随机地发射光子;控制单光子雪崩二极管阵列以检测由光源提供的光子,其中,单光子雪崩二极管阵列被放置在距离光源的预定距离处;确定由单光子雪崩二极管阵列中的每个单光子雪崩二极管所检测出的光子的到达时间;以及基于到达时间生成随机数。
[0008]其他方面在从属权利要求、以下书面说明以及附图中进行阐述。
【附图说明】
[0009]通过参照附图的示例方式说明了实施方式,在附图中:
[0010]图1a示例性地示出了基于到达时间生成随机数的第一过程;
[0011]图1b示例性地示出了基于到达时间生成随机数的第二过程;
[0012]图2示意性地示出了真随机数生成器的实施方式;以及
[0013]图3示出了用于生成真随机数的方法的流程图。
【具体实施方式】
[0014]在参照图1详细描述实施方式之前,先进行概要说明。
[0015]如以上所讨论的,在许多应用中随机数是必须的,例如,用于密码或加密密钥生成、用于博彩等。
[0016]如在开始所提到的,由于伪随机数很容易使用可由处理器执行的计算算法来生成,因此伪随机数被用于许多应用中。当使用算法生成伪随机数时,如果所有的种子值是已知的,原则上它们是可被预测的。
[0017]与之相反,由于真随机数是基于物理现象的,因此真随机数是不可预测的。
[0018]在本实施方式中,光子发射的量子性质被用于生成真随机数。
[0019]光学(真)随机数生成器包括:光源,被配置为随机地发射光子;单光子雪崩二极管阵列,被配置为检测由光源提高的光子,其中,单光子雪崩二极管阵列被放置成与光源成预定距离;以及控制装置,耦接至单光子雪崩二极管阵列。控制装置被配置为确定由单光子雪崩二极管阵列的每个单光子雪崩二极管所检测出的光子的到达时间并且基于到达时间生成随机数。
[0020]因为发射过程是量子过程,所以光源使用光子的量子性质,并因此预计是随机的。光源可以包括例如辉光灯丝、发光二极管(在下文中还被称为“LED”)、激光二极管、荧光灯或被配置为根据泊松分布(即,随机地并且彼此独立地发射单光子)发射光子的其他光单元。与辉光灯丝相反,发光二极管和激光二极管可以具有在其中发射光子的较小的波长带宽。在光源包括辉光灯丝的情况下,为了缩小发射光子的波长带宽,可以设置滤光器元件等。光源还可以包括多个辉光灯丝、LED、和/或激光二极管或其他合适的光子发射单元。
[0021]在一些实施方式中,光源被调谐,即,可以调谐光源的强度和/或波长或者其他参数,使得光源每时间间隔发射具有预定波长或位于波长的预定范围内的预定数量的光子。而且,光源被配置为发射彼此(基本)不相关的光子。例如,在激光二极管的情况下,已知的是,激光二极管的频率噪声可以用于真随机数生成。
[0022]单光子雪崩二极管阵列包括多个单光子雪崩二极管(在下文中还被称为“SPAD”)。SPAD可以是固态光探测器(基于半导体的),其中光生载流子由于碰撞电离机制而触发雪崩电流。在一些实施方式中,因为SPAD可以检测单光子并且每个SPAD可以输出所检测的光子的到达时间,因此SPAD可以检测低强度信号。通常,SPAD可输出的所检测的光子的到达时间具有几十皮秒的抖动。
[0023]SPAD与雪崩光电二极管类似地利用反向偏置p-n结的雪崩电流来检测入射光子。与用于盖革计数器的情况相似,SPAD可以被具体设计为利用高于击穿电压的反向偏置电压进行操作。该操作模式因此也称与盖革计数器类似的“盖革模式”。因为本领域的技术人员通常已知SPAD以及SPAD阵列,因此在下文中省略了它们更详细的描述。
[0024]SPAD阵列(在下文中还被称为SPAD阵列)可以包括至少两个SPAD,但是还可以包括多于两个,例如2乘以2(即,4个)、4乘以4(即,16个)、2乘以4(即,8个)或者其他数量的SPAD。SPAD在SPAD阵列中可以成行成列的排列,其中,可以水平地布置行并且可以垂直地布置列。
[0025]SPAD阵列定位成与光源成预定距离,其中,该距离可以是固定的,使得从光源发射的光子传播恒定距离后到达SPAD阵列中的单个SPAD。SPAD阵列可以具有平面形状并且可以布置使得其关于地面垂直,本公开内容不限于垂直布置。光源具有可以比SPAD阵列的直径大(很多)的直径,使得从光源发射的所有光子基本以平行的方式到达SPAD阵列处,并且使得所有光子在光源和SPAD阵列之间传播了基本相同的距离。
[0026]每个SPAD —旦检测到光子,就输出到达时间。到达时间可以包括时间值,但是它还可以仅包括指示通过各个SPAD检测的光子的二进制值。在一些实施方式中,SPAD阵列还可以包括表示检测光子的特定的SPAD的数字或坐标。
[0027]光学随机数生成器包括耦接至单光子雪崩二极管阵列的控制装置。在下文中,描述了控制装置的功能性。然而,以下说明完全适用于有关用于,例如使用本文中所描述的光学随机数生成器生成(真)量子随机数的方法的实施方式。
[0028]控制装置可以包括处理器、微处理器、CPU等,并且它还可以包括以下参照附图所说明的其他单元。
[0029]控制装置确定由单光子雪崩二极管阵列中的每个单光子雪崩二极管所检测的光子的到达时间并且基于到达时间生成(真)随机数。
[0030]因为所生成的随机数基于光源的光子的随机发射,因此它有望成为真随机数。
[0031 ] SPAD阵列可以通过单个数据线被耦接至控制装置,通过该单个数据线可以将单个SPAD的所有到达时间信号传输至控制装置。可替代地,SPAD阵列的所有SPAD可以使用自己的数据线耦接至控制装置。在又一实施方式中,还实施数据线连接的混合线(mixture)。例如,SPAD阵列中的每行的SPAD经由自己的线被耦接至控制装置等。
[0032]通过SPAD阵列传输的到达时间信号可以是模拟的和/或数字的。
[0033]可以基于由SPAD阵列中的同一 SPAD所检测的和/或由SPAD阵列中的两个不同SPAD所检测的两个不同光子的两个连续的到达时间的时序信息来生成随机数。如以上所讨论的,一旦检测到光子,SPAD阵列中的各个SPAD将到达时间信号传输至控制装置。根据两个连续光子的两个连续到达时间的时间差可以生成随机数。如所
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1