国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

高速量子隨機(jī)數(shù)產(chǎn)生中的實(shí)時(shí)并行后處理

2020-10-28 02:19吳明川張江江郭曉敏郭龑強(qiáng)
光通信研究 2020年5期
關(guān)鍵詞:邊帶后處理時(shí)鐘

吳明川,成 琛,張江江,郭曉敏,郭龑強(qiáng),2

(1. 太原理工大學(xué) a.新型傳感器與智能控制教育部重點(diǎn)實(shí)驗(yàn)室; b. 物理與光電工程學(xué)院,太原 030024;2. 山西大學(xué) 量子光學(xué)與光量子器件國家重點(diǎn)實(shí)驗(yàn)室,太原 030006)

0 引 言

隨機(jī)數(shù)是多種現(xiàn)代應(yīng)用中的重要資源,如密碼學(xué)[1-2]、統(tǒng)計(jì)學(xué)和科學(xué)模擬[3]等。量子隨機(jī)數(shù)發(fā)生器(Quantum Random Number Generator, QRNG)利用量子物理學(xué)的基本原理,理論上可以產(chǎn)生不可預(yù)測、不可復(fù)現(xiàn)的真隨機(jī)數(shù),但實(shí)際應(yīng)用中量子信號(hào)會(huì)不可避免地混入經(jīng)典噪聲,影響隨機(jī)性和安全性[4],因此需要對(duì)原始量子隨機(jī)數(shù)進(jìn)行后處理。在目前已有的多種后處理方法中,托普利茨(Toeplitz)提取器為信息論可證的隨機(jī)提取方案,且目前已開展了基于現(xiàn)場可編程門陣列(Field Programmable Gate Array, FPGA)實(shí)時(shí)后處理的實(shí)驗(yàn)研究。

基于FPGA的量子隨機(jī)數(shù)實(shí)時(shí)后處理方案中,在模數(shù)轉(zhuǎn)換器(Analog to Digital Converter, ADC)采樣獲得原始隨機(jī)數(shù)的同時(shí),需要FPGA實(shí)時(shí)對(duì)隨機(jī)數(shù)后處理。目前基于FPGA硬件已達(dá)到了3.36[5]和6.00 Gbit/s[6-7]等較高的量子隨機(jī)數(shù)產(chǎn)生速率,而采用的ADC采樣頻率達(dá)到1 GSa/s[5-7],同時(shí)依賴于FPGA對(duì)高采樣率ADC的支持,實(shí)質(zhì)上造成了QRNG的高成本,阻礙了其實(shí)用化。

本文基于量子真空態(tài)寬帶噪聲起伏[8-12]以較低采樣率的ADC并行提取3個(gè)通道的量子隨機(jī)數(shù),基于FPGA的后處理設(shè)計(jì),充分利用FPGA資源,發(fā)揮了FPGA的最大處理性能。在一個(gè)中等性能的FPGA中構(gòu)建了3路并行后處理的Toeplitz哈希提取器。最終,F(xiàn)PGA后處理模塊資源占用為61%,其余輔助模塊為30%,實(shí)現(xiàn)了提取速度為8.24 Gbit/s的3通道量子隨機(jī)數(shù)的實(shí)時(shí)產(chǎn)生及安全后處理。此外對(duì)生成的隨機(jī)數(shù)進(jìn)行了多項(xiàng)評(píng)測以保證隨機(jī)數(shù)的隨機(jī)性。

1 實(shí)驗(yàn)設(shè)計(jì)與分析

1.1 實(shí)驗(yàn)裝置

實(shí)驗(yàn)方案如圖1所示。量子熵源源于真空態(tài)的正交起伏,其為能量最低的自然純態(tài),具有較高的安全性。之前的研究工作中[10-12],基于真空狀態(tài)QRNG的生成速率受量子邊帶模式帶寬的限制。為了充分利用量子熵源,利用寬帶平衡零拍探測器(Balanced Homodyne Detector, BHD)對(duì)量子真空態(tài)分量起伏進(jìn)行提取,同時(shí)構(gòu)建3通道并行隨機(jī)數(shù)輸出及后處理。

圖1 基于真空態(tài)量子分量起伏的高速量子隨機(jī)數(shù)產(chǎn)生及實(shí)時(shí)并行后處理實(shí)驗(yàn)方案

