摘要:通過對熱噪聲模型和靈敏放大器匹配機理的研究,提出一種可自適應匹配的真隨機數發生器(True Random Number Generator,TRNG)設計方案。該方案首先在靈敏放大器中嵌入可配置NMOS陣列,通過調整陣列的等效寬長比實現靈敏放大器工作電流的平衡;然后在輸出端增設負載隔離單元實現互補輸出負載的匹配,提高序列隨機性;最后通過動態補償算法實現TRNG自適應校準,提高其適用范圍。電路采用TSMC 65 nm CMOS工藝實現,實驗結果表明TRNG在0.8 V~1.4 V電壓和-40 ℃~120 ℃的環境下能正常工作,最大輸出速率可達1 GHz,平均能效為0.165 pJ/bit。輸出的隨機序列通過了NIST-SP 800-22測試。
0 引言
隨著電子技術和通信技術的發展,對信息安全性的要求越來越高,真隨機數發生器(True Random Number Generator,TRNG)已成為安全系統中不可或缺的一部分[1]。相較偽隨機數發生器(Random Number Generator,RNG),TRNG的輸出序列具有不可預測性且滿足嚴格的統計測試要求,所以通常選取熱噪聲、核衰變、宇宙輻射等物理現象作為熵源[2],其中應用最廣泛的是熱噪聲。熱噪聲由導體中載流子的熱振動引起,它會造成溝道電流微小波動從而在電阻兩端產生電壓[3]。基于熱噪聲的TRNG電路設計方法主要包括:熱噪聲直接放大、環振抖動采樣和亞穩態三種方法。熱噪聲直接放大法通過高增益高帶寬差分運算放大器將大電阻上的熱噪聲直接放大,再由比較器將放大信號進行數模轉換后輸出。
但隨著工藝的更新,放大器本身存在的輸出失調、襯底噪聲耦合、有限帶寬等非理想因素都將明顯影響系統輸出的隨機性[4];環振抖動采樣是將熱噪聲轉換為相位抖動,用低頻信號采樣獲得隨機輸出[5]。但因為相位抖動幅度小,所以需要多個周期對相位幅度進行累加才能產生隨機輸出,導致電路吞吐率極低;亞穩態則是先讓雙穩態電路進入亞穩態區間,在釋放瞬間由熱噪聲決定輸出狀態。
其優點是可以采用全數字化設計[3,6],但由于亞穩態工作區間小,因此微小的器件和負載失配都會使電路偏離亞穩態工作區間。為了使電路工作在亞穩態,文獻[6]引入了負反饋調節,但由于未考慮負載失配的情況,反饋調節難度大,且狀態機在啟動時完成反饋調節后即停止工作,無法根據環境變化進行二次調節,降低了其應用范圍。鑒此,本文將結合熱噪聲放大和亞穩態設計方法的優點提出相應的設計方案,有效提高輸出序列的隨機性,并通過仿真驗證。
1 熱噪聲模型與靈敏放大器
影響TRNG輸出序列隨機性的關鍵是熱噪聲的有效放大,所以先分析熱噪聲模型和靈敏放大器工作機理。
1.1 熱噪聲模型
熱噪聲由導體中載流子的熱振動引起,它使溝道電流產生微小波動,從而在在電阻兩端產生波動電壓。在頻域中,其頻譜密度如式(1)所示[7]:
其中,η(t,Δt)是呈高斯概率分布的隨機數,每隔Δt更新一次,σ是噪聲信號的幅值。可知熱噪聲頻譜為一恒定常數,在時域中幅值呈高斯分布,是理想的熵源。但因幅值較小(實際電路中約為1.5 mV[3]),微小的工藝偏差和環境影響都會掩蓋噪聲的作用,因此需要精度高、匹配性好的放大器將其快速放大到數字電路能識別的電平值。
1.2 靈敏放大器
靈敏放大器具有靈敏度高、運行速度快、結構簡單等優點,是放大熱燥聲的理想器件。其基本電路結構如圖1所示。
當時鐘信號CLK=0時,電路進入預充電階段,互補輸出端Q和QN被預充電至高電平;當時鐘信號CLK=1時,電路進入求值階段,求值原理如式(3)所示:
若靈敏放大器工作電流完全平衡,互補輸出Q和QN在求值階段最終會穩定在中間電平。實際電路中,在熱噪聲的影響下,I1、I2大小會隨機波動,從而在求值階段產生隨機輸出。
2 自適應匹配
靈敏放大器工作電流平衡是獲得理想隨機序列的關鍵。但負載失配、工藝偏差等非理想因素都會影響電流大小,使輸出序列產生明顯的偏向性。因此,需要靈敏放大器在工作中能夠自適應匹配。
2.1 可配置NMOS陣列
靈敏放大器中各MOS管寬長比的工藝偏差可等效為圖1中晶體管N3和N4的偏差[4],造成工作電流失衡。為補償工藝偏差,可將圖1中的晶體管N3和N4替換為可配置NMOS陣列NF1和NF2,其內部結構如圖2所示。
以ncf0為例,ncf0高電平時,晶體管開關N1導通,N2并聯在N0兩端,可配置NMOS陣列的等效寬長比升高,相應支路工作電流增大;反之電流減小,從而有效補償工藝偏差提高序列隨機性。
2.2 動態補償算法
為使靈敏放大器可根據輸出序列的偏向性調整可配置NMOS陣列來補償偏差,提出動態補償算法。算法采用單級等距調節,復雜性低易于實現。其狀態轉移圖如圖3所示。
有限狀態機擁有動態配置和動態監控兩種模式。TRNG在上電啟動后經初始化進入動態配置模式。動態配置模式下每4個時鐘周期,狀態機對TRNG輸出的4位數據進行一次讀取檢測。若4位數據中“1”的個數多于“0”,令flag=1。反之令flag=0。狀態機根據flag的值令可配置NMOS陣列NF1、NF2自加或自減。當中“1”和“0”個數相等時,若輸出為“1100”或“0011”,則令flag=2,配置狀態維持不變。若輸出為“1010”或“0101”,則判定TRNG在當前配置下,受熱噪聲影響可以等概率輸出“1”或“0”,令flag=3,配置完成,狀態機進入動態監控模式。動態監控模式下,若檢測到輸出序列連續出現12個“1”或“0”,判定輸出序列失去隨機性,令flag=4,狀態機返回動態配置模式。否則,狀態機維持在動態監控模式,可配置NMOS陣列配置不變。
2.3 TRNG電路整體結構
可自適應匹配的TRNG整體結構如圖4所示。靈敏放大器在熱噪聲的影響下每個時鐘周期隨機輸出低電平“0”或高電平“1”,輸出數據存儲在移位寄存器中。動態補償模塊根據移位寄存器中的數據偏向性調節可配置NMOS陣列,使電路工作在高熵值區域。負載匹配模塊用以降低負載失配對輸出序列隨機性的影響。
3 實驗結果和分析
整體電路采用Cadence的Verilog/Spectre混合仿真器對模擬電路和Verilog模塊進行聯合仿真。在1.2 V電源電壓下,令時鐘頻率為1 GHz并手動引入10%的工藝偏差,輸出序列如圖5所示。可知當0 μs時,輸出偏向1,經過約0.4 μs的動態配置,TRNG輸出序列隨機并進入動態監控模式。在1.5 μs時刻,再次引入工藝偏差,輸出序列偏向1。TRNG重新進入動態配置模式,并在約1.92 μs完成動態配置進入動態監控模式。仿真結果表明電路實現自適應匹配功能,具有良好的抗工藝偏差特性。
將仿真獲得的100 000位原始序列經過馮諾依曼后處理后得到約26 000位數據,分成10組,輸入到NIST測試套件[8]中進行檢測。測試結果如表1所示。從測試結果可以看出,各項P值都處在較高水平,隨機性優異。
將所得序列輸入到MATLAB測試自相關特性,結果如圖6所示。由圖可知,在95%的自信區間內2 000位連續數據間的自相關性近似為0。
為了驗證電路的魯棒性,TRNG在0.8 V~1.4 V電源電壓,-40 ℃、40 ℃和120 ℃的環境下進行仿真,將輸出序列送入NIST套件進行測試。測試結果如圖7所示。P值大于0.1則通過隨機測試。可知TRNG在各溫度及電壓下均有良好的隨機性,且P值隨著電源電壓的升高呈上升趨勢。
4 結論
本設計首先采用靈敏放大器代替高增益高帶寬差分運算放大器,既避免運放設計的困難,同時又通過靈敏放大器中交叉耦合的正反饋結構提高TRNG吞吐率。其次,在輸出端用D觸發器進行負載隔離,降低靈敏放大器差分輸出端負載失衡對輸出序列隨機性的影響,使得TRNG在工作階段負載平衡。最后,提出具有動態配置和動態監控兩種模式的補償算法,使TRNG在工作環境劇烈變化時能自適應調節,增加輸出序列的隨機性和TRNG適用范圍。所設計TRNG電路采用TSMC 65 nm CMOS 工藝實現,經NIST套件測試,具有較高的隨機性,可廣泛應用于密鑰生成和信號加密等領域。
-
放大器
+關注
關注
143文章
13553瀏覽量
213118 -
電路
+關注
關注
172文章
5851瀏覽量
171915 -
通信技術
+關注
關注
20文章
1118瀏覽量
92205
原文標題:【學術論文】基于熱噪聲的自適應匹配真隨機數發生器設計
文章出處:【微信號:ChinaAET,微信公眾號:電子技術應用ChinaAET】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論