一种基于金刚石生成随机数的方法及装置与流程

文档序号:18008742发布日期:2019-06-25 23:43阅读:257来源:国知局
一种基于金刚石生成随机数的方法及装置与流程

本发明属于随机数产生技术领域,更具体地,涉及一种基于金刚石生成随机数的方法及装置。



背景技术:

随机数在密码学中十分重要,有三个检测标准:(1)统计学为随机性;(2)密码学安全为随机性;(3)真随机性。根据这三个标准,随机数被分成三类:(1)伪随机数;(2)密码学安全的伪随机数;(3)真随机数。

随机数发生器是用来产生一个二进制序列随机数的器件,在通讯、密码学、数字加密等信息领域,以及蒙特卡洛模拟、数值计算、神经网络计算等仿真领域,甚至在博彩行业都有广泛而重要的应用。

一般的随机数产生都是通过特定的算法来实现,它们并不是真正的随机,只是有着类似于随机数的统计特征。这样的生成器都是伪随机数生成器。

无论是物理噪音、抛硬币等等都是可被观察了解的,任何基于经典力学产生的随机数,都只是伪随机。

真正的随机数必须同时满足上述的三个标准,具体说即为:1的数量大致等于0的数量;给定随机样本的一部分和随机算法,不能有效的演算出随机样本的剩余部分;随机样本不可重现。真正的随机从目前看来只能通过量子力学效应来产生。

目前已有的基于单个光子探测的量子随机数发生器主要基于对量子比特状态测量、对时间模式测量、对空间模式的测量以及对多光子数态的测量。通过宏观光探测器也可以产生随机数,基于真空涨落和自发辐射。很多随机数产生器的源头都是激光器,从激光器中发出的光子通过各种光路最后被探测,转换成随机信号,也有通过混沌激光直接产生随机数,总的来说这些方法因为需要利用到激光的各种效应来产生随机数,因此都需要比较复杂的光路。



技术实现要素:

针对现有技术的缺陷,本发明的目的在于提供一种基于金刚石生成随机数的方法,旨在解决现有技术中产生随机数的方法都需要复杂的光路配合的问题。

本发明提供了一种基于金刚石生成随机数的方法,包括下述步骤:

(1)将激光聚焦于含有光致发光缺陷的金刚石样品上,并收集所述金刚石样品产生的荧光信号;

(2)对所述荧光信号中光子到达时间信号进行处理获得随机数。

其中,激光的波长为250nm~800nm。

更进一步地,在步骤(2)中对光子到达时间信号进行处理具体为:对探测器采集到一系列光子信号的时间数据求平均间隔,通过该平均间隔对整个探测器采集到的数据进行分段,若在某一时间段内有光子到达,即标记该时间段对应为‘1’,若在某一时间段内没有光子到达,则标记该时间段对应为‘0’,将整个数据转化成一串由0和1构成的数字序列,在经过后处理后生成随机数信号。

本发明还提供了一种生成随机数的装置,包括:激光器、金刚石样品、信号采集模块和信号处理模块;所述金刚石样品为含有光致发光缺陷的金刚石样品,所述激光器发射的激光聚焦在所述金刚石样品上激发所述金刚石样品产生荧光信号;所述信号采集模块用于收集所述荧光信号;所述信号处理模块用于对所述荧光信号中光子到达时间信号(t1,t2,t3,t4,......,tn)进行处理获得随机数。

更进一步地,信号处理模块包括:平均间隔时间获取单元,用于获得光子到达时间t1,t2,t3,t4,......,tn的平均间隔时间tgap;片段分割单元,用于将所有的光子到达时间信号按照平均间隔时间分成一系列小片段l1,l2,l3,......,lm;随机数获取单元,用于如果存在一个或者多个ti正好处于片段li的范围中,则li代表1,反之代表0,则可以得到一串由0和1构成的数字串其长度和步骤中片段个数m相同;并对所述数字串进行处理后获得随机数。

本发明还提供了一种基于金刚石生成随机数的方法,包括下述步骤:含有光致发光缺陷的金刚石样品发出的光被分为两束,通过检测两束光子到达的位置获得随机数。

其中,通过检测两束光子到达的位置获得随机数具体为:在a、b两点进行光子检测,在a处检测到光子记为‘0’,在b处检测到光子记为‘1’,将这些信号按照光子到达的时间进行排序,即可以获得一个串由0和1组成的数字序列,在经过后处理后生成随机数信号。

本发明还提供了一种生成随机数的装置,包括:金刚石样品、分束器、第一探测器、第二探测器和信号处理模块;所述金刚石样品为含有光致发光缺陷的金刚石样品,其发出的光被所述分束器分为两束,所述第一探测器用于探测第一束光,所述第二探测器用于探测第二束光,所述信号处理模块用于对第一束光和第二束光中光子到达的位置进行处理获得随机数。