圖1中,單模激光器工作的中心波長為1 550 nm,在BHD(1.6 GHz,BPD480C-AC)的零拍探測帶寬內(nèi)提取3個(gè)獨(dú)立的量子邊帶模式。隨后,利用混頻器和低通濾波器從零拍信號(hào)中提取3個(gè)帶寬為120 MHz、中心頻率分別為200、600 MHz和1 GHz的量子邊頻帶模式?;祛l濾波中的參考信號(hào)由SG提供。3個(gè)ADC的采樣頻率均為240 MHz,采樣精度均為16位,分別對(duì)相應(yīng)頻率模式下的信號(hào)進(jìn)行采樣,3路采集獲得的原始隨機(jī)比特分別在硬件FPGA(xc7k325t-2ffg676)中進(jìn)行實(shí)時(shí)并行后處理,最終將3個(gè)通道生成的隨機(jī)數(shù)通過高速串行計(jì)算機(jī)擴(kuò)展總線標(biāo)準(zhǔn)接口(Peripheral Component Interconnect Express, PCI-E)實(shí)時(shí)輸出。

1.2 FPGA實(shí)現(xiàn)Toeplitz后處理的資源占用分析

本文利用集成處理環(huán)境(Integration Software Environment, ISE)在一個(gè)FPGA(xc7k325t,Xilinx Inc,California,USA)中實(shí)現(xiàn)了3路Toeplitz 實(shí)時(shí)安全量子隨機(jī)數(shù)后處理。因?yàn)門oeplitz矩陣運(yùn)算中不同列之間的運(yùn)算完全獨(dú)立,而且隨機(jī)數(shù)后處理僅涉及二進(jìn)制比特的邏輯運(yùn)算,F(xiàn)PGA的特性使其非常適合多路量子隨機(jī)數(shù)生成的并行后處理,但Toeplitz后處理算法涉及大規(guī)模矩陣運(yùn)算,會(huì)占用FPGA中大量的邏輯資源,所以有必要分析并優(yōu)化其硬件資源。

本文優(yōu)化了FPGA內(nèi)部的邏輯資源,以實(shí)現(xiàn)3個(gè)Toeplitz矩陣的并行計(jì)算,并使硬件邏輯資源的利用達(dá)到最大化。本文選擇的FPGA芯片為Kentex7-325t,可提供約203 800個(gè)查找表(Look-Up Table, LUT)。ADC控制和高速輸出控制等其他模塊所需使用的LUT約占總硬件資源的28.4%。根據(jù)信息論對(duì)后處理安全性的分析[13],Toeplitz矩陣的行數(shù)m和列數(shù)n至少應(yīng)為102量級(jí),這就會(huì)導(dǎo)致剩余的資源不足以構(gòu)建相應(yīng)規(guī)模的Toeplitz矩陣。為了減少資源的使用,將整體規(guī)模較大的Toeplitz矩陣與原始隨機(jī)數(shù)序列之間的處理分解為多個(gè)Toeplitz子矩陣與較短的原始隨機(jī)數(shù)子序列之間的處理,同時(shí)增加整體后處理所需的時(shí)鐘周期數(shù),進(jìn)而構(gòu)建可即時(shí)處理ADC所生成隨機(jī)比特的隨機(jī)提取器,最終實(shí)現(xiàn)QRNG后處理的實(shí)時(shí)性。

m×nToeplitz矩陣被劃分為行列數(shù)分別為m和k的n/k個(gè)子矩陣(n為k的整數(shù)倍),因此整個(gè)Toeplitz矩陣處理被分為n/k個(gè)步驟。每個(gè)步驟都是對(duì)m×k個(gè)子矩陣和k位原始隨機(jī)數(shù)序列的乘法計(jì)算,該過程占用一個(gè)時(shí)鐘周期,具體拆分過程為

式中:s1,s2,…,sm+n-1為Toeplitz矩陣元;d1,d2,…,dn為ADC的輸入。k值越大,則每個(gè)步驟所需的邏輯資源越多。在給定的時(shí)鐘頻率下,由于實(shí)時(shí)性的要求,不能將k的值設(shè)置得太小——在一段時(shí)間(多個(gè)時(shí)鐘周期)內(nèi),對(duì)于每個(gè)通道,F(xiàn)PGA中的后處理位數(shù)必須等于ADC讀取的位數(shù)。本文中ADC采樣和FPGA后處理的時(shí)鐘頻率均為240 MHz,k的值設(shè)置為16,等于ADC的分辨率。

