文獻(xiàn)標(biāo)識碼: A
DOI:10.16157/j.issn.0258-7998.180002
中文引用格式: 魏子魁,符令,王雪,等. 一種基于熱噪聲振蕩器的高速真隨機(jī)數(shù)設(shè)計(jì)[J].電子技術(shù)應(yīng)用,2018,44(10):29-31,36.
英文引用格式: Wei Zikui,F(xiàn)u Ling,Wang Xue,et al. A high speed truly random number generator based on thermal noise oscilltor[J]. Application of Electronic Technique,2018,44(10):29-31,36.
0 引言
隨著信息技術(shù)的快速發(fā)展,信息安全變得越來越重要,保障信息安全的最好方式是密碼學(xué)。在密碼學(xué)應(yīng)用中,無論是密碼算法中密鑰的生成或是密碼協(xié)議中特定變量的隨機(jī)初始化,都需要用到真隨機(jī)數(shù)源。真隨機(jī)數(shù)在統(tǒng)計(jì)學(xué)上具有隨機(jī)性, 包括時(shí)間上的獨(dú)立性和空間上的均勻性,還具有不可重復(fù)性和不可預(yù)測性[1]。隨機(jī)數(shù)主要應(yīng)用于密碼算法協(xié)處理器中的密鑰、身份認(rèn)證和數(shù)字簽名等[2]。
本文實(shí)現(xiàn)了一種改進(jìn)的真隨機(jī)數(shù)發(fā)生器,其基本思路是在保證低頻時(shí)鐘有足夠的抖動和隨機(jī)性的前提下,提高低頻時(shí)鐘頻率和高頻時(shí)鐘頻率,提高真隨機(jī)數(shù)輸出速度,對電路進(jìn)行優(yōu)化,減少電路的整體功耗和面積。
1 整體電路結(jié)構(gòu)
真隨機(jī)數(shù)電路結(jié)構(gòu)如圖1所示,利用兩個(gè)獨(dú)立工作的高、低頻振蕩器之間的相對關(guān)系采樣噪聲源,用帶有抖動的低頻振蕩器通過D觸發(fā)器采樣有固定周期的高頻振蕩器,從而產(chǎn)生隨機(jī)數(shù)序列。在實(shí)際電路設(shè)計(jì)過程中,慢振蕩器的抖動標(biāo)準(zhǔn)差需要足夠大,這樣使慢振蕩器的時(shí)鐘頻率很難提高,一般情況下,輸出頻率在1 MHz左右,這樣會嚴(yán)重影響真隨機(jī)數(shù)的輸出速度;高頻時(shí)鐘頻率輸出頻率也會影響隨機(jī)數(shù)的輸出速度,通常要求慢振蕩器抖動標(biāo)準(zhǔn)差在高振蕩器周期的10~20倍之間。
2 低頻時(shí)鐘設(shè)計(jì)和仿真
2.1 低頻時(shí)鐘理論分析
低頻時(shí)鐘是帶有抖動的慢振蕩器(clkslow),電路如圖2所示。
電路使能開啟后,偏置電路開始提供偏置電壓和電流。當(dāng)L_OUT為高電平時(shí),電荷泵放電使運(yùn)放正端電壓下降,輸出電壓降低,到達(dá)低閾值-VTL,L_OUT變?yōu)榈碗娖?,反之亦然。運(yùn)放輸出信號是一個(gè)在遲滯比較器高低閾值間來回?cái)[動的三角波;電阻R1和R2上的熱噪聲經(jīng)過運(yùn)放放大后疊加在三角波上,得到L_OUT 的時(shí)鐘沿抖動與熱噪聲一樣,滿足正態(tài)分布。
運(yùn)放輸出的三角波信號如圖3所示,圖中S是運(yùn)放輸出三角波的斜率,Tclkslow是慢時(shí)鐘信號的周期。可以得到:
V(t)是輸出電壓隨時(shí)間變化的函數(shù),Vn(t)是放大后的電阻熱噪聲,可以推出:
2.2 負(fù)反饋運(yùn)放的設(shè)計(jì)
從式(4)和式(5)中可知,E{Tclkslow}和σ{Tclkslow}成反比關(guān)系,如果要增大低頻時(shí)鐘的周期,則低頻時(shí)鐘的抖動值會減少。低頻時(shí)鐘的抖動值還與噪聲帶寬(Bw)和熱噪聲電阻(R1、R2)有關(guān)。要使隨機(jī)數(shù)輸出頻率加快,必須增大充放電電流Icharge并減少電荷泵到地電容C,這兩個(gè)參數(shù)都會減少低頻時(shí)鐘的抖動值。為了使低頻時(shí)鐘有足夠抖動值,根據(jù)式(5)和式(7)可知,可以增大噪聲帶寬和熱噪聲電阻。噪聲帶寬的大小由負(fù)反饋運(yùn)放的-3 dB帶寬和低通濾波器帶寬決定,如圖2所示,熱噪聲電阻R1和寄生電容C1形成低通濾波器,當(dāng)電阻R1值增加時(shí),寄生電容隨之增加,低通濾波器帶寬變小,導(dǎo)致噪聲帶寬變小,低通濾波器帶寬也會影響慢振蕩器環(huán)路帶寬。
通過上面的分析可知,熱噪聲電阻的選取很重要,在電阻選取中,選取高阻值poly電阻,電阻取最小寬度。當(dāng)電阻阻值取500 kΩ時(shí),通過對版圖寄生電容的提取,C1的值在8 fF左右。
表1為不同電阻值的低頻時(shí)鐘抖動值(時(shí)鐘輸出頻率為5 MHz),在電阻較大時(shí),此時(shí)低通濾波器的帶寬會嚴(yán)重限制低頻時(shí)鐘的環(huán)路帶寬,也會限制隨機(jī)數(shù)的輸出頻率,綜合考慮取熱噪聲電阻值為500 kΩ,σ{Tclkslow}為15 ns,低通濾波器的帶寬為40 MHz。負(fù)反饋運(yùn)放和遲滯比較器帶寬會根據(jù)低通濾波器的帶寬來確定,不會因帶寬過大而浪費(fèi)功耗。
本文選擇折疊式共源共柵結(jié)構(gòu)的運(yùn)放,運(yùn)放在實(shí)際設(shè)計(jì)中,輸入對管的面積盡可能減少,以減少寄生電容。
2.3 低頻時(shí)鐘仿真
本文在設(shè)計(jì)真隨機(jī)數(shù)產(chǎn)生器時(shí),輸出吞吐率范圍為1.8~12 Mb/s,引入了3 bit控制字來調(diào)節(jié)輸出范圍,低頻時(shí)鐘輸出頻率范圍為1.79~12.95 Mb/s,中心頻率輸出值為4.6 Mb/s。
表2為低頻時(shí)鐘輸出頻率對應(yīng)的σ{Tclkslow}仿真結(jié)果,從表中可知,頻率越大,輸出σ{Tclkslow}越小,需要高頻時(shí)鐘的頻率越高。
3 高頻時(shí)鐘設(shè)計(jì)和仿真
為了提高真隨機(jī)數(shù)發(fā)生器的抗干擾能力以及輸出序列的隨機(jī)性能,快時(shí)鐘振蕩器的周期是慢振蕩器jitter的1/20~1/10。在低頻時(shí)鐘設(shè)計(jì)中輸出中心頻率為4.6 MHz時(shí),σ{Tclkslow}值為15 ns,取高頻時(shí)鐘的周期是σ{Tclkslow}的1/15,快時(shí)鐘振蕩器的周期為1 ns,時(shí)鐘頻率為1 GHz。本文中高頻時(shí)鐘的電路采取環(huán)路振蕩器的結(jié)構(gòu),為保證在PVT變化時(shí)輸出高頻時(shí)鐘的占空比為50%,環(huán)振的輸出信號需經(jīng)過一個(gè)高速二分頻電路。二分頻電路采取高速二分頻電路(TSPC)的結(jié)構(gòu)。
高頻時(shí)鐘的仿真結(jié)果表明,其時(shí)鐘頻率的中心頻率為1.07 GHz,占空比為48.5%.
4 整體電路版圖設(shè)計(jì)和仿真
本文設(shè)計(jì)的真隨機(jī)數(shù)發(fā)生器電路采用SMIC 28 nm CMOS工藝,核心電路版圖面積小于0.025 mm2,整體功耗為0.388 mW,圖4為整體電路的版圖設(shè)計(jì)。
本文實(shí)現(xiàn)了高速隨機(jī)輸出,仿真輸出速度在12 Mb/s時(shí)的放大噪聲和噪聲分布情況,如圖5所示,從圖5中可知輸出噪聲的分布符合白噪聲分布。對圖5中的jitter值做正態(tài)分布處理,可知低頻時(shí)鐘的jitter值服從正態(tài)分布,標(biāo)準(zhǔn)差σ{Tclkslow}值為6.7 ns。圖6是基于振蕩器的真隨機(jī)數(shù)發(fā)生器整體電路瞬態(tài)仿真結(jié)果。
圖7是隨機(jī)數(shù)的測試結(jié)果,基于真隨機(jī)數(shù)測試標(biāo)準(zhǔn)AIS31,對實(shí)際設(shè)計(jì)的真隨機(jī)數(shù)發(fā)生器進(jìn)行了評測。實(shí)驗(yàn)結(jié)果表明,隨機(jī)數(shù)符合AIS31的測試要求。
表3是流片的測試結(jié)果與文獻(xiàn)調(diào)研中參考的國外相關(guān)真隨機(jī)數(shù)發(fā)生器的性能參數(shù)的對比,本文的結(jié)果在最后一行。
5 結(jié)論
本文設(shè)計(jì)了基于電阻熱噪聲振蕩器的真隨機(jī)數(shù)產(chǎn)生器,該電路結(jié)構(gòu)可以保證獲得較大的周期抖動從而提高輸出位流的隨機(jī)特性。在本設(shè)計(jì)中充分考慮了低頻振蕩器的輸出速度和jitter之間的關(guān)系,最終使振蕩器的輸出頻率接近12 MHz,輸出噪聲符合白噪聲分布,隨機(jī)性較好。在電路設(shè)計(jì)的基礎(chǔ)上完成了版圖設(shè)計(jì)和流片。仿真結(jié)果表明,基于熱噪聲的真隨機(jī)數(shù)產(chǎn)生器輸出吞吐率范圍為1.8~12 Mb/s,隨機(jī)數(shù)輸出結(jié)果滿足AIS31隨機(jī)性測試,功耗為0.388 mW。
本文設(shè)計(jì)的隨機(jī)數(shù)和其他論文相比,在速度和功耗方面有了很大的提升,可以應(yīng)用在信息安全、計(jì)算隨機(jī)模擬、數(shù)字系統(tǒng)內(nèi)置的檢測性能和電子商務(wù)系統(tǒng)等領(lǐng)域。
參考文獻(xiàn)
[1] 蘇桂平,呂述望,楊柱,等.真隨機(jī)數(shù)發(fā)生器的隨機(jī)性在信息安全中的應(yīng)用[J].計(jì)算機(jī)工程,2002,28(6):114-115.
[2] YANG Y.Implementation of 200 Mbps truly random number generator[D].Beijing:Tsinghua University,2013.
[3] 辛茜,曾曉洋,張國權(quán),等.基于電阻熱噪聲的真隨機(jī)數(shù)發(fā)生器設(shè)計(jì)[J].微電子學(xué)與計(jì)算機(jī),2004,21(7):143-146.
[4] ULKUHAN GULER,ERGUN S.A high speed, fully digital IC random number generator[J].AEU-International Journal Electronics and Communications,2012,66(2):143-149.
[5] YANG K,F(xiàn)ICK D,HENRY M B,et al.16.3 A 23 Mb/s 23 pJ/b fully synthesized true-random-number generator in 28 nm and 65 nm CMOS[C].IEEE International Solid-State Circuits Conference.IEEE,2014:280-281.
作者信息:
魏子魁1,2,符 令1,2,王 雪3,何 洋1,2,金 鑫1,2,譚 浪1,2,
胡 毅1,2,唐曉柯1,2,張海峰1,2,趙東艷1,2
(1.北京智芯微電子科技有限公司 國家電網(wǎng)公司重點(diǎn)實(shí)驗(yàn)室 電力芯片設(shè)計(jì)分析實(shí)驗(yàn)室,北京100192;
2.北京智芯微電子科技有限公司 北京市電力高可靠性集成電路設(shè)計(jì)工程技術(shù)研究中心,北京100192;
3.國網(wǎng)遼寧電力有限公司信息通信分公司,遼寧 沈陽110006)