《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 設(shè)計(jì)應(yīng)用 > 一種基于FPGA的真隨機(jī)數(shù)發(fā)生器設(shè)計(jì)與實(shí)現(xiàn)
一種基于FPGA的真隨機(jī)數(shù)發(fā)生器設(shè)計(jì)與實(shí)現(xiàn)
摘要: 設(shè)計(jì)并實(shí)現(xiàn)了一種基于FPGA的真隨機(jī)數(shù)發(fā)生器,利用一對(duì)振蕩環(huán)路之間的相位漂移和抖動(dòng)以及亞穩(wěn)態(tài)作為隨機(jī)源,使用線性反饋移位寄存器的輸出與原始序列運(yùn)算作為后續(xù)處理。在XilinxVirtex-5平臺(tái)的測(cè)試實(shí)驗(yàn)中,探討了振蕩器數(shù)量以及采樣頻率等參數(shù)對(duì)隨機(jī)序列的統(tǒng)計(jì)特性的影響。測(cè)試結(jié)果表明本設(shè)計(jì)產(chǎn)生的隨機(jī)序列能夠通過DIEHARD測(cè)試,性能滿足要求。由于僅使用了普通邏輯單元,使得本設(shè)計(jì)能夠迅速移植到ASIC設(shè)計(jì),大大縮短了開發(fā)周期。
Abstract:
Key words :

    真隨機(jī)數(shù)發(fā)生器(TRNG)在統(tǒng)計(jì)學(xué)、信息安全等領(lǐng)域有著廣泛的應(yīng)用。在這些領(lǐng)域中,不僅要求數(shù)據(jù)序列分布均勻、彼此獨(dú)立,而且要求其具有不可預(yù)測(cè)性,能夠抵御針對(duì)隨機(jī)性的攻擊。B.Sunar,W.J.Martin和D.R.Stinson提出,真隨機(jī)數(shù)發(fā)生器的性能受3個(gè)因素的影響:熵源(Entropy Source),采集方式(Harvesting Mechanism)和后續(xù)處理(Post-Processing)。在電路系統(tǒng)中最常見的三種真隨機(jī)數(shù)產(chǎn)生方法為:1)直接放大法:放大電路中的電阻熱噪聲等物理噪聲,通過比較器進(jìn)行比較后獲得隨機(jī)數(shù)序列;2)振蕩采樣法:用帶有抖動(dòng)的慢振蕩器通過D觸發(fā)器采樣一個(gè)周期固定的快振蕩器,輸出隨機(jī)序列;3)離散時(shí)間混沌法:利用混沌電路不可預(yù)測(cè)以及對(duì)初始條件敏感的依賴性的特點(diǎn)產(chǎn)生隨機(jī)序列。基于模擬電路的結(jié)構(gòu),熵源的統(tǒng)計(jì)分布更加理想,且熵源噪聲不隨采樣周期的變化而改變;基于數(shù)字電路的結(jié)構(gòu),集成度高,便于在FPGA等通用可編程平臺(tái)上實(shí)現(xiàn),但熵源的統(tǒng)計(jì)特性與模擬電路相比不夠理想。

   本文嘗試了一種用純數(shù)字電路實(shí)現(xiàn)的TRNG結(jié)構(gòu),且不使用諸如PLL等特殊資源,便于設(shè)計(jì)由FPGA驗(yàn)證移植到芯片設(shè)計(jì)。其核心思想是使用反相器和延時(shí)單元構(gòu)成兩個(gè)相互獨(dú)立的振蕩器,由于內(nèi)部噪聲的差異引起的相位偏移作為熵源,經(jīng)過一段時(shí)間振蕩后,隨機(jī)的狀態(tài)由數(shù)字雙穩(wěn)態(tài)電路鎖存。多組振蕩器的輸出,經(jīng)過異或和同步處理后得到隨機(jī)序列。該TRNG在FPGA物理平臺(tái)上實(shí)現(xiàn)并進(jìn)行了測(cè)試驗(yàn)證。