在確定了子矩陣列數(shù)后,需要確定3個(gè)Toeplitz矩陣的規(guī)模。根據(jù)信息論,后處理的提取比例受剩余哈希引理的約束[14]:

式中:l為可提取的隨機(jī)比特長度;Hmin為需要進(jìn)行提取的原始隨機(jī)數(shù)序列的原始最小熵含量;ε為安全參數(shù)。最小熵表征了測量結(jié)果統(tǒng)計(jì)分布中可提取的隨機(jī)數(shù)的下限,用于衡量量子隨機(jī)數(shù)的隨機(jī)性,其定義為

式中:Pr[X=V]為樣本空間X中二進(jìn)制元素V的統(tǒng)計(jì)概率;δ為ADC分辨率。在前期真空QRNG熵含量最大化研究的基礎(chǔ)上,實(shí)驗(yàn)實(shí)現(xiàn)了3路子熵源的最優(yōu)化采樣范圍設(shè)置?;?路原始數(shù)據(jù)采樣(80 Mbits)分析得出各路信號(hào)的經(jīng)典及總的統(tǒng)計(jì)分布方差[15],基于下式計(jì)算得出每一路各自的最小熵含量為

本文中FPGA的LUT總數(shù)為203 800。比較使用不同數(shù)量通道后處理時(shí)的邏輯資源占用情況,可以發(fā)現(xiàn)隨著并行通道數(shù)量的增加,PCI-E控制模塊和其他功能模塊所占用的LUT數(shù)量變化幅度不大,約占FPGA中所有LUT的28.4%,平均每個(gè)通道的Toeplitz矩陣后處理約占總硬件資源的20.3%。顯然,多個(gè)真空邊帶模式提取的原始比特僅在一個(gè)FPGA中并行獨(dú)立地進(jìn)行后處理,同時(shí)具有較高的FPGA邏輯資源利用率。

不同通道數(shù)后處理時(shí)FPGA的邏輯資源占用情況如表1所示。

表1 不同通道數(shù)后處理時(shí)FPGA的邏輯資源占用(LUT占用)

1.3 并行Toeplitz后處理算法的時(shí)序設(shè)計(jì)

基于FPGA的并行處理性能,構(gòu)建了雙層并行結(jié)構(gòu),以實(shí)現(xiàn)對(duì)3個(gè)不同量子邊帶模式的3組原始隨機(jī)比特的Toeplitz哈希后處理。在外層,3個(gè)子熵源的Toeplitz提取器是獨(dú)立構(gòu)建的,并且同時(shí)運(yùn)行;在內(nèi)層,對(duì)于每個(gè)量子邊帶模式, Toeplitz實(shí)時(shí)后處理都是在流水線算法中實(shí)現(xiàn)的,F(xiàn)PGA中各個(gè)數(shù)據(jù)信號(hào)隨時(shí)鐘信號(hào)進(jìn)行并行的硬件處理。3個(gè)通道的ADC采集和FPGA中的實(shí)時(shí)并行處理由同一個(gè)240 MHz的時(shí)鐘控制,隨后將3個(gè)通道產(chǎn)生的隨機(jī)數(shù)每16位交替混合,并實(shí)時(shí)輸出。

本文設(shè)計(jì)了后處理過程中每一通道的信號(hào)時(shí)序,如圖2所示,m×n的Toeplitz矩陣后處理,每處理n位原始隨機(jī)數(shù)需要n/k個(gè)時(shí)鐘周期。在其中的第i個(gè)時(shí)鐘周期,F(xiàn)PGA需要完成以下工作:從m+n-1位的種子中選出m+k-1位(從第(i-1)×k+1位到第m+i-1位)構(gòu)造出一個(gè)子矩陣“sub_tpz”;從ADC讀入16位原始隨機(jī)數(shù)作為一個(gè)子序列“ADC Input”;利用構(gòu)造出的子矩陣對(duì)讀入的子序列進(jìn)行處理,并將得到的處理結(jié)果存入寄存器“sum_reg”中。CLK為控制時(shí)鐘,n/k個(gè)時(shí)鐘周期過后,F(xiàn)PGA完成所有子矩陣與子序列的處理,所得到的n/k個(gè)結(jié)果(m位向量)被全部保存,然后將所有m位向量按位異或就能得到整個(gè)矩陣的計(jì)算結(jié)果“ans”。

