文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.174762
中文引用格式: 李楨,汪鵬君,,程旭,,等. 基于熱噪聲的自適應(yīng)匹配真隨機(jī)數(shù)發(fā)生器設(shè)計(jì)[J].電子技術(shù)應(yīng)用,2018,,44(8):35-38,,43.
英文引用格式: Li Zhen,Wang Pengjun,,Cheng Xu,,et al. Design of adaptive matching true random number generator based on thermal noise[J]. Application of Electronic Technique,2018,,44(8):35-38,,43.
0 引言
隨著電子技術(shù)和通信技術(shù)的發(fā)展,對(duì)信息安全性的要求越來越高,真隨機(jī)數(shù)發(fā)生器(True Random Number Generator,,TRNG)已成為安全系統(tǒng)中不可或缺的一部分[1],。相較偽隨機(jī)數(shù)發(fā)生器(Random Number Generator,RNG),,TRNG的輸出序列具有不可預(yù)測(cè)性且滿足嚴(yán)格的統(tǒng)計(jì)測(cè)試要求,,所以通常選取熱噪聲、核衰變,、宇宙輻射等物理現(xiàn)象作為熵源[2],,其中應(yīng)用最廣泛的是熱噪聲。熱噪聲由導(dǎo)體中載流子的熱振動(dòng)引起,,它會(huì)造成溝道電流微小波動(dòng)從而在電阻兩端產(chǎn)生電壓[3],。基于熱噪聲的TRNG電路設(shè)計(jì)方法主要包括:熱噪聲直接放大,、環(huán)振抖動(dòng)采樣和亞穩(wěn)態(tài)三種方法,。熱噪聲直接放大法通過高增益高帶寬差分運(yùn)算放大器將大電阻上的熱噪聲直接放大,再由比較器將放大信號(hào)進(jìn)行數(shù)模轉(zhuǎn)換后輸出,。但隨著工藝的更新,,放大器本身存在的輸出失調(diào)、襯底噪聲耦合,、有限帶寬等非理想因素都將明顯影響系統(tǒng)輸出的隨機(jī)性[4],;環(huán)振抖動(dòng)采樣是將熱噪聲轉(zhuǎn)換為相位抖動(dòng),用低頻信號(hào)采樣獲得隨機(jī)輸出[5],。但因?yàn)橄辔欢秳?dòng)幅度小,,所以需要多個(gè)周期對(duì)相位幅度進(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ù)載失配都會(huì)使電路偏離亞穩(wěn)態(tài)工作區(qū)間,。為了使電路工作在亞穩(wěn)態(tài),文獻(xiàn)[6]引入了負(fù)反饋調(diào)節(jié),,但由于未考慮負(fù)載失配的情況,,反饋調(diào)節(jié)難度大,且狀態(tài)機(jī)在啟動(dòng)時(shí)完成反饋調(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)體中載流子的熱振動(dòng)引起,它使溝道電流產(chǎn)生微小波動(dòng),,從而在在電阻兩端產(chǎn)生波動(dòng)電壓,。在頻域中,其頻譜密度如式(1)所示[7]:
其中,,η(t,,Δt)是呈高斯概率分布的隨機(jī)數(shù),每隔Δt更新一次,,σ是噪聲信號(hào)的幅值,。可知熱噪聲頻譜為一恒定常數(shù),,在時(shí)域中幅值呈高斯分布,,是理想的熵源。但因幅值較小(實(shí)際電路中約為1.5 mV[3]),,微小的工藝偏差和環(huán)境影響都會(huì)掩蓋噪聲的作用,,因此需要精度高、匹配性好的放大器將其快速放大到數(shù)字電路能識(shí)別的電平值,。
1.2 靈敏放大器
靈敏放大器具有靈敏度高,、運(yùn)行速度快、結(jié)構(gòu)簡(jiǎn)單等優(yōu)點(diǎn),,是放大熱燥聲的理想器件,。其基本電路結(jié)構(gòu)如圖1所示。
當(dāng)時(shí)鐘信號(hào)CLK=0時(shí),,電路進(jìn)入預(yù)充電階段,,互補(bǔ)輸出端Q和QN被預(yù)充電至高電平;當(dāng)時(shí)鐘信號(hào)CLK=1時(shí),,電路進(jìn)入求值階段,,求值原理如式(3)所示:
若靈敏放大器工作電流完全平衡,互補(bǔ)輸出Q和QN在求值階段最終會(huì)穩(wěn)定在中間電平,。實(shí)際電路中,,在熱噪聲的影響下,I1,、I2大小會(huì)隨機(jī)波動(dòng),,從而在求值階段產(chǎn)生隨機(jī)輸出。
2 自適應(yīng)匹配
靈敏放大器工作電流平衡是獲得理想隨機(jī)序列的關(guān)鍵。但負(fù)載失配,、工藝偏差等非理想因素都會(huì)影響電流大小,,使輸出序列產(chǎn)生明顯的偏向性。因此,,需要靈敏放大器在工作中能夠自適應(yīng)匹配,。
2.1 可配置NMOS陣列
靈敏放大器中各MOS管寬長(zhǎng)比的工藝偏差可等效為圖1中晶體管N3和N4的偏差[4],造成工作電流失衡,。為補(bǔ)償工藝偏差,,可將圖1中的晶體管N3和N4替換為可配置NMOS陣列NF1和NF2,其內(nèi)部結(jié)構(gòu)如圖2所示,。
以ncf0為例,,ncf0高電平時(shí),晶體管開關(guān)N1導(dǎo)通,,N2并聯(lián)在N0兩端,,可配置NMOS陣列的等效寬長(zhǎng)比升高,相應(yīng)支路工作電流增大,;反之電流減小,,從而有效補(bǔ)償工藝偏差提高序列隨機(jī)性。
2.2 動(dòng)態(tài)補(bǔ)償算法
為使靈敏放大器可根據(jù)輸出序列的偏向性調(diào)整可配置NMOS陣列來補(bǔ)償偏差,,提出動(dòng)態(tài)補(bǔ)償算法,。算法采用單級(jí)等距調(diào)節(jié),復(fù)雜性低易于實(shí)現(xiàn),。其狀態(tài)轉(zhuǎn)移圖如圖3所示,。
有限狀態(tài)機(jī)擁有動(dòng)態(tài)配置和動(dòng)態(tài)監(jiān)控兩種模式。TRNG在上電啟動(dòng)后經(jīng)初始化進(jìn)入動(dòng)態(tài)配置模式,。動(dòng)態(tài)配置模式下每4個(gè)時(shí)鐘周期,,狀態(tài)機(jī)對(duì)TRNG輸出的4位數(shù)據(jù)進(jìn)行一次讀取檢測(cè)。若4位數(shù)據(jù)中“1”的個(gè)數(shù)多于“0”,,令flag=1,。反之令flag=0。狀態(tài)機(jī)根據(jù)flag的值令可配置NMOS陣列NF1,、NF2自加或自減,。當(dāng)中“1”和“0”個(gè)數(shù)相等時(shí),若輸出為“1100”或“0011”,,則令flag=2,,配置狀態(tài)維持不變,。若輸出為“1010”或“0101”,,則判定TRNG在當(dāng)前配置下,受熱噪聲影響可以等概率輸出“1”或“0”,令flag=3,,配置完成,,狀態(tài)機(jī)進(jìn)入動(dòng)態(tài)監(jiān)控模式。動(dòng)態(tài)監(jiān)控模式下,,若檢測(cè)到輸出序列連續(xù)出現(xiàn)12個(gè)“1”或“0”,,判定輸出序列失去隨機(jī)性,令flag=4,,狀態(tài)機(jī)返回動(dòng)態(tài)配置模式,。否則,狀態(tài)機(jī)維持在動(dòng)態(tài)監(jiān)控模式,,可配置NMOS陣列配置不變,。
2.3 TRNG電路整體結(jié)構(gòu)
可自適應(yīng)匹配的TRNG整體結(jié)構(gòu)如圖4所示。靈敏放大器在熱噪聲的影響下每個(gè)時(shí)鐘周期隨機(jī)輸出低電平“0”或高電平“1”,,輸出數(shù)據(jù)存儲(chǔ)在移位寄存器中,。動(dòng)態(tài)補(bǔ)償模塊根據(jù)移位寄存器中的數(shù)據(jù)偏向性調(diào)節(jié)可配置NMOS陣列,使電路工作在高熵值區(qū)域,。負(fù)載匹配模塊用以降低負(fù)載失配對(duì)輸出序列隨機(jī)性的影響,。
3 實(shí)驗(yàn)結(jié)果和分析
整體電路采用Cadence的Verilog/Spectre混合仿真器對(duì)模擬電路和Verilog模塊進(jìn)行聯(lián)合仿真。在1.2 V電源電壓下,,令時(shí)鐘頻率為1 GHz并手動(dòng)引入10%的工藝偏差,,輸出序列如圖5所示??芍?dāng)0 μs時(shí),,輸出偏向1,經(jīng)過約0.4 μs的動(dòng)態(tài)配置,,TRNG輸出序列隨機(jī)并進(jìn)入動(dòng)態(tài)監(jiān)控模式,。在1.5 μs時(shí)刻,再次引入工藝偏差,,輸出序列偏向1,。TRNG重新進(jìn)入動(dòng)態(tài)配置模式,并在約1.92 μs完成動(dòng)態(tài)配置進(jìn)入動(dòng)態(tài)監(jiān)控模式,。仿真結(jié)果表明電路實(shí)現(xiàn)自適應(yīng)匹配功能,,具有良好的抗工藝偏差特性。
將仿真獲得的100 000位原始序列經(jīng)過馮諾依曼后處理后得到約26 000位數(shù)據(jù),,分成10組,,輸入到NIST測(cè)試套件[8]中進(jìn)行檢測(cè)。測(cè)試結(jié)果如表1所示,。從測(cè)試結(jié)果可以看出,,各項(xiàng)P值都處在較高水平,,隨機(jī)性優(yōu)異。
將所得序列輸入到MATLAB測(cè)試自相關(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)行測(cè)試。測(cè)試結(jié)果如圖7所示,。P值大于0.1則通過隨機(jī)測(cè)試,。可知TRNG在各溫度及電壓下均有良好的隨機(jī)性,,且P值隨著電源電壓的升高呈上升趨勢(shì),。
4 結(jié)論
本設(shè)計(jì)首先采用靈敏放大器代替高增益高帶寬差分運(yùn)算放大器,既避免運(yùn)放設(shè)計(jì)的困難,,同時(shí)又通過靈敏放大器中交叉耦合的正反饋結(jié)構(gòu)提高TRNG吞吐率,。其次,在輸出端用D觸發(fā)器進(jìn)行負(fù)載隔離,,降低靈敏放大器差分輸出端負(fù)載失衡對(duì)輸出序列隨機(jī)性的影響,,使得TRNG在工作階段負(fù)載平衡。最后,,提出具有動(dòng)態(tài)配置和動(dòng)態(tài)監(jiān)控兩種模式的補(bǔ)償算法,,使TRNG在工作環(huán)境劇烈變化時(shí)能自適應(yīng)調(diào)節(jié),增加輸出序列的隨機(jī)性和TRNG適用范圍,。所設(shè)計(jì)TRNG電路采用TSMC 65 nm CMOS 工藝實(shí)現(xiàn),,經(jīng)NIST套件測(cè)試,具有較高的隨機(jī)性,,可廣泛應(yīng)用于密鑰生成和信號(hào)加密等領(lǐng)域,。
參考文獻(xiàn)
[1] BHARGAVA M,SHEIKH K,,MAI K.Robust true random number generator using hot-carrier injection balanced metastable sense amplifiers[C].IEEE International Symposium on Hardware Oriented Security and Trust.IEEE,,2015:7-13.
[2] WIECZOREK P Z.Lightweight TRNG based on multiphase timing of bistables[J].IEEE Transactions on Circuits & Systems I Regular Papers,2016,,63(7):1043-1054.
[3] SRINIVASAN S,,MATHEW S,ERRAGUNTLA V,,et al.A 4 Gb/s 0.57 pJ/bit process-voltage-temperature variation tolerant all-digital true random number generator in 45 nm CMOS[C].International Conference on Vlsi Design.IEEE Computer Society,,2009:301-306.
[4] 金杰,,羅敏,宮月紅.一種基于熱噪聲的真隨機(jī)數(shù)發(fā)生器的設(shè)計(jì)與實(shí)現(xiàn)[J].微電子學(xué)與計(jì)算機(jī),,2015(10):7-11.
[5] LIU Y,CHEUNG R C C,,WONG H.A bias-bounded digital true random number generator architecture[J].IEEE Transactions on Circuits & Systems I Regular Papers,,2017,64(1):133-144.
[6] MATHEW S K,,SRINIVASAN S,,ANDERS M A,et al.2.4 Gbps, 7 mW all-digital PVT-variation tolerant true random number generator for 45 nm CMOS high-performance microprocessors[J].IEEE Journal of Solid-State Circuits,,2012,,47(11):2807-2821.
[7] SUNG J J,KANG G S,,KIM S.A transient noise model for frequency-dependent noise sources[J].IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems,,2003,22(8):1097-1104.
[8] RUKHIN A L,,SOTO J,,NECHVATAL J R,et al.SP 800-22 Rev.1a. A statistical test suite for random and pseudorandom number generators for cryptographic applications[R].Nist Special Publication,,2010.
作者信息:
李 楨1,,汪鵬君1,程 旭2,,李 剛1
(1.寧波大學(xué) 電路與系統(tǒng)研究所,,浙江 寧波315211;2.復(fù)旦大學(xué) 專用集成電路與系統(tǒng)國(guó)家重點(diǎn)實(shí)驗(yàn)室,,上海201203)