1 TRNG的設(shè)計(jì)

1.1 相位漂移與抖動(dòng)

由于受到電路中噪聲的影響,數(shù)字電路中時(shí)鐘信號(hào)的周期在每個(gè)不同的周期上可能縮短或者加長(zhǎng),這就是時(shí)鐘抖動(dòng)。抖動(dòng)可以用許多方法來衡量和表征,它是一個(gè)均值為零的隨機(jī)變量。振蕩器起振時(shí)刻的差異和電路元件的工藝偏差,使得振蕩器間存在相位漂移。因此抖動(dòng)信號(hào)和相位漂移適合在數(shù)字電路中作為TRNG的隨機(jī)源。

1.2 亞穩(wěn)態(tài)

鎖存器是有邏輯‘1’和‘0’兩個(gè)穩(wěn)定狀態(tài)的雙穩(wěn)態(tài)器件,但是在特殊情況下其可能進(jìn)入亞穩(wěn)態(tài),此時(shí)它的輸出是介于‘1’和‘0’之間的中間電平。如圖1所示鎖存器用兩個(gè)反相器和兩個(gè)開關(guān)表征。當(dāng)鎖存器導(dǎo)通時(shí),采樣開關(guān)閉合,保持開關(guān)打開(圖a);當(dāng)鎖存器關(guān)閉時(shí),采樣開關(guān)打開,保持開關(guān)閉合(圖b)。圖c展示了兩個(gè)反相器的直流傳輸特性。當(dāng)鎖存器關(guān)閉時(shí)A=B,穩(wěn)態(tài)是A=B=0和A=B=VDD,亞穩(wěn)態(tài)為A=B= Vm,其中Vm不是一個(gè)合理的邏輯值。因?yàn)殡娖皆谠擖c(diǎn)是相互穩(wěn)定的并且可以無限期停留,所以稱該點(diǎn)為亞穩(wěn)態(tài)。但是,任何噪聲或者其他干擾都會(huì)使得A和B最終穩(wěn)定在兩個(gè)穩(wěn)態(tài)中的一個(gè)狀態(tài)。圖d非常形象地表征了亞穩(wěn)態(tài),它就好像處于山頂?shù)男∏蛉魏胃蓴_都會(huì)使小球滾落到山兩端的穩(wěn)定狀態(tài)。

鎖存器用兩個(gè)反相器和兩個(gè)開關(guān)表征

1.3 振蕩器的設(shè)計(jì)

如圖2所示,二選一復(fù)用器既作為延遲單元又作為選通單元使用。當(dāng)選通信號(hào)為‘1’時(shí),形成兩個(gè)相互獨(dú)立、自由振蕩的環(huán)形振蕩器。當(dāng)選通信號(hào)為‘0’時(shí),兩組反相器交叉相連形成雙穩(wěn)態(tài)器件。自由振蕩時(shí),兩個(gè)振蕩器之間存在著抖動(dòng)和相位偏移。在振蕩的停止時(shí)刻,即振蕩環(huán)路斷開、兩組反相器交叉連接時(shí),反相器的瞬時(shí)輸出電壓以及內(nèi)部噪聲的絕對(duì)和相對(duì)值決定了電路最終穩(wěn)定在哪個(gè)邏輯值上。有時(shí)即使反相器跨接在一起,電路也會(huì)振蕩很長(zhǎng)一段時(shí)間才能穩(wěn)定下來,形成亞穩(wěn)態(tài)。綜上所述,隨機(jī)序列的來源用到了抖動(dòng)和亞穩(wěn)態(tài)兩種機(jī)制。

振蕩器的設(shè)計(jì)

波形如圖3所示,為了方便數(shù)據(jù)采集選通信號(hào)是由時(shí)鐘經(jīng)過分頻得到的。在自由振蕩階段,輸出信號(hào)快速變化不屬于任何穩(wěn)定狀態(tài),在圖中用斜線表示。在解析階段,電路是雙穩(wěn)態(tài)器件,此時(shí)應(yīng)該保持解析時(shí)間足夠長(zhǎng),從而使輸出電平在大多數(shù)情況下穩(wěn)定在邏輯‘1’或‘0’。

 