圖2 單路后處理中的信號(hào)時(shí)序設(shè)計(jì)

圖3所示為簡化的單個(gè)通道子矩陣后處理中的寄存器傳輸級(jí)(Register-Transfer Level, RTL)電路。圖中,XOR為異或門;MUX為選通器(Multiplexer),當(dāng)其S端輸入為“1”時(shí),輸出端O的值等于I0;當(dāng)S端輸入為“0”時(shí),輸出端O的值等于I1。每一個(gè)MUX的I0輸入端為Toeplitz子矩陣的一列,矩陣元素從種子中選出,I1輸入端為0,每一個(gè)MUX的S輸入端對(duì)應(yīng)ADC輸入的一位??偣?6個(gè)MUX的輸出經(jīng)過4級(jí)異或門按位異或以得到子矩陣處理的結(jié)果。

圖3 子矩陣后處理的RTL電路

2 實(shí)驗(yàn)結(jié)果

在ISE中完成了后處理過程的設(shè)定后,使用自帶的仿真模塊對(duì)FPGA內(nèi)部信號(hào)進(jìn)行了行為仿真。如圖4所示,本文以其中一個(gè)通道的仿真結(jié)果為例,圖4(a)所示為后處理開始后幾個(gè)時(shí)鐘周期內(nèi)Toeplitz子矩陣的生成情況,該通道子矩陣規(guī)模為548×16,sub_tpzj為子矩陣的第j列,該仿真結(jié)果可用于判斷子矩陣生成邏輯的正確性。圖4(b)所示為子矩陣運(yùn)算的仿真結(jié)果。“CLK”為用上升沿控制其他信號(hào)變化的時(shí)鐘信號(hào),其余信號(hào)顯示每4個(gè)比特轉(zhuǎn)化為一位16進(jìn)制。仿真時(shí)使用已采集的隨機(jī)數(shù)代替了ADC的輸入“ADC_input1”,每個(gè)時(shí)鐘周期讀取16位比特;“sum_reg”為每個(gè)Toeplitz子矩陣處理同時(shí)鐘周期“ADC_input1”所得結(jié)果;“ans”為整個(gè)548×756的Toeplitz矩陣處理756位輸入所得結(jié)果,整個(gè)矩陣處理一次需要48個(gè)時(shí)鐘周期。由于在一次矩陣計(jì)算中需要完成所有子矩陣運(yùn)算才能得到最終結(jié)果,后處理開始后需要運(yùn)行48個(gè)時(shí)鐘周期才能開始得到結(jié)果(“ans”的前48個(gè)時(shí)鐘周期),然而這并不影響后處理的性能和實(shí)時(shí)性。

圖4 ISE軟件的仿真結(jié)果

理想的隨機(jī)數(shù)序列沒有自相關(guān)性。對(duì)經(jīng)過多路并行高速實(shí)時(shí)后處理的隨機(jī)序列進(jìn)行了自相關(guān)測試,測試時(shí)將每個(gè)比特作為一個(gè)樣本,總比特個(gè)數(shù)為107。測試結(jié)果如圖5所示,隨機(jī)數(shù)經(jīng)過后處理后,其自相關(guān)系數(shù)明顯處于較低水平,且維持在10-4~10-7量級(jí),符合高質(zhì)量真隨機(jī)數(shù)的特征。

圖5 經(jīng)后處理后隨機(jī)比特的自相關(guān)測試

隨后本文對(duì)后處理產(chǎn)生的隨機(jī)數(shù)進(jìn)行了Diehard測試。Diehard測試是一個(gè)測試隨機(jī)數(shù)生成質(zhì)量的測試包,其由George Marsaglia發(fā)布[17],是目前使用最廣泛的隨機(jī)數(shù)測試軟件之一。相較于ENT偽隨機(jī)數(shù)測試和美國國家標(biāo)準(zhǔn)與技術(shù)研究院(National Institute of Standards and Technology,NIST)數(shù)據(jù)測試包,Diehard測試是一個(gè)更嚴(yán)格的隨機(jī)性統(tǒng)計(jì)測試套件。本文測試時(shí)設(shè)置顯著性水平α=0.01,測試的樣本為1 Gbit/s大小隨機(jī)數(shù)bin文件。當(dāng)Diehard測試的每項(xiàng)測試結(jié)果P值滿足0.01

