《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 業界動態 > 以FPGA為核心用純數字電路實現的TRNG結構

以FPGA為核心用純數字電路實現的TRNG結構

2018-08-21
關鍵詞: FPGA TRNG EntropySource

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

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

  1 TRNG的設計

  1.1 相位漂移與抖動

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

  1.2 亞穩態

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

 

1.jpg

 圖1 亞穩態

  1.3 振蕩器的設計

  如圖2所示,二選一復用器既作為延遲單元又作為選通單元使用。當選通信號為‘1’時,形成兩個相互獨立、自由振蕩的環形振蕩器。當選通信號為‘0’時,兩組反相器交叉相連形成雙穩態器件。自由振蕩時,兩個振蕩器之間存在著抖動和相位偏移。在振蕩的停止時刻,即振蕩環路斷開、兩組反相器交叉連接時,反相器的瞬時輸出電壓以及內部噪聲的絕對和相對值決定了電路最終穩定在哪個邏輯值上。有時即使反相器跨接在一起,電路也會振蕩很長一段時間才能穩定下來,形成亞穩態。綜上所述,隨機序列的用到了抖動和亞穩態兩種機制。

  

2.jpg

圖2 振蕩器結構圖

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

 

3.jpg

 圖3 波形圖

  1.4 隨機源模塊的電路設計

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

 

4.jpg

 圖4 隨機源模塊電路

  1.5 后續處理模塊的設計

  理想情況下,D觸發器所采集的信號具有隨機的統計特性,可是FPGA內部電路不可避免地會受到溫度漂移、電壓抖動等不良因素影響,從而導致采樣得到的隨機信號中存在偏置,影響結果的統計特性。所以在采樣得到隨機序列后要對數據進行消偏處理,使0和1出現的概率相當。

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

5.jpg

  多項式表示如圖5所示。

  

6.jpg

圖5 PRBS的多項式表示

  2 TRNG的FPGA實現與測試

  整個TRNG的實驗環境由外部時鐘源、FPGA開發板以及邏輯分析儀組成。TRNG采用Xilinx公司的Virtex-5系列中的XC5VLX110作為物理實現平臺,外部時鐘頻率為64 MHz.由FPGA產生的隨機數據,經邏輯分析儀采集后,使用DIEHARD battery of tests of randomness隨機數測試程序進行測試,檢驗隨機序列的性能。

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

  2.1 FPGA位置約束

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

  2.2 振蕩器數目對統計特性的影響

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

  表1 不同振蕩器數目的測試結果

7.jpg

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

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

  b=|P(X=1)-1/2|=|P(X=0)-1/2| (2)

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

8.jpg

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

  2.3 后續處理模塊對統計性能的改善

  由上一節的分析可知,增加振蕩器數量是改善序列統計特性的有效方法。但前提條件是各個振蕩器相互獨立。當振蕩器數量過多時位置約束很可能與相互獨立的要求相互矛盾。因為高速的振蕩信號往往發生相互串擾的情況,并且消耗更多資源和功耗,所以有必要在保證TRNG包含一定數量的振蕩器的前提下,引入后續處理模塊。從而達到消耗資源較少,序列性能較好的目的。

  本項測試以19組振蕩器作為TRNG的隨機源,輸出序列與PRBS模塊輸出進行異或運算,然后分別使用32,16,8,2 MHz的采樣時鐘采集數據。將數據送入測試程序進行測試以后,結果如表2所示。

  表2 不同采樣頻率的測試結果

9.jpg

  可以看出,TRNG生成的隨機序列全部達到了預定的性能指標。同時不難發現,采樣時鐘頻率對TRNG的輸出統計特性是有影響的,當采樣頻率逐漸降低時,TRNG的隨機性能逐步提高。出現這種現象是由于采樣頻率越高,就與振蕩頻率越接近,二者的相位偏移干擾了隨機信號的獲取影響了統計特性。

  3 結束語

  本文嘗試了一種純數字形式的真隨機數發生器結構,規模較小、易于移植。電路包含兩個振蕩環,分為自由振蕩和鎖存至雙穩態兩個工作狀態。利用振蕩環之間的相位偏移和抖動以及雙穩態器件的亞穩態作為隨機源。本文探討了振蕩器數量對序列統計特性的影響,并在加入后續處理模塊的情況下試驗了多種采樣頻率,經測試隨機序列完全符合預定指標。


本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:[email protected]
主站蜘蛛池模板: 国产成人3p视频免费观看 | 米奇777第四久久久99 | 台湾三级 | 国产在线观看精品香蕉v区 国产在线观看免费人成小说 | 国产另类视频 | 国产亚洲欧美日韩国产片 | 国产在线视频一区二区三区 | 香蕉久久夜色精品国产2020 | 日本三级网站在线线观看 | 国产高中生粉嫩无套第一次 | 九九九九热精品视频 | 成人深夜福利在线播放不卡 | 绝对真实偷拍盗摄高清在线视频 | 在线播放波多野结衣 | 国产精品日本不卡一区二区 | 欧美一级成人影院免费的 | 亚洲精品久久九九热 | 久久亚洲精品成人综合 | 日韩一区二区精品久久高清 | 色播基地| 国产精品免费看久久久 | 福利姬在线精品观看 | 中国美女黄色一级片 | 国产日韩欧美网站 | 精品免费国产 | 在线播放国产真实女同事 | 日本一级毛片免费播放 | 欧美巨大另类极品videohd | 国产麻豆入在线观看 | 一级毛片播放 | 午夜精品视频在线观看美女 | 女人被男人躁得好爽免费视频免费 | 亚洲高清国产一区二区三区 | 九九九九热精品免费视频 | 91成人在线播放 | 日本无玛| 国产成人www免费人成看片 | 一级a欧美毛片 | 韩国福利一区 | 99久久香蕉国产综合影院 | 久久精品高清 |