更进一步地,信号处理模块包括:排序单元,用于将第一探测器得到的时间信号(t11,t12,t13,......t1n)和第二探测器得到的时间信号(t21,t22,t23,......,t2m)按照时间顺序合并排列(如t11,t12,t21,t14,t22,.......,t1n,t2m);随机数获取单元,用于将第一探测器测得的信号记为1(或0),第二探测器得到的信号记为0(或1),并将合并后的时间序列转化成由0和1构成的数字串,且其长度等于m+n;并对所述数字串进行处理后获得随机数。

通过本发明所构思的以上技术方案,与现有技术相比,由于本发明不需要复杂光路系统,能够取得更稳定、可靠,并且可以使产品小型化的有益效果。且本发明中的装置所依赖的光源十分稳定,不存在光致漂白等现象,能够取得更可靠、更稳定的有益效果。

附图说明

图1是金刚石中氮、空位中心能级图;

图2是通过第一种方法产生随机数的装置示意图;

图3是通过第二种方法产生随机数的装置示意图;

图4是对实施例1产生的随机数用nist开发的检测工具检测结果;

图5是氮-空位中心的吸收和发射光谱,靠左侧曲线表示吸收光谱,靠右侧曲线表示发射光谱;

图6是硅-空位中心的光致发光谱;

图7是n3中心的吸收和发射光谱,实线为吸收光谱,虚线为发射光谱;

图8是h3中心的吸收和发射光谱,实线为吸收光谱,虚线为发射光谱;

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明涉及的材料是金刚石,金刚石中有很多种结构有发光效应如氮-空位中心(吸收和发射光谱见图5)、硅-空位中心(发射波长集中在730-740nm之间,光致发光谱见图6)、n3中心(吸收和发射光谱见图7)、h3(吸收和发射光谱见图8)中心等其他光致金刚石光致发光缺陷。以下仅以金刚石中的氮-空位中心(nitrogen-vacancycenter,nvcenter),能级结构见图1,该结构在特定波长(尤其500nm附近)的激光照射下会根据量子效应激发出非常稳定的荧光,荧光波长范围在550nm至800nm之间,颜色主要以红色为主。且这种荧光非常稳定,没有光致漂白。在本发明中采取金刚石样品作为光源产生随机数。

本发明中主要通过以下两种方法来产生随机数:

第一种方法为:将特定波长(250-800nm)的激光聚焦于含有光致发光缺陷的金刚石样品上(根据不同的缺陷结构选择不同的激光波长),并收集该结构产生的荧光,将其荧光光子的到达时间作为产生随机数的原始数据,通过对原始数据进行后处理,即可产生随机数,如图2所示。

信号的产生模块主要包括:激光器、含有可光致发光结构的金刚石样品。通过照射不同光致发光结构所需要的激光到样品中,激发样品产生荧光信号。信号采集模块使用光子探测器将所采集到的信号传递给信号处理模块,再信号处理模块中对光子探测器产生的原始数据进行处理,还原成相对的时间序列。

本发明实施例提供的第一种方法相较于以往利用光路实现量子力学效应的随机数发生器(如第二种方法所述)来说,通过第一种方法实现的随机数发生器可以在更小的体积上产生随机数,第二种方法必须要基于复杂的光路系统,束分器将光路分成两条,这就要求必须有足够的空间给两条光路传递,而且监测系统也必须有相互关联的两套才行,这无疑加大了成本,并且因为这些器件都属于精密器件,稍微干扰便会对整个系统造成不可预知的影响。基于第一种方法的随机数发生器结构更简单,只需要一条光路、一个探测器,整体的抗干扰能力的到了提高,整套系统相较于以往更简洁、可靠,使用该方案产生随机数的装置更便于实现产品化、小型化,并且相较于以往具有更高的稳定性。

第二种方法为:将含有光致发光缺陷的金刚石样品作为光源,将发出的光通过束分器,由于量子效应会导致光子通过两条不同的路径到达探测器,通过检测光子到达的位置,实现随机数的产生,如图3所示。

在本发明中将光源为第二种方法含有光致发光缺陷的金刚石样品,过去的研究已经证明金刚石的荧光十分稳定,不存在光漂白效应(即长时间激光照射下,激发出来的荧光会变少),适合做该随机器的光源。

信号处理模块主要采用基于安全哈希算法(sha)的后处理方法。哈希函数是把不同长度的数据通过哈希算法转化成固定长度的输出的一类函数,能比较容易地从输入得到输出,而要从输出反推出输入却很难。hash函数具有很强的抗碰撞能力,其输出的hash值服从均匀分布,且对输入具有很高的敏感性。安全哈希算法sha(securehashalgorithm)是hash函数的一种,经sha处理后的随机数具有很好的统计特性。sha家族算法是由美国国家安全局(nsa)所设计,并由美国国家标准与技术研究院(nist)发布。sha-2包括sha-224,sha-256,sha-384和sha-512四种,至今尚未出现对sha-2有效的碰撞攻击。