圖6 實(shí)時(shí)后處理后對(duì)生成量子隨機(jī)數(shù)的Diehard統(tǒng)計(jì)測試

此外,熵是隨機(jī)數(shù)發(fā)生器的安全性和質(zhì)量的重要評(píng)估標(biāo)準(zhǔn)。NIST的800-90系列建議書[18]給出了在隨機(jī)數(shù)生成過程中10種不同于最小熵評(píng)估的熵評(píng)估方法,利用該項(xiàng)熵評(píng)估標(biāo)準(zhǔn)對(duì)本文實(shí)驗(yàn)系統(tǒng)的熵源進(jìn)行進(jìn)一步評(píng)測。將測試包中的非獨(dú)立同分布(Independent Identically Distribution,IID)測試應(yīng)用于每一個(gè)通道的原始比特串,完成后處理前的熵源評(píng)測,3個(gè)通道熵值測試結(jié)果的平均值如圖7所示。本文工作中樣本空間的大小為216,根據(jù)測試要求,可采用低8位來進(jìn)行熵值測試,所產(chǎn)生的最小熵取自所有測試項(xiàng)的最小值,即每8位為5.65。表明后處理前的熵源具有較好的隨機(jī)性,熵源原始的隨機(jī)性和質(zhì)量得到了評(píng)測和驗(yàn)證。

圖7 后處理前對(duì)熵源的NIST熵值評(píng)估測試

3 結(jié)束語

本文實(shí)現(xiàn)了QRNG中多通道并行實(shí)時(shí)后處理,從熵源中提取了3個(gè)不重疊的量子邊頻帶模式,并分別分析了各個(gè)邊帶的最小熵。在性能中等的FPGA中設(shè)計(jì)構(gòu)建了信息論可證的多通道并行Toeplitz硬件后處理,并充分利用了FPGA的并行處理優(yōu)勢和硬件資源。本文利用NIST 800-90B評(píng)估套件測試了后處理前熵源的熵含量,同時(shí)分析測試了后處理之后生成量子隨機(jī)數(shù)的自相關(guān)性,生成的量子隨機(jī)數(shù)通過了Diehard統(tǒng)計(jì)測試。

通過上述量子隨機(jī)數(shù)產(chǎn)生及硬件后處理方法,實(shí)現(xiàn)了不同量子邊帶模式的3組原始隨機(jī)比特的Toeplitz實(shí)時(shí)后處理,量子隨機(jī)數(shù)實(shí)時(shí)生成速率為8.24 Gbit/s。3通道Toeplitz實(shí)時(shí)后處理占用了約61%的FPGA邏輯資源。這項(xiàng)工作為量子隨機(jī)數(shù)的后處理提供了一種高速安全的方法,在高速量子隨機(jī)數(shù)實(shí)時(shí)產(chǎn)生中有著重要應(yīng)用。

猜你喜歡
邊帶后處理時(shí)鐘
別樣的“時(shí)鐘”
果樹防凍措施及凍后處理
古代的時(shí)鐘
光晶格中鐿原子的拉曼邊帶冷卻
乏燃料后處理的大廠夢(mèng)
有趣的時(shí)鐘
時(shí)鐘會(huì)開“花”
乏燃料后處理困局
THALES DVOR4000天饋系統(tǒng)故障分析
數(shù)字邊帶分離混頻器的優(yōu)化與仿真
太康县| 繁峙县| 东兰县| 沾益县| 泸西县| 建阳市| 怀柔区| 宜宾市| 车致| 泰和县| 瓦房店市| 庆阳市| 阿拉善盟| 随州市| 姚安县| 安康市| 台中市| 阿拉善左旗| 福贡县| 都匀市| 会同县| 翁源县| 马尔康县| 德昌县| 新津县| 陕西省| 新邵县| 杨浦区| 错那县| 张家界市| 来安县| 肃宁县| 宁陵县| 宁夏| 济源市| 嘉荫县| 云南省| 连南| 伊吾县| 白银市| 民勤县|