脉冲激光相位涨落的量子随机数发生器
2022-12-17金振阳万相奎付梦晗陈柳平
金振阳,万相奎,庞 恺,付梦晗,陈柳平
(1.湖北工业大学 太阳能高效利用及储能运行控制湖北省重点实验室, 武汉 430068;2.国开启科量子技术(北京)有限公司, 北京 102629)
0 引 言
随机数发生器(Random Number Generator, RNG)在日常生活中的应用已经越来越普遍,各行各业都有其身影,如随机采样、安全通信以及数值模拟等[1-3]。
真随机数的产生方案也在逐渐进步,从早期的放射性衰变再到基于光源实现[4-6]。其中基于光源的方案备受关注,最早使用的是基于离散光源的单光子路径分辨方案,随后又出现光子到达时间和光子数分辨方案[7-9];基于连续光的方案常见的有真空散粒噪声方案以及激光相位波动方案[10-11]。相比于单光子光源方案,连续光作为光源可以做到更高的随机数产生速率。现已有团队实现量子安全云平台,通过将4种不同方案原理产生的量子随机数相异或,其结果输出为新的随机数,为用户提供安全可靠的用于加密任务的随机数[12]。
随着量子密钥分发(Quantum Key Distribution, QKD)系统通信距离的不断增长,对随机数的产生速率以及实时性应用也有了更高的要求,基于此,本文研发了一种高速、实时和集成化的量子随机数发生器(Quantum Random Number Generator, QRNG)设备。
在激光相位波动方案的基础上,Abellán C团队采用脉冲型激光作为量子熵源,在实验室环境下,利用保偏光纤制成非平衡马赫曾德干涉仪(Unbal-anced Mach-Zehnder Interferometer, U-MZI)提取光强信息,再通过5.825 GHz的采样率以及14 bits的量化熵源观察到了43 Gbit/s的原始量子随机数产生速率[13]。本设计光源部分同样采用脉冲激光光源方案,不同的是,本文选择了更低成本的单模迈克尔逊干涉仪(Michelson Interferometer, MSI),在节省成本的同时将QRNG集成化,以Xilinx公司的ZYNQ7100系列芯片作为主控,能实时提取到1.1 Gbit/s经过了后处理的真随机数。
1 系统设计
本设计采用脉冲激光器方案提取相位涨落信息,由于是光脉冲信号,采用的是受激辐射发出的光,这样信号的强度较大,不会由于后续过多放大而影响采样的带宽。整个系统由光学和电学两个部分组成,如图1所示。
图1 QRNG的整体方案原理示意图Figure 1 Schematic diagram of the QRNG
1.1 方案对比
对于连续激光光源方案,由于干涉仪容易受到外界环境影响造成形变,而激光波长通常在μm级别,臂长差细微的改变也会对干涉光有较大影响,为确保干涉光发生完全干涉,连续激光光源方案需要对干涉仪做一个反馈系统来维持臂长差的稳定;而对于脉冲激光方案,如图2所示,对θ1和θ2两个相位的脉冲进行干涉,即使发生抖动引起了偏差,其干涉时的强度几乎不变,且同一个脉冲的相位是相同的,因此这种抖动对于干涉的结果影响可以忽略不计,不需要对干涉仪进行维稳,且干涉仪无需放入恒温隔振的环境,大大降低了系统难度和体积。脉冲激光通过干涉仪之后,将随机相位信息转换成了光强信息,被一个PD探测并转换为电信号,之后通过滤波、放大和采样得到最原始的随机比特,经过FPGA实时后处理最终输出量子随机数。
图2 干涉仪稳定与非稳定时干涉比较Figure 2 Comparison of interference between stable and unstable interferometers
1.2 光学部分设计
本文选用中心波长为1 550 nm的DFB Laser,调制带宽为10 Gbit/s,阈值电流为14 mA,内置隔离器以避免光源反射到振荡器腔中。边模抑制比约为56 dB,为了保证信号不失真,10 mW功率下,最大驱动电流为120 mA,同时内置半导体制冷器(Thermo Electric Cooler, TEC),用来控制激光器工作时的温度。光脉冲通过使用现有的增益开关调制方式调制出周期的脉冲,脉冲宽度为500~1 000 ps,频率最大可达500 MHz。调制的峰值电流根据实际接收ADC的量程决定,非调制部分的电流不能超过阈值电流,以达到相位随机化的效果。图3所示为250 MHz脉冲光源。
图3 250 MHz光脉冲波形Figure 3 Optical pulse waveforms at 250 MHz frequency
本设计将干涉仪这部分换成了MSI,由一个分束器和两个FRM构成,由于以上均为单模器件,与保偏器件相比,成本相对较低。
传统方案由于单模光纤的双折射效应,容易导致光的偏振状态改变,进而会影响整个系统的稳定性,因此需要用到保偏光纤;本设计采用的MSI加FRM方案,记入射光子能量为E0,入射光与电场方向夹角记为α,在经过分束器后,被FRM转过90゜重新进入到分束器,入射光子两次到达分束器时,电场方向的光强分别为
电场方向的有效能量为
因此可以认为最终的输出能量只与输入电压相关,与偏振状态无关,故不需要采用保偏器件。
此外,将脉冲频率设置为250 MHz,脉宽为500 ps,干涉仪臂长差为4 ns,为了保证干涉仪能够完全干涉,干涉仪的臂长差需要是脉冲周期的倍数。
光的干涉过程是其强度的叠加与重新分布,可以表示为
式中:E1和E2为干涉仪两臂的场强;k1和k2为光的传播方向;r为光程;ω1和ω2为光的振动方向;t为传播时间;φ1和φ2为经过分束后两路光的相位;j为虚数单位;*为共轭。由于干涉的光通常传播方向固定且振动方向相同,可以令ω1=ω2,k1=k2, 得到如下式子:
光源发出的光经过了分束器,此处进行干涉的光实质上是同一束光线被分成了两部分,因此其强度会变成一半,最后输出的干涉光强度可表示为
由于脉冲光是受激辐射所产生的,在脉冲高电平保持期间的相位是固定的,而在两个脉冲之间,激光器是处于自发辐射状态,因此在中间段的相位是随机的,无法通过一个脉冲的相位推算出另一个脉冲的相位,也就保证了熵源的真随机性。图4所示为长短臂光脉冲干涉过程。
图4 随机相位光脉冲经过MSI干涉过程Figure 4 Interference process of random phase light pulses pass through MSI
1.3 电学部分设计
电学部分主控芯片采用Xilinx的可编程片上系统(Zynq-7000 All Programmable SoC,ZYNQ)系列XC7Z100T,该芯片集成有一个FPGA内核和双核ARM cortex-A9多核处理器,如图5所示,分别对应为可编程逻辑(Programmable Logic, PL)和处理系统(Processing System, PS)。底层硬件的驱动模块在PL端实现,其中包括激光器驱动模块、温度控制模块、高速ADC采样模块和后处理模块等;PS端负责系统的输出控制、上位机交互和网络管理等功能。PL与PS两端通过高级可扩展接口(Advanced eXtensible Interface, AXI)总线实现数据交互。
图5 ZYNQ结构Figure 5 Structure of ZYNQ
1.3.1 温控电路设计
半导体激光器在工作中,其温度会持续上升,而温度的偏移又会影响激光器的波长,激光波长的稳定性是产生高质量随机数的一个必要条件,因此需要对激光器的温度进行负反馈调节。激光器内部集成有一个TEC,通过对激光器的温度、TEC的实时驱动电流进行ADC采样,以PL端的FPGA核作为主控,通过传统比例积分微分(Proportion Integration Differentiation,PID)算法对激光器的温度进行自动控制与实时监测。控制流程如图6所示。
图6 激光器温度监控方案Figure 6 Laser temperature monitoring scheme
1.3.2 滤波放大电路设计
本设计激光器发出的脉冲光频率为250 MHz,脉冲宽度为500 ps,为了减少谐波对于信号的影响,需要中心频率为250 MHz的带通滤波器,本设计选择型号为BPF-250 MHz的Bandpass Fither,其通频带小于2 MHz,符合设计需求。
由于脉冲激光信号为mV级别,想要用ADC进行采样,需要适当地将信号放大,对于本设计,选用LTC6432-15差分放大芯片,其增益控制在15 dB左右,带宽最大可达1.4 GHz>250 MHz,同样符合脉冲光源频率的设计。滤波放大电路设计如图7所示。
图7 滤波放大电路设计Figure 7 Design diagram of filter amplifier circuit
1.3.3 高速ADC采样电路设计
采样速率是QRNG设计的一个关键指标,其数值直接与最终采样速率挂钩,本设计选择使用高速16位ADC芯片AD9467,其采样率高达250 MHz,供电电压为1.8~3.3 V,采用250 MHz输入时钟双边沿采样模式,8组差分对输出,采样电压范围-0.3 ~+3.6 V。同时其提供了一个3线的串行外围接口(Serial Peripheral Interface, SPI),用户可通过该接口来对其进行配置。该芯片的双边沿采样模式极大地提高了采样率,同时节省了输入输出(Input/Output, IO)资源。高速ADC采样电路设计如图8所示。
图8 ADC采样外围电路Figure 8 Diagram of ADC sampling peripheral circuit
2 最小熵分析
最小熵评估是原始数据后处理前的一个重要步骤,该参数也是作为随机数后处理矩阵行列比例选择的一个决定性指标。
在QRNG中,最小熵Hmin可以被定义为
式中:P(x)指的是如果系统中有窃听者,且其能猜中变量x的概率;Hmin为猜中x概率在最大的情况下,能够在x中提取的随机比特数。
由式(3)可知,干涉后的脉冲强度取决于两个脉冲之间的相位差,理论分析表明,干涉强度的分布近似U字型。其他噪声主要有光探测噪声、光电流的波动和量化噪声等,这些噪声不能保证是随机的,但是通过合适的后处理手段可以消除这些噪声对随机性能的影响,因此本文关注理想情况时原始随机数的分布。利用示波器对原始数据进行采样,在Matlab软件中对该方案理论干涉强度的数据分布进行了采样数据的模拟,设干涉强度为I,由理论计算得到的I值可用式(8)作近似表达
式中:a和b为常数;X为相位差。得到的强度概率分布如图9所示。在此次模拟中共统计了10 000份数据,即X取值范围为[0,10 000],由此可得10 000份I值数据,在Matlab软件中看到强度I的概率分布图。其中横坐标轴被平均分成256份,表示不同强度值,纵坐标轴为概率值,图9即为把获得的10 000份强度I的值划分为256份得到的概率分布图。之后只需要取到最大概率值,根据式(7)就能算出最小熵Hmin。
图9 原始数据概率分布图Figure 9 Distribution map of original data probability
在实际系统板上,选取的是16位ADC对原始数据进行采样,为了保证数据的稳定性,由于最高位是符号位,在实际设计中,不存在负脉冲,因此需要将最高位舍去,12~14 bit为系统设计中高位,由于设计中为了规避ADC采样数据溢出,通常其输入电压在0.5~1.0 Vpp之间,因此高位在设计中不考虑用于随机数生成,最终,一次采样实际得到的原始随机数大小为12 bits。由于最后输出数据的实时最小熵测得通常在0.5~0.6之间,因此采用保守设计,使原始数据后处理矩阵的提取率为0.5来保证数据的真随机性,这样,每次采样可以提取到的真随机数为6 bits。结合采样率,可以算出真随机数理论输出速率R为
3 后处理分析
后处理的主要目的是为了消除原始数据的偏置,将非均匀分布序列转换成均匀分布序列。最终得到的随机数被期望近似于均匀分布,而前面提到,该方案所产生的原始随机数近似于一个U型分布,是非均匀分布,因此适当的后处理手段是必要的。
本文采用基于大型托普利茨(Toeplitz)矩阵分解的后处理方法,将Toeplitz矩阵与长度为n的随机数相乘,能够提高序列的随机性。该方法经信息论方法可以证明其安全性。Toeplitz矩阵的规模通常都比较大,一般在103量级。
式中,元素c1~cm+n-1为{0,1}随机序列。
本设计的后处理步骤是放在FPGA中进行的,可以通过移位的方式来实现该矩阵的集成。并且通过FPGA的并行处理方式,能够很大程度地加快后处理效率。由于矩阵规模较大,直接计算用时会比较长,且对于FPGA的资源要求极高,这对于实现高速实时后处理的需求来说显然不合适。本文采用了矩阵分解的方法,将大型Toeplitz矩阵分解成若干小的矩阵,将整个运算延迟到若干周期,略微增加整个后处理的时间,来减少后处理每一次计算所消耗的逻辑资源实现“面积”换“速度”,达到一个平衡点。前文提到最小熵控制在0.5,即矩阵的m(行)和n(列)的比值为0.5,经过对系统运算性能的估计,综合考虑选择m=1 024、n=2 048的Toeplitz矩阵。
在硬件设计中,Tpeplitz后处理模块是按照1 Gbit/s速率来设计的,因此最终速率受制于后处理的速率,实际输出速率要低于理论值的1.5 Gbit/s,如图10所示。
图10 随机数最终输出速率Figure 10 Final output rate of random number
图11~12所示分别为读取了5 000个随机数的时域和频域图。
图11 随机数时域特征Figure 11 Time domain characteristics of random numbers
图12 随机数频域特征Figure 12 Frequency domain characteristics of random numbers
本实验选取了128 Mbit数据进行自相关检测,将计算结果的负数部分取了绝对值,结果如图13所示,得出结论:原始的随机数自相关系数在-30 dB级别,经过Toeplitz矩阵提取之后,量子随机数自相关系数由-30 dB达到-40 dB级别,表明经过后处理之后的数据自相关性更小,随机性得到了提升。
图13 原始数据与经过后处理的随机数自相关系数Figure 13 Autocorrelation coefficient between original data and post-processed random numbers
4 随机性测试
本文采用了随机数行业内所认可的测试标准对最终产生的随机数进行随机性测试,主要验证了国密测试[14]以及美国国家标准与技术研究院(National Institute of Standards and Technology, NIST)测试[15]。需要说明的是,国密测试及NIST测试中有若干相同的项目,其中自相关检测、扑克检测和游程分布为国密测试独有项目;随机游动检测、随机游动状态频数检测、重叠模块、非重叠模块以及Lempel-Ziv压缩检测为NIST测试独有项目。显著性水平α取0.01,该指标用来评估假设方案的可靠性;P-value表示当前事件是否是一个罕见事件,具体意义指在国密测试中,被测序列符合随机性检验标准但被误判为不合格的概率。
图14所示为国密标准规定的随机数各项目测试结果,可以看到所有的P-value>α,最小值是游程分布所测得的数值,为0.077 131>10-2。每组1 Gbit/s数据被分成1 000份,均有超过981份数据通过测试。图15所示为NIST测试项,测试结果显示最小的P-value是随机游动检测,值为0.021 489>10-2。综上表明,本文设计的QRNG所产生的量子随机数能够通过标准随机性测试,具有良好的真随机性,能够作为QKD系统安全可靠的密钥来源。最终用于信通院测试的随机数是在1.1 Gbit/s速率下实时采集到的3组数据,并且全部通过了国密文件GB/T 32915-2016中所指定的测试项目以及NIST检测项目。
图14 国密测试结果Figure 14 National confidential test results
图15 NIST测试结果Figure 15 NIST test results
5 结束语
本文基于脉冲光源相位随机特征研发出一种高速、实时和集成化的QRNG。本设计采用单模MSI转换光强信息,利用250 MHz采样率以及16 bits的ADC来对熵源进行采样,经过在FPGA中集成的Toeplitz-hash后处理矩阵,得到了1.1 Gbit/s 的随机数实时产生速率。同时在设备稳定运行时输出的数据能够通过国密所包含的15项测试以及NIST的16项测试,最终产品通过了我国信通院的各项测试。本文设计的QRNG产品在兼顾稳定性的同时,速率高于同行产品,不仅对脉冲型的相位噪声方案再一次做出了验证,而且做到了产品的高速性、实时性和集成化,能够满足现今QKD系统对于随机数的应用需求。