论文部分内容阅读
随机数在日常生活、统计仿真、密码学等领域扮演着重要的角色,而产生随机数的工具被称为随机数发生器。根据产生随机数原理的不同,一般将随机数发生器分为伪随机数发生器(Pseudo Random Number Generator,PRNG)和真随机数发生器(True Random Number Generator,TRNG)。PRNG通过复杂的数学算法产生伪随机序列,该序列通常具有良好的统计特性,但同时也具有长周期性和可预测性。这些缺点使伪随机序列无法应用在安全性要求高的领域,如保密通信中。而在保密通信中,基于算法复杂度的密码体系是目前的主流方法。但随着量子计算机的不断发展,基于算法复杂度的密码体系面临着被破解的风险,更安全可靠的保密通信方法被迫切需要。随着量子保密通信的提出,“一次一密”的加密方法结合量子密钥分发(Quantum Key Distribution,QKD)系统理论上可以实现绝对安全的密码体系。在QKD系统中,量子态的制备以及诱骗态的调制是系统安全性的保障,而这两个过程中使用的真随机数的质量决定了系统是否安全和可靠。随着QKD系统的快速发展,真随机数的实时产生速率成为制约QKD系统生成密钥速率的关键因素。另外,由于QKD系统的硬件复杂性,对TRNG的高集成度要求也是需要考虑的方面。本论文着眼于此,对高集成度高速TRNG的设计这一关键技术进行系统性的深入研究。论文首先对国内外各种TRNG实现方案进行分析和讨论,总结出TRNG的设计流程一般包括:熵源的选择或构造,随机性提取方法,随机数后处理以及随机序列的统计检验。通过这四个关键步骤对各类TRNG进行综合比较,得出基于单片FPGA的TRNG在实现复杂性、易集成性、低成本等方面具有明显优势。但目前为止,基于单片FPGA的TRNG速率普遍不高仍是一个亟待解决的问题。为此论文详细分析了高速TRNG对熵源特性的需求,总结出熵源应尽量满足高频率、高随机性、易于提取这三方面的要求,并通过这些特性需求对熵源进行筛选与构建。通过“3D-charlie模型”对自时间环(Self-Time Ring,STR)振荡模式进行详细研究,推导出STR进入均匀振荡模式的条件,并利用该模式下的STR具有高分辨率高时间精度的特点,在FPGA内实现了单时钟采样方案和多时钟采样方案这两种基于STR的TRNG。并且建立数学模型对获得的随机数熵值进行了评估。两种方案分别实现单通道625 Mbps和2.5 Gbps的真随机数产生速率。通过对多时钟采样方案的多通道布局,最终实现24通道共60Gbps的真随机数产生速率。为了追求更高的真随机数产生速率,论文对伽罗瓦振荡环(Galois Ring Oscil-lator,GARO)的结构及振荡原理进行了详细研究。GARO 信号的振荡频率极高,最短周期能达到亚纳秒量级,现有的FPGA TDC无法连续测量如此短的时间间隔,故论文设计并实现了基于FPGA的超短死时间TDC并对GARO的周期进行精确测量,该TDC能测量最短周期为341 ps的脉冲信号且测量精度达到13.5ps。通过分析总结各种结构GARO的周期分布,提出了 GARO的两种振荡模式,即混沌振荡模式和长周期振荡模式,并通过理论建立数学模型证明振荡模式的正确性。然后论文通过状态采样方法和周期数字化方法对GARO反馈系数多项式的选取提出指导性建议,使其进入长周期振荡模式或稳定的混沌振荡模式。利用长周期振荡模式,在FPGA内部实现了资源消耗极少的事例采样TRNG,单通道真随机数产生速率为280Mbps。利用混沌振荡模式,在FPGA内部分别实现了原理简单的状态采样TRNG和超高速率的周期数字化TRNG,单通道真随机数产生速率分别为500 Mbps和4.42 Gbps。最后,考虑基于FPGA熵源的TRNG被攻击时的备选TRNG方案。熵源实现需要多样化,而在QKD系统中,单光子探测设备是必备的,因此本文以具有代表性的硅光电倍增管(Silicon Photomultiplier,SiPM)作为实例,详细研究了 SiPM暗计数的性质,以暗计数产生时间间隔和产生通道信息作为熵源来设计TRNG。论文设计了累计分布函数后处理方法对暗计数时间间隔进行均匀化处理,简化的线性反馈移位寄存器(Linear Feedback Shift Register,LFSR)方法对产生通道信息纠偏处理。另外,还设计了暗计数率监测模块,使后处理模块具有鲁棒性,能够对抗环境因素的影响。采样单个暗计数可以生成17-bit时间间隔随机数和2-bit通道信息随机数,最终4通道SiPM的随机数产生速率为63.54Mbps。SiPM或单光子雪崩二极管(Single-Photon Avalanche Diode,SPAD)及相应的读出电路是QKD等系统里集成的,其余数据采集和处理模块均由单片FPGA实现,故该TRNG方案不会增加QKD系统复杂度。未来在实际应用时可以通过更多的通道并行读出或添加激光源组成混合熵源实现更高的随机数产生速率。本论文的创新之处在于:系统性分析总结了单芯片TRNG的通用结构以及开发流程:深度解析高速TRNG对熵源特性的需求,通过该需求寻找了三种合适的熵源,并对它们的特性进行深入研究;设计并实现了超短死时间FPGA TDC;设计并实现了一种基于STR的TRNG、两种基于GARO的TRNG和一种基于SiPM暗计数的TRNG。