第二种方法相较于以往的产品(如采用sinanocrystals)来说更稳定,以往的材料存在着一定的光漂白性,即在光照射一定时间以后可能存在着荧光衰减的现象,这对装置产生的随机数可靠性产生了一定的影响。而金刚石中的缺陷结构其发光十分稳定,并不存在这些缺陷。所以使用第二种方法产生的随机数相较于以往的产品产生的随机数更可靠、更稳定。

在本发明中,对于第一种方法而言,现有的随机数发生器是有利用激光作为光源,通过一系列光路产生的量子效应来产生随机数,这就要求整套系统必须有一个体积下限,而本发明只需要光源加上光收集系统,并不一定要求有中间的复杂光路;对于第二种方法而言,使用金刚石中光之发光缺陷作为光源相较于其他材料(如sinanocrystals,该材料存在光漂白效应)更有发光稳定性,没有光漂白效应。

为了更进一步的说明本发明实施例提供的基于金刚石生产随机数的方法,现参照附图并结合具体实例详述如下:

实施例1:使用块状金刚石样品按照第一种方法提取随机数信号:

按照图2所示,本发明提出的基于金刚石光致发光缺陷的量子随机数发生器,主要包括:532nm激光器,含有氮-空位中心的金刚石块状样品和光子探测器。

相比于纳米金刚石样品,块状样品的氮-空位中心结构的密度可以做的更大,在激光照射下,大量的氮-空位中心都受到激发,产生荧光,因为每个氮-空位的发光特性都会存在一些细微的差别,并且由于他们在空间上的位置有区别,尽管两个不同的氮-空位中心可能同时发光,但是由于他们的空间位置存在差别,被探测器检测到的时间也会存在差异

从激光器发出的光照射到样品中含有氮-空位中心的部位,使金刚石里面的氮-空位中心产生600到800nm的光子,通过光子探测器检测这种波段的光子并将每个光子到达的时间信号存储并传递给信号处理模块。

信号处理模块中通过对所有的时间数据求平均时间间隔,若在时间间隔内有光子到达则记该事件为1,若时间间隔内没有光子到达则记该事件为0,从而产生随机数。可以采用fpga处理芯片、dps芯片、gpu芯片或pc机。本发明通过sha-256算法对所得的数据进行后处理。

图4是使用美国国家标准与技术研究院(nist)开发的随机数测试工具对我们的随机数生成器生成的随机数进行检测的结果,纵坐标p-value的值是用来判断所测试序列是否具有良好随机特性的比对指标,只要p-value的值大于0.01可认为该随机数是随机的,否则为非随机。在以1mw的激光照射下,采集30秒信号,并通过后续的处理,得到随机数序列,使用nist的测试软件对该随机数发生器产生的随机数序列进行测试,并绘制成图,可以看出所有测试项目均成功通过。随后我们又使用2mw、3mw及更高功率的激光照射样品产生随机数(结果图未给出),也均完全通过测试,可以证明使用该方法的确产生了符合标准的随机数序列。以现在的工艺实现这种功率的激光以及高光致发光缺陷密度的金刚石样品十分简单,该实施例中的激光器也可以使用普通的激光二极管代替,这可以让整套系统作到极小的体积,可以很容易小型化、产品化。

实施例2:使用纳米金刚石样品按照第一种方法提取随机数信号:

按照图2所示,本发明提出的基于金刚石光致发光缺陷的量子随机数发生器,主要包括:532nm激光器,含有氮-空位中心的纳米金刚石样品和光子探测器。

相较于块状金刚石,纳米金刚石在价格上更便宜,成本更低。

将纳米金刚石粉末的溶液旋涂于载玻片上,烘干。从激光器发出的光照射到样品中含有氮-空位中心的纳米金刚石上,使纳米金刚石里面的氮-空位中心产生600到800nm的光子,通过光子探测器检测这种波段的光子并将每个光子到达的时间信号存储并传递给信号处理模块。

信号处理模块中通过对所有的时间数据求平均时间间隔,若在时间间隔内有光子到达则记该事件为1,若时间间隔内没有光子到达则记该事件为0,从而产生随机数。可以采用fpga处理芯片、dps芯片、gpu芯片或pc机。本发明通过sha-256算法对所得的数据进行后处理。

实施例3:按照第二种方法提取随机数信号

按照图3所示,本发明提出的基于金刚石氮-空位中心的量子随机数发生器,主要包括:532nm的激光器,含有氮-空位中心的金刚石块状样品、分束器、光子探测器。

从激光器发出的光照射到样品中含有光致发光缺陷的部位,使金刚石里面的氮-空位中心产生600-800nm波长的光子,让该波长光子通过分束器,会有50%的概率沿着一条路径和50%的几率沿着另外一条路径,通过光子探测器记录光子到达信息,并将某时刻到达一个探测器的事件定义为1,到达另外一个探测器的事件定义为0。将这些信息传递给信号处理模块。

信号处理模块可以采用fpga处理芯片、dps芯片、gpu芯片或pc机。本发明通过sha-256算法对所得的数据进行后处理。

本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1