CN106775585B - 一种基于单光子探测器的真随机数源产生系统及方法 - Google Patents
一种基于单光子探测器的真随机数源产生系统及方法 Download PDFInfo
- Publication number
- CN106775585B CN106775585B CN201611255369.2A CN201611255369A CN106775585B CN 106775585 B CN106775585 B CN 106775585B CN 201611255369 A CN201611255369 A CN 201611255369A CN 106775585 B CN106775585 B CN 106775585B
- Authority
- CN
- China
- Prior art keywords
- random number
- module
- spd
- fpga
- end module
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
- G06F7/588—Random number generators, i.e. based on natural stochastic processes
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)
- Photometry And Measurement Of Optical Pulse Characteristics (AREA)
- Optical Communication System (AREA)
Abstract
本发明涉及真随机数源技术领域,具体涉及一种基于单光子探测器的真随机数源产生系统及方法。系统包括:上位机、FPGA和单光子探测器(SPD),方法包括:第一步:上位机通过接口模块向所述FPGA发送指令,寄存器模块对所述指令进行解析,同时伪随机数产生模块不断向接收端模块发送随机数;第二步:发送模块向所述SPD发送对应频率的开门触发信号以及所述SPD的雪崩阈值电压;第三步:SPD接收到相应的开门触发信号后,随机地向接收端模块发送探测信号,所述接收端模块采集所述SPD发送的探测信号,接收端模块的内部工作时钟对所述探测信号进行采样;第四步:上位机收取回传的随机数,并将收到的随机数写入文件做随机性检测,本发明得到的随机数随机性更好。
Description
技术领域
本发明涉及真随机数源技术领域,具体涉及一种基于单光子探测器的真随机数源产生系统及方法。
背景技术
传统随机数源产生的方法主要用算法产生和物理热噪声芯片两种方法产生;通过算法产生随机数的速率可以很快,但由于算法固定,只要知道了该算法,产生的随机数原则上即可以预测,因此得到的随机数是仍然不是真随机数;而使用热噪声芯片产生的随机数,目前市面上虽然已有标称速率为20MHz的随机数芯片,但实际测试其随机性得到的结果并不理想,即使将其降频运行,所得到的随机数的随机性依旧达不到理想的效果。这对当前很多需要真随机数源作为输入的应用场景中显然无法满足需求。因此如何设计一种能够产生完全随机性的真随机数源的系统及方法成为本领域亟需解决的技术问题。
发明内容
本发明针对现有技术的不足,提出了一种基于单光子探测器的真随机数源产生系统及方法,相对于传统随机数产生方法,本发明所述的系统和方法得到的随机数随机性更好,符合国家密码管理局《随机性检测规范》中所有规定检测。
为了解决上述技术问题,本发明采取的技术方案为:本发明提出了一种基于单光子探测器的真随机数源产生系统,根据本发明的实施例,包括:上位机、FPGA和单光子探测器(SPD),其中,所述上位机和所述FPGA相连,用于向所述FPGA发送控制信息,所述FPGA分别与所述上位机和所述SPD相连,所述FPGA包括:接口模块、寄存器模块、发送端模块、接收端模块和伪随机数产生模块,其中,所述接口模块与所述寄存器模块相连,所述寄存器模块分别与所述接口模块、发送端模块和接收端模块相连,用于对控制信息进行解析,所述发送端模块分别与所述寄存器模块和所述SPD相连,用于向所述SPD发送开门触发信号以及SPD的雪崩阈值电压,所述接收端模块分别与所述寄存器模块、伪随机数产生模块和所述SPD相连,用于采集所述SPD发出的探测信号和接收所述伪随机数产生模块产生的随机数,所述接收端模块包括:内部工作时钟,用于对所述探测信号进行采样,当采集到的探测信号为高电平时,则所述接收端模块将此时收到的来自所述伪随机数产生模块产生的随机数回传给所述上位机,当采集到的探测信号为低电平时,则丢弃此时收到的来自所述伪随机数产生模块产生的随机数,所述伪随机数产生模块与所述接收端模块相连,用于产生随机数并将产生的随机数发送至所述接收端模块,所述伪随机数产生模块包括:43bit线性移位反馈寄存器(LFSR)和37bit元胞自动机移位寄存器(CASR),所述伪随机数产生模块产生随机数的方式为:分别在所述43bit线性移位反馈寄存器(LFSR)产生的随机数和37bit元胞自动机移位寄存器(CASR)产生的随机数中,各选取16bit位宽的随机数进行异或运算,将异或运算后的随机数传递给所述接收端模块,所述SPD分别与所述FPGA中的发送端模块和接收端模块相连,用于接收所述发送端模块发送的开门触发信号且完全随机地向所述接收端模块发送探测信号,所述探测信号为暗记数信号。
根据本发明的实施例,所述接口模块为USB2.0接口模块,所述上位机和FPGA通过USB2.0接口模块进行通信,所述FPGA与所述SPD通过同轴电缆相连。
在本发明的另一方面,提供了一种利用前面所述的基于单光子探测器的真随机数源产生系统进行产生真随机数源的方法,根据本发明的实施例,包括以下步骤:第一步:所述上位机通过接口模块向所述FPGA发送控制信息,所述FPGA中的程序进行加载,所述寄存器模块对所述控制信息进行解析,同时所述伪随机数产生模块进入工作状态,不断向所述接收端模块发送所述伪随机数产生模块产生的随机数;第二步:通过所述寄存器模块解析后的控制信息控制所述发送模块向所述SPD发送对应频率的开门触发信号以及所述SPD的雪崩阈值电压,调整所述SPD的暗记数信号水平;第三步:所述SPD接收到相应的开门触发信号后,随机地向所述接收端模块发送探测信号,所述接收端模块采集所述SPD发送的探测信号,所述接收端模块的内部工作时钟对所述探测信号进行采样,当采集到的探测信号为高电平时,则所述接收端模块将此时收到的来自所述伪随机数产生模块产生的随机数回传给所述上位机,当采集到的探测信号为低电平时,则丢弃此时收到的来自所述伪随机数产生模块产生的随机数;第四步:所述上位机收取所有由所述FPGA回传的随机数数据,并将收到的随机数写入文件;第五步:对写入所述文件的随机数做随机性检测。
本发明的有益效果为:相对于传统随机数产生方法,本发明所述的系统和方法得到的随机数随机性更好,同时本发明所述的单光子探测器(SPD)的暗记数是完全真随机的,暗记数水平可调,得到的随机数全部通过了国家密码管理局《随机性检测规范》规定的针对真随机数所需的15种算法检测。
附图说明
图1为本发明基于单光子探测器的真随机数源产生系统结构示意框图。
图2为本发明FPGA结构示意框图。
图3为本发明伪随机数产生模块框图。
具体实施方式
为了使本领域技术人员更好地理解本发明的技术方案,下面结合具体实施例对本发明作进一步的详细说明。下面描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
本发明提出了一种基于单光子探测器的真随机数源产生系统,图1为本发明基于单光子探测器的真随机数源产生系统结构示意框图,参照图1所示,根据本发明的实施例,包括:上位机、FPGA和单光子探测器(SPD),其中,所述上位机和所述FPGA通过USB2.0接口模块进行通信,用于向所述FPGA发送控制信息,所述FPGA分别与所述上位机和所述SPD相连,其中,所述FPGA与所述SPD通过同轴电缆相连。根据本发明的一些实施例,本发明所述上位机的具体种类不受限制,只要是能够发送和接收操控控制信息的装置即可。
根据本发明的实施例,图2为本发明FPGA结构示意框图,参照图1和图2所示,所述FPGA包括:USB2.0接口模块、寄存器模块、发送端模块、接收端模块和伪随机数产生模块,其中,所述接口模块与所述寄存器模块相连,所述寄存器模块分别与所述接口模块、发送端模块和接收端模块相连,用于对控制信息进行解析,所述发送端模块分别与所述寄存器模块和所述SPD相连,用于向所述SPD发送开门触发信号以及SPD的雪崩阈值电压,所述接收端模块分别与所述寄存器模块、伪随机数产生模块和所述SPD相连,用于采集所述SPD发出的探测信号和接收所述伪随机数产生模块产生的随机数,所述接收端模块包括:内部工作时钟,用于对所述探测信号进行采样,当采集到的探测信号为高电平时,则所述接收端模块将此时收到的来自所述伪随机数产生模块产生的随机数回传给所述上位机,当采集到的探测信号为低电平时,则丢弃此时收到的来自所述伪随机数产生模块产生的随机数,所述伪随机数产生模块与所述接收端模块相连,用于产生随机数并将产生的随机数发送至所述接收端模块,图3为本发明伪随机数产生模块框图,参照图3所示,所述伪随机数产生模块包括:43bit线性移位反馈寄存器(LFSR)和37bit元胞自动机移位寄存器(CASR),所述伪随机数产生模块产生随机数的方式为:分别在所述43bit线性移位反馈寄存器(LFSR)产生的随机数和37bit元胞自动机移位寄存器(CASR)产生的随机数中,各选取16bit位宽的随机数进行异或运算,将异或运算后的随机数传递给所述接收端模块,具体算法表示为:
本发明所述LFSR 的随机数生成式为:X43+X41+X20+X+1
本发明所述CASR的随机数生成式为:
其中,所述接收端模块的内部工作时钟对所述探测信号进行采样,当采集到的探测信号为高电平时,则所述接收端模块将此时收到的来自所述伪随机数产生模块产生的随机数回传给所述上位机,当采集到的探测信号为低电平时,则丢弃此时收到的来自所述伪随机数产生模块产生的随机数。
根据本发明的实施例,参照图2所示,所述SPD分别与所述FPGA中的发送端模块和接收端模块相连,用于接收所述发送端模块发送的开门触发信号且完全随机地向所述接收端模块发送探测信号,所述探测信号为暗记数信号。
在本发明的另一方面,提供了一种利用前面所述的系统进行产生真随机数源的方法,根据本发明的实施例,包括以下步骤:
第一步:所述上位机通过接口模块向所述FPGA发送控制信息,所述FPGA中的程序进行加载,所述寄存器模块对所述控制信息进行解析,同时所述伪随机数产生模块进入工作状态,不断向所述接收端模块发送所述伪随机数产生模块产生的随机数。
根据本发明的实施例,包括:上位机、FPGA和单光子探测器(SPD),其中,所述上位机和所述FPGA通过USB2.0接口模块进行通信,用于向所述FPGA发送控制信息,所述FPGA分别与所述上位机和所述SPD相连,其中,所述FPGA与所述SPD通过同轴电缆相连。
第二步:通过所述寄存器模块解析后的控制信息控制所述发送模块向所述SPD发送对应频率的开门触发信号以及所述SPD的雪崩阈值电压,调整所述SPD的暗记数信号水平。
第三步:所述SPD接收到相应的开门触发信号后,随机地向所述接收端模块发送探测信号,所述接收端模块采集所述SPD发送的探测信号,所述接收端模块的内部工作时钟对所述探测信号进行采样,当采集到的探测信号为高电平时,则所述接收端模块将此时收到的来自所述伪随机数产生模块产生的随机数回传给所述上位机,当采集到的探测信号为低电平时,则丢弃此时收到的来自所述伪随机数产生模块产生的随机数。
根据本发明的实施例,图2为本发明FPGA结构示意框图,参照图1和图2所示,所述FPGA包括:USB2.0接口模块、寄存器模块、发送端模块、接收端模块和伪随机数产生模块,其中,所述接口模块与所述寄存器模块相连,所述寄存器模块分别与所述接口模块、发送端模块和接收端模块相连,用于对控制信息进行解析,所述发送端模块分别与所述寄存器模块和所述SPD相连,用于向所述SPD发送开门触发信号以及SPD的雪崩阈值电压,所述接收端模块分别与所述寄存器模块、伪随机数产生模块和所述SPD相连,用于采集所述SPD发出的探测信号和接收所述伪随机数产生模块产生的随机数,所述接收端模块包括:内部工作时钟,用于对所述探测信号进行采样,当采集到的探测信号为高电平时,则所述接收端模块将此时收到的来自所述伪随机数产生模块产生的随机数回传给所述上位机,当采集到的探测信号为低电平时,则丢弃此时收到的来自所述伪随机数产生模块产生的随机数,所述伪随机数产生模块与所述接收端模块相连,用于产生随机数并将产生的随机数发送至所述接收端模块。
第四步:所述上位机收取所有由所述FPGA回传的随机数数据,并将收到的随机数写入文件。
第五步:对写入所述文件的随机数做随机性检测。
发明人发现,根据本发明所述的基于单光子探测器的真随机数源产生系统及方法,相对于传统随机数产生方法,本发明所述的系统和方法得到的随机数随机性更好,同时本发明所述的单光子探测器(SPD)的暗记数是完全真随机的,暗记数水平可调,得到的随机数全部通过了国家密码管理局《随机性检测规范》规定的针对真随机数所需的15种算法检测。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示意性实施例”、“示例”、“具体示例”或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语 “相连”和“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是点连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型,同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处。
Claims (2)
1.一种基于单光子探测器的真随机数源产生系统产生真随机数源的方法,其中,所述真随机数源产生系统包括:上位机、FPGA和单光子探测器,即SPD,其中,所述上位机和所述FPGA相连,用于向所述FPGA发送控制信息,所述FPGA分别与所述上位机和所述SPD相连;所述FPGA包括:接口模块、寄存器模块、发送端模块、接收端模块和伪随机数产生模块,其中,所述接口模块与所述寄存器模块相连;所述寄存器模块分别与所述接口模块、发送端模块和接收端模块相连,用于对控制信息进行解析;所述发送端模块分别与所述寄存器模块和所述SPD相连,用于向所述SPD发送开门触发信号以及SPD的雪崩阈值电压;所述接收端模块分别与所述寄存器模块、伪随机数产生模块和所述SPD相连,用于采集所述SPD发出的探测信号和接收所述伪随机数产生模块产生的随机数,所述接收端模块包括:内部工作时钟,用于对所述探测信号进行采样,当采集到的探测信号为高电平时,则所述接收端模块将此时收到的来自所述伪随机数产生模块产生的随机数回传给所述上位机,当采集到的探测信号为低电平时,则丢弃此时收到的来自所述伪随机数产生模块产生的随机数;所述伪随机数产生模块与所述接收端模块相连,用于产生随机数并将产生的随机数发送至所述接收端模块,所述伪随机数产生模块包括:43bit线性移位反馈寄存器和37bit元胞自动机移位寄存器,所述伪随机数产生模块产生随机数的方式为:分别在所述43bit线性移位反馈寄存器产生的随机数和37bit元胞自动机移位寄存器产生的随机数中,各选取16bit位宽的随机数进行异或运算,将异或运算后的随机数传递给所述接收端模块;所述SPD分别与所述FPGA中的发送端模块和接收端模块相连,用于接收所述发送端模块发送的开门触发信号且完全随机地向所述接收端模块发送探测信号,所述探测信号为暗记数信号;
其特征在于,所述方法包括以下步骤:
第一步:所述上位机通过接口模块向所述FPGA发送控制信息,所述FPGA中的程序进行加载,所述寄存器模块对所述控制信息进行解析,同时所述伪随机数产生模块进入工作状态,不断向所述接收端模块发送所述伪随机数产生模块产生的随机数;
第二步:通过所述寄存器模块解析后的控制信息控制所述发送模块向所述SPD发送对应频率的开门触发信号以及所述SPD的雪崩阈值电压,调整所述SPD的暗记数信号水平;
第三步:所述SPD接收到相应的开门触发信号后,随机地向所述接收端模块发送探测信号,所述接收端模块采集所述SPD发送的探测信号,所述接收端模块的内部工作时钟对所述探测信号进行采样,当采集到的探测信号为高电平时,则所述接收端模块将此时收到的来自所述伪随机数产生模块产生的随机数回传给所述上位机,当采集到的探测信号为低电平时,则丢弃此时收到的来自所述伪随机数产生模块产生的随机数;
第四步:所述上位机收取所有由所述FPGA回传的随机数数据,并将收到的随机数写入文件;
第五步:对写入所述文件的随机数做随机性检测。
2.根据权利要求1所述的方法,其特征在于,所述接口模块为USB2.0接口模块,所述上位机和FPGA通过USB2.0接口模块进行通信,所述FPGA与所述SPD通过同轴电缆相连。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611255369.2A CN106775585B (zh) | 2016-12-30 | 2016-12-30 | 一种基于单光子探测器的真随机数源产生系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611255369.2A CN106775585B (zh) | 2016-12-30 | 2016-12-30 | 一种基于单光子探测器的真随机数源产生系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106775585A CN106775585A (zh) | 2017-05-31 |
CN106775585B true CN106775585B (zh) | 2019-04-30 |
Family
ID=58954494
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611255369.2A Active CN106775585B (zh) | 2016-12-30 | 2016-12-30 | 一种基于单光子探测器的真随机数源产生系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106775585B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112305961B (zh) * | 2020-10-19 | 2022-04-12 | 武汉大学 | 新型信号探测采集设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102176199A (zh) * | 2011-01-28 | 2011-09-07 | 中国科学院西安光学精密机械研究所 | 一种真随机数产生方法及装置 |
CN105117198A (zh) * | 2015-05-20 | 2015-12-02 | 安徽问天量子科技股份有限公司 | 量子随机数发生器及量子随机数发生方法 |
CN106197692A (zh) * | 2015-05-25 | 2016-12-07 | 科大国盾量子技术股份有限公司 | 一种单光子探测器的测试装置及其测试方法 |
-
2016
- 2016-12-30 CN CN201611255369.2A patent/CN106775585B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102176199A (zh) * | 2011-01-28 | 2011-09-07 | 中国科学院西安光学精密机械研究所 | 一种真随机数产生方法及装置 |
CN105117198A (zh) * | 2015-05-20 | 2015-12-02 | 安徽问天量子科技股份有限公司 | 量子随机数发生器及量子随机数发生方法 |
CN106197692A (zh) * | 2015-05-25 | 2016-12-07 | 科大国盾量子技术股份有限公司 | 一种单光子探测器的测试装置及其测试方法 |
Non-Patent Citations (2)
Title |
---|
物理真随机数发生器;郭弘 等;《科学通报》;20091231;第54卷(第23期);第3653页左栏 |
等时间间隔内光子数奇偶随机性的光量子随机源;鄢秋荣 等;《光子学报》;20150630;第44卷(第6期);第1-5页 |
Also Published As
Publication number | Publication date |
---|---|
CN106775585A (zh) | 2017-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Mingesz et al. | Johnson (-like)–Noise–Kirchhoff-loop based secure classical communicator characteristics, for ranges of two to two thousand kilometers, via model-line | |
US9882716B2 (en) | Method and apparatus for generating and processing quantum signal in regular frame unit for quantum encryption key distribution | |
US11411658B1 (en) | Entangled quantum state receiver | |
EP2670642B1 (en) | Quantum key distribution | |
US20160013937A1 (en) | Method and apparatus for generating raw key using double buffering scheme in implementing quantum key distribution protocol | |
Pljonkin | Vulnerability of the synchronization process in the quantum key distribution system | |
US9705777B2 (en) | System and method for monitoring encoded signals in a network | |
CN107040372B (zh) | 在设备中根据传输通道的所测量的物理特性产生机密的值序列的方法 | |
Stipčević | Quantum random number generators and their use in cryptography | |
CN106775585B (zh) | 一种基于单光子探测器的真随机数源产生系统及方法 | |
CN105468332B (zh) | 一种数据处理后置型的即时真随机信号发生器 | |
Zhao et al. | An adaptive physical layer key extraction scheme for smart homes | |
CN104459802B (zh) | 一种用于电法勘探系统中的发射装置 | |
CN208739118U (zh) | 一种误码检测装置 | |
Pivoluska et al. | Semi-device-independent random number generation with flexible assumptions | |
Benton et al. | A compact free space quantum key distribution system capable of daylight operation | |
CN105099667A (zh) | 用于在网络中生成密钥的方法以及为此设立的网络用户 | |
US9641216B2 (en) | Monitoring devices and systems for monitoring frequency hopping wireless communications, and related methods | |
Forman et al. | The generation of shared cryptographic keys through half duplex channel impulse response estimation at 60 GHz | |
Abbas et al. | Secure quantum key distribution system by applying decoy states protocol | |
Aknesil et al. | Is your FPGA transmitting secrets: Covert antennas from interconnect | |
Chiarello et al. | The use of FPGA in drift chambers for high energy physics experiments | |
Stępień et al. | Application of the DLFSR generators in spread spectrum communication | |
Krikis et al. | Design and implementation of efficient reconfigurable cipher algorithms for wireless sensor networks | |
Melhem et al. | A Static-Loop-Current Attack against the KLJN Secure Key Exchange System |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | 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 |