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