振蕩器波形

 

1.4 隨機(jī)源模塊的電路設(shè)計(jì)

各個(gè)振蕩器的輸出經(jīng)過異或運(yùn)算可以增加隨機(jī)性,而亞穩(wěn)態(tài)的傳播會(huì)造成后續(xù)電路的錯(cuò)誤動(dòng)作,因此使用同步器將異或后的隨機(jī)序列與后續(xù)電路隔離開來,同時(shí)也方便采集穩(wěn)定的輸出序列做性能分析。此處采用了三級(jí)寄存器的同步結(jié)構(gòu),由MTBF(Mean Time Between Failure)的定義可知,平均需要經(jīng)過數(shù)百年時(shí)間才會(huì)發(fā)生一次亞穩(wěn)態(tài)通過同步器向下傳播的事件,因此是滿足設(shè)計(jì)要求的。該模塊電路圖如圖4所示。

 

 

隨機(jī)源模塊

 

1.5 后續(xù)處理模塊的設(shè)計(jì)

理想情況下,D觸發(fā)器所采集的信號(hào)具有隨機(jī)的統(tǒng)計(jì)特性,可是FPGA內(nèi)部電路不可避免地會(huì)受到溫度漂移、電壓抖動(dòng)等不良因素影響,從而導(dǎo)致采樣得到的隨機(jī)信號(hào)中存在偏置,影響結(jié)果的統(tǒng)計(jì)特性。所以在采樣得到隨機(jī)序列后要對(duì)數(shù)據(jù)進(jìn)行消偏處理,使0和1出現(xiàn)的概率相當(dāng)。

本設(shè)計(jì)采用16位最大長(zhǎng)度二進(jìn)制偽隨機(jī)序列(Pseudo Random Binary Sequence)的輸出與采樣得到的隨機(jī)序列進(jìn)行異或運(yùn)算作為后續(xù)處理,PRBS產(chǎn)生電路消耗資源少并且使用線性反饋移位寄存器實(shí)現(xiàn),非常適合于在FPGA上實(shí)現(xiàn)。它的生成多項(xiàng)式是:

公式

多項(xiàng)式表示如圖5所示。

多項(xiàng)式表示

2 TRNG的FPGA實(shí)現(xiàn)與測(cè)試

整個(gè)TRNG的實(shí)驗(yàn)環(huán)境由外部時(shí)鐘源、FPGA開發(fā)板以及邏輯分析儀組成。TRNG采用Xilinx公司的Virtex-5系列中的XC5VLX110作為物理實(shí)現(xiàn)平臺(tái),外部時(shí)鐘頻率為64 MHz。由FPGA產(chǎn)生的隨機(jī)數(shù)據(jù),經(jīng)邏輯分析儀采集后,使用DIEHARD battery of tests of randomness隨機(jī)數(shù)測(cè)試程序進(jìn)行測(cè)試,檢驗(yàn)隨機(jī)序列的性能。

DIEHARD測(cè)試是由16項(xiàng)測(cè)試組成的用來度量隨機(jī)數(shù)發(fā)生器性能的一組統(tǒng)計(jì)學(xué)測(cè)試,它由George Marsaglia開發(fā)并于1995年首次發(fā)布。DIE HARD的測(cè)試結(jié)果叫做P-value,它由方程P-value=Fi(X)計(jì)算得到,其中Fi試圖建立樣本X在0和1間服從均勻分布的分布函數(shù)。因?yàn)镕i是漸進(jìn)逼近的,它在尾部的近似效果變差,所以數(shù)值接近0或1的P-value在真隨機(jī)序列中極少出現(xiàn)。當(dāng)被測(cè)序列隨機(jī)性能很差時(shí),會(huì)有很多P-value的值是精確到小數(shù)點(diǎn)后數(shù)位的0或者1,例如1.000 000。需要強(qiáng)調(diào)的是,P-value等于1.000 000或0.000000是序列為真隨機(jī)序列的充分不必要條件。

2.1 FPGA位置約束

為保證每個(gè)振蕩器中的兩個(gè)獨(dú)立振蕩環(huán)的理論振蕩周期相同,以便更容易在鎖定期間產(chǎn)生亞穩(wěn)態(tài),加大噪聲對(duì)輸出電平的影響,同時(shí)盡量讓各個(gè)振蕩器的輸出在進(jìn)行異或運(yùn)算前延遲不出現(xiàn)太大偏差。所以對(duì)TRNG中的振蕩環(huán)進(jìn)行位置約束:將振蕩環(huán)中的反相器約束在左右相鄰的邏輯單元(Slice)中,讓各個(gè)振蕩環(huán)分別約束在上下相鄰的邏輯單元中。

2.2 振蕩器數(shù)目對(duì)統(tǒng)計(jì)特性的影響

在32 MHz的采樣頻率下,分別以15組、19組、27組和32組振蕩器作為TRNG的隨機(jī)源,隨機(jī)序列經(jīng)過同步器后不與PRBS運(yùn)算直接輸出。將采集到的隨機(jī)序列送入測(cè)試程序進(jìn)行測(cè)試以后,其結(jié)果如表1所示。

振蕩器數(shù)目對(duì)統(tǒng)計(jì)特性的影響

可以看出,振蕩器的數(shù)目直接影響隨機(jī)源模塊產(chǎn)生序列的統(tǒng)計(jì)性能,振蕩器數(shù)目越多,TRNG輸出序列的隨機(jī)性越好。但是如果振蕩器的數(shù)目太多,會(huì)消耗過多的硬件資源,功耗也過大。因此,不宜通過單純地增加振蕩器數(shù)目的方法提高隨機(jī)序列的性能。

定性分析如下:將序列的每位看作是一個(gè)隨機(jī)的二進(jìn)制變量X,定義b是序列的偏置。即

公式

根據(jù)Piling-up引理,輸出序列的偏置是:

公式

 

其中n是輸入序列的個(gè)數(shù),bi是每個(gè)序列的偏置。容易看出b≤bi(1≤i≤n),等式當(dāng)且僅當(dāng)在bi=0()或者bi=1/2()時(shí)成立。簡(jiǎn)而言之,異或運(yùn)算顯著地減小了獨(dú)立輸入序列的偏置。假設(shè)n=16且所有bi=1/3,那么b=0.000 761可以忽略不計(jì)。

2.3 后續(xù)處理模塊對(duì)統(tǒng)計(jì)性能的改善

由上一節(jié)的分析可知,增加振蕩器數(shù)量是改善序列統(tǒng)計(jì)特性的有效方法。但前提條件是各個(gè)振蕩器相互獨(dú)立。當(dāng)振蕩器數(shù)量過多時(shí)位置約束很可能與相互獨(dú)立的要求相互矛盾。因?yàn)楦咚俚恼袷幮盘?hào)往往發(fā)生相互串?dāng)_的情況,并且消耗更多資源和功耗,所以有必要在保證TRNG包含一定數(shù)量的振蕩器的前提下,引入后續(xù)處理模塊。從而達(dá)到消耗資源較少,序列性能較好的目的。

本項(xiàng)測(cè)試以19組振蕩器作為TRNG的隨機(jī)源,輸出序列與PRBS模塊輸出進(jìn)行異或運(yùn)算,然后分別使用32,16,8,2 MHz的采樣時(shí)鐘采集數(shù)據(jù)。將數(shù)據(jù)送入測(cè)試程序進(jìn)行測(cè)試以后,結(jié)果如表2所示。

不同采樣頻率的測(cè)試結(jié)果

可以看出,TRNG生成的隨機(jī)序列全部達(dá)到了預(yù)定的性能指標(biāo)。同時(shí)不難發(fā)現(xiàn),采樣時(shí)鐘頻率對(duì)TRNG的輸出統(tǒng)計(jì)特性是有影響的,當(dāng)采樣頻率逐漸降低時(shí),TRNG的隨機(jī)性能逐步提高。出現(xiàn)這種現(xiàn)象是由于采樣頻率越高,就與振蕩頻率越接近,二者的相位偏移干擾了隨機(jī)信號(hào)的獲取影響了統(tǒng)計(jì)特性。

 

3 結(jié)束語

本文嘗試了一種純數(shù)字形式的真隨機(jī)數(shù)發(fā)生器結(jié)構(gòu),規(guī)模較小、易于移植。電路包含兩個(gè)振蕩環(huán),分為自由振蕩和鎖存至雙穩(wěn)態(tài)兩個(gè)工作狀態(tài)。利用振蕩環(huán)之間的相位偏移和抖動(dòng)以及雙穩(wěn)態(tài)器件的亞穩(wěn)態(tài)作為隨機(jī)源。本文探討了振蕩器數(shù)量對(duì)序列統(tǒng)計(jì)特性的影響,并在加入后續(xù)處理模塊的情況下試驗(yàn)了多種采樣頻率,經(jīng)測(cè)試隨機(jī)序列完全符合預(yù)定指標(biāo)。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
久久久久久久欧美精品| 国产精品超碰97尤物18| 亚洲综合社区| 日韩一级免费观看| 亚洲国产日韩欧美在线图片| 午夜视频一区在线观看| 亚洲性视频网址| 99热在线精品观看| 一级成人国产| 一区二区三区欧美| 一区二区三区精品视频在线观看| 99热这里只有成人精品国产| 日韩视频专区| 日韩亚洲成人av在线| 亚洲日本va午夜在线电影| 亚洲国产精品美女| 亚洲激情另类| 亚洲免费观看高清完整版在线观看| 最新亚洲视频| 亚洲精品一区在线观看| 亚洲美女福利视频网站| 亚洲精品小视频| 一本色道久久综合狠狠躁篇的优点 | 一区二区三区波多野结衣在线观看| 亚洲国内精品| 亚洲精品欧美日韩| 一区二区电影免费在线观看| 亚洲天堂久久| 羞羞答答国产精品www一本| 欧美在线亚洲在线| 91久久视频| 亚洲最新色图| 亚洲欧美www| 久久九九精品| 欧美成人一区二区在线 | 加勒比av一区二区| 亚洲二区在线观看| 亚洲美女91| 亚洲影院色无极综合| 久久爱www久久做| 亚洲精品一区二区在线观看| 亚洲天堂第二页| 久久精品国产69国产精品亚洲| 浪潮色综合久久天堂| 欧美精品videossex性护士| 欧美午夜一区二区福利视频| 国产欧美日韩在线观看| 狠狠色丁香久久婷婷综合丁香| 亚洲电影网站| 在线亚洲高清视频| 久久成人精品| 一本色道综合亚洲| 欧美在线观看www| 蜜臀91精品一区二区三区| 欧美日韩一区二区三区免费看| 国产九色精品成人porny| 一区在线观看| 一区二区三区久久| 久久精品一二三| 亚洲无限av看| 久久久久天天天天| 欧美日韩亚洲三区| 国产一区二区主播在线| 亚洲精品九九| 欧美一区二区三区精品电影| 亚洲人成绝费网站色www| 午夜欧美大片免费观看 | 在线日韩欧美视频| 一本久久a久久精品亚洲| 久久精品国产2020观看福利| 亚洲一区bb| 久久在线免费观看视频| 欧美性感一类影片在线播放 | 国产在线精品自拍| 亚洲精品一区在线观看| 久久精品九九| 午夜精品福利一区二区三区av| 久久久久久久久久久久久9999 | 国语自产在线不卡| 一区二区三区日韩精品视频| 亚洲夫妻自拍| 亚洲欧美日韩中文视频| 欧美激情中文字幕乱码免费| 国产日韩亚洲| 一道本一区二区| 亚洲精品美女久久久久| 久久高清免费观看| 国产精品超碰97尤物18| 亚洲国产成人av| 欧美一区二区三区在线免费观看| 在线亚洲一区二区| 欧美xxx成人| 国产婷婷97碰碰久久人人蜜臀| 亚洲精品日韩久久| 亚洲国产综合视频在线观看| 久久国产精品高清| 欧美性色视频在线| 亚洲精品乱码久久久久| 亚洲高清一二三区| 久久国产视频网| 国产精品大片wwwwww| 亚洲人成在线播放| 亚洲激情一区二区| 久久男人资源视频| 国产婷婷精品| 亚洲欧美中文在线视频| 亚洲一区二区三区中文字幕在线| 欧美精品1区| 亚洲激情第一页| 亚洲激情在线观看| 开心色5月久久精品| 黑人中文字幕一区二区三区| 午夜一级在线看亚洲| 午夜欧美理论片| 国产精品久久999| 宅男精品视频| 亚洲午夜精品国产| 欧美三级在线视频| 夜夜嗨av一区二区三区网站四季av | 国产欧美在线观看| 亚洲欧美国产日韩中文字幕| 亚洲一区二区三区免费在线观看| 欧美日韩情趣电影| 一本一本久久a久久精品综合麻豆 一本一本久久a久久精品牛牛影视 | 黄网站色欧美视频| 亚洲电影视频在线| 美女视频黄免费的久久| 亚洲承认在线| 最新亚洲一区| 欧美精品久久久久久久| 亚洲美女黄色片| 亚洲午夜电影网| 国产精品久久久久久亚洲毛片| 亚洲作爱视频| 午夜在线a亚洲v天堂网2018| 国产精品夜夜嗨| 欧美一区二区三区在线看| 久久久噜噜噜久久| 亚洲电影免费观看高清完整版| 亚洲精品久久久久久久久久久| 欧美精品电影在线| 亚洲美女一区| 亚洲影视在线| 国产午夜精品美女视频明星a级 | 亚洲韩国精品一区| 一区二区三区产品免费精品久久75| 欧美日韩在线高清| 亚洲一区视频在线| 久久精品国产99国产精品| 国产主播一区二区三区| 亚洲国产精品专区久久 | 欧美日韩精品一区二区三区四区 | 亚洲精品一级| 午夜精彩视频在线观看不卡 | 激情五月***国产精品| 亚洲精品欧洲精品| 欧美三级在线| 午夜综合激情| 欧美99久久| 夜夜嗨av色综合久久久综合网| 欧美影院精品一区| 影音先锋亚洲精品| 亚洲色图综合久久| 国产视频一区免费看| 亚洲茄子视频| 国产精品成人免费| 亚洲成在线观看| 欧美日韩精品是欧美日韩精品| 亚洲欧美精品伊人久久| 女人香蕉久久**毛片精品| 日韩视频第一页| 久久精品国产第一区二区三区| 亚洲第一综合天堂另类专| 亚洲一区免费视频| 一区二区三区在线高清| 亚洲视频每日更新| 狠狠色丁香婷婷综合影院| 一区二区欧美国产| 国精产品99永久一区一区| 在线一区二区日韩| 黄色精品一区| 亚洲综合电影| 在线精品国产欧美| 亚洲欧美网站| 亚洲高清久久| 午夜精品剧场| 亚洲国产天堂久久综合| 午夜亚洲激情| 亚洲狼人综合| 久久综合色88| 亚洲免费视频一区二区| 欧美韩日一区| 性欧美超级视频| 欧美四级剧情无删版影片| 亚洲国产精品一区二区久| 国产精品午夜电影| 99综合在线| 亚洲成人中文| 久久久久久穴| 亚洲午夜免费视频|