国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

一種基于環(huán)振蕩器的真隨機數(shù)發(fā)生器

2024-05-19 10:16:18鄒小花李房云
電腦知識與技術(shù) 2024年9期

鄒小花 李房云

摘要:真隨機數(shù)發(fā)生器(TRNG) 是一種用于生成真隨機數(shù)的設(shè)備,是安全芯片中的重要單元之一,生成的真隨機數(shù)是確保通信加密及身份認證等密碼協(xié)議安全性的必要工具。仿真實驗結(jié)果表明,隨著抖動源抖動程度的增大,每次采樣的熵趨近于1,即使在最壞的情況下也能達到誤差低于10-4的水平。文章進一步分析環(huán)振蕩器(RO)的數(shù)學(xué)模型并提出一種基于環(huán)振蕩器的高效率、低成本的真隨機數(shù)發(fā)生器。

關(guān)鍵詞:真隨機數(shù)發(fā)生器;TRNG;環(huán)振蕩器;RO;抖動源;jitter

中圖分類號:TN79,TN918? ? ? ? 文獻標(biāo)識碼:A

文章編號:1009-3044(2024)09-0008-04

開放科學(xué)(資源服務(wù))標(biāo)識碼(OSID)

0 引言

隨機數(shù)在現(xiàn)實世界中有廣泛的應(yīng)用,比如保障互聯(lián)網(wǎng)安全的各種加密算法、計算機仿真、電子游戲、抽簽等方面。隨機數(shù)分為兩種,偽隨機數(shù)和真隨機數(shù)。偽隨機數(shù)是以數(shù)論和計算機理論為基礎(chǔ)生成的,實現(xiàn)方便、分布均勻、成本低。由于存在有限的可計算狀態(tài),偽隨機數(shù)具有周期性,使其很容易破解[1]。自然現(xiàn)象或物理過程中的各種隨機噪聲是真隨機數(shù)發(fā)生器(True Random Number Generator,TRNG)產(chǎn)生隨機數(shù)的方式。偽隨機數(shù)存在的周期性問題的解決方法讓序列具有了真正的隨機性,根據(jù)熱噪聲、閃爍噪聲等隨機噪聲往往都是不可預(yù)測和產(chǎn)生的隨機數(shù)無規(guī)律難破解的特點。真隨機數(shù)發(fā)生器產(chǎn)生的隨機數(shù)存在生成速率相對較慢、隨機數(shù)的統(tǒng)計特性不好、內(nèi)外部環(huán)境影響的問題。如何設(shè)計滿足現(xiàn)代加密系統(tǒng)加密需求、具備良好性能的隨機數(shù)已成為研究的重要問題。關(guān)注熵源的設(shè)計和優(yōu)化非常重要,因為熵源的品質(zhì)從根本上決定著隨機數(shù)發(fā)生器性能的好壞[2]。

梳理國內(nèi)外相關(guān)研究的現(xiàn)狀表明,有些科研人員已經(jīng)實現(xiàn)了根據(jù)不同原理結(jié)構(gòu)設(shè)計的真隨機數(shù)發(fā)生器。國內(nèi)科研人員如魯迎春提出基于可配置異步反饋環(huán)形振蕩器的真隨機數(shù)發(fā)生器,利用與非門和異或門形成可配置的異步反饋環(huán)形振蕩器,改善熵源的隨機性通過增加相位噪聲和擴大時間抖動范圍來實現(xiàn)[3]。汪鵬君提出基于壓控振蕩器的真隨機數(shù)發(fā)生器,通過電阻熱噪聲放大后作為VCO的控制信號,振蕩器中心頻率隨機抖動[4]。這些真隨機數(shù)發(fā)生器設(shè)計方法中有的隨機數(shù)發(fā)生頻率太低、有的算法好,但卻實現(xiàn)難度大、成本高,有些需要特定的工作環(huán)境。基于電路噪聲的隨機數(shù)是不可預(yù)測的,具有高安全性。目前基于數(shù)字電路的真隨機數(shù)發(fā)生器設(shè)計方法有振蕩器采樣、亞穩(wěn)態(tài)電路等。根據(jù)熵源產(chǎn)生隨機數(shù)的原理[5-8],以基于環(huán)振蕩器的真隨機數(shù)發(fā)生器為研究對象,給出了環(huán)振蕩器RO的數(shù)學(xué)模型分析,通過在環(huán)路中添加多路選擇器的方法,使熵源功耗低、體積小、適應(yīng)性強,最后采用Matlab對模型進行仿真。

1 真隨機數(shù)發(fā)生器設(shè)計

真隨機數(shù)發(fā)生器分成三個功能模塊:熵源、采樣/量化、數(shù)字后處理。如圖1所示,分別對應(yīng)產(chǎn)生隨機數(shù)的三個階段。

熵源是用來產(chǎn)生原始數(shù)據(jù)列,這里產(chǎn)生的信號是模擬隨機信號。采樣/量化是對前階段產(chǎn)生的隨機信號采樣和量化,通過D觸發(fā)器、模擬開關(guān)等實現(xiàn)。如果熵源的隨機性差或采樣電器存在偏置性,后處理單元會對采樣量化后的數(shù)字序列進一步處理,保證輸出隨機數(shù)具有良好的統(tǒng)計特性。

利用振蕩器中存在的相位噪聲和器件的差異性來產(chǎn)生隨機數(shù)?;诃h(huán)振蕩器采樣TRNG如圖2所示。至少需要兩個頻率不同的振蕩器,高頻振蕩器的信號采樣通過D觸發(fā)器完成,采樣時鐘是低頻時鐘,熵源是高頻振蕩器里的時序抖動。實際設(shè)計中,高頻振蕩器的振動頻率大于低頻振蕩器,輸出結(jié)果具有不確定性。如果存在非隨機噪聲,這種方法很有效。由于振蕩器的時序抖動不足,只對熵源采樣是不夠的,生成的隨機數(shù)的統(tǒng)計性不理想,需要在熵源和采樣兩個單元進行優(yōu)化。

在不同的具體周期上會出現(xiàn)的不可預(yù)測的縮短或變長為時鐘周期,振蕩器的時鐘周期在某一個周期上的暫時變化為時鐘抖動[9]。振蕩器的振蕩頻率在中心頻率附近輕微的無規(guī)則變動是時鐘抖動在時域上的反映[10]。將奇數(shù)個反相器首尾相連并將最后一個反相器的輸出反饋到第一個反相器的輸入端是采用環(huán)形振蕩器的結(jié)構(gòu)。 環(huán)形振蕩器結(jié)構(gòu)圖如圖3所示。

環(huán)形振蕩器結(jié)構(gòu)圖中的振蕩器的時鐘信號周期與外部信號沒有關(guān)系[11-13],與反相器的門延遲和反相器的個數(shù)相關(guān)。假設(shè)單個反相器的延遲時長為?t,反相器的個數(shù)為 N,各個反相器的延遲時長在相同的情況下環(huán)形振蕩器的振蕩周期為:

[T=2*N*Δt]? ? ? ? ?(1)

通過三個反相器(A,B,C)的例子推導(dǎo)出一個環(huán)形振蕩器的振蕩周期。[T0] 為某一時刻,反相器 A 的輸出端(反相器 B 的輸入端)在延遲?t后將會變?yōu)榈碗娖?,反相?A 的輸入端為高電平,則此時t = [T0]+ ?t。

當(dāng)t =[T0]+ 2?t時,反相器 B 的輸出端(反相器 C 的輸入端)將變?yōu)楦唠娖健?/p>

當(dāng)t = [T0]+ 3?t時,反相器 A 的輸入端電平與 [T0]時刻相反,反相器 C 的輸出端(反相器 A 的輸入端)將變?yōu)榈碗娖?,通過推導(dǎo)得出從[T0] 時刻開始共需要 6 個?t后完成一個完整的周期振蕩。如此反復(fù)進行,反相器 A 的輸入端再次變回高電平,振蕩頻率為:

[T=2*3*Δt=6Δt]? ? ? ? ? ? (2)

完全由反相器構(gòu)成的環(huán)形振蕩器的缺點是功耗相對較大,當(dāng)不需要隨機數(shù)發(fā)生器工作時,關(guān)閉環(huán)振,從而降低電路整體的功耗,通過環(huán)路中添加多路選擇器控制環(huán)振[7]。

方案的RO布局說明中,ro_clk中的震蕩環(huán)完全由奇數(shù)個反相器構(gòu)成,這個震蕩環(huán)的頻率設(shè)計為30M左右,即從震蕩環(huán)起始點經(jīng)過整個震蕩環(huán)返回到起始點的這條環(huán)路徑的延遲設(shè)計為15ns左右[14-18]。ro_source中的三十二個震蕩環(huán)為可控的震蕩環(huán),每個震蕩環(huán)由一個與非門和偶數(shù)個反相器構(gòu)成,三十二個震蕩環(huán)的震蕩頻率盡量保持不同,具體配置如表1所示。

2 性能分析

2.1 理想情況分析

在這里,理想情況是指沒有jitter的情況,此時整個過程是一個確定性的過程[6]。我們可以看到,32個ro_source一共分為兩類:ro_clk的周期15ns是r1~r9、r12、r13、r17、r22、r32(共14個)等于ro的周期的倍數(shù),因此每次采樣這些ro的采樣結(jié)果都是一樣的;其余18個ro的周期和15ns不存在整除關(guān)系,因此ro的采樣結(jié)果是不同的,但是對于這些ro來說,采樣的結(jié)果也只有若干種可能[16]。

2.2 加入抖動后的分析

將一次采樣作為一個隨機事件來考察,采樣的結(jié)果[Bout∈{0,1}]。令[xi]表示ri (i=1,2,...,32) ,在此次采樣時輸出的隨機變量,則有[Bout=⊕32i=1xi],[Bout=1]的概率為

[P(Bout=1)=12+(-2)31?(P(x1=1)-12)?...]? ? ? ? ?[? (P(X32=1)]? ? (3)

Xi=1的概率,采用如下記號:

[Ti]:ri的周期;

T:采樣周期,固定為150(以0.1ns為單位);

[T1iTTi]:在一個周期T內(nèi),ri采樣次數(shù)的期望;

[X1=1]:一次采樣中ri處在周期[Ti]的前半段;

[X1=0]:一次采樣中ri處在周期[Ti]的后半段;

[tio]:ri在采樣周期開始時的延遲;

[Jij]:在一個采樣周期內(nèi),ri在第j個周期的jitter;

[σi]:ri的jitter的標(biāo)準(zhǔn)差;同時滿足下述兩個條件時,可以認為發(fā)生采樣時,ri處在第m+1個[Ti]周期內(nèi):

[ti0+j=1m(Ti+Ji1)

[T-ti0+j=1m(Ti+Ji1)

滿足下述條件時,[X1=1]:

[T-ti0+j=1m(Ti+Ji1)

進一步令[Ji=mj=1Jij],則有:

[j=1m(Ti+Ji1)=m?Ti+j=1mJi1=m?Ti+Ji]? (7)

其中:[Ji]為m個獨立同分布的高斯jitter之和,因此也服從高斯分布,[Ji~N(0,m?σ2i]) 。綜上可知,

[P(xi=1)=k=1∞(P(ti0+j=1k(Ti+Jik+1)]

[?P(T-ti0+j=1k(Ti+Ji1)

在jitter值合理的前提下,式(8)中的k值不需要取[1,∞]這么大的范圍,假設(shè)jitter的標(biāo)準(zhǔn)差為σ,那么只需要[T1i]前后各取[4×σTi]個就夠了,并且近似認為式(6)蘊涵式(5),因此式(8)修正為:

[Bout=1]的概率,將(9)代入(3)可以得到[Bout=1]的概率。進一步,按照每個jitter都服從均值為0的正態(tài)分布的假設(shè),可以進一步展開表達式。熵分析根據(jù)熵的定義,在一次采樣中,熵值為:

[Entropy(Bout)=-P(Bout=1)?log2(P(Bout=1))-P(Bout=0)?log2(P(Bout=0))]? ? ? (10)

3 數(shù)值仿真

TRNG的實驗環(huán)境由FPGA開發(fā)板、外部時鐘源以及邏輯分析儀組成。 軟件環(huán)境為QuartusII 軟件進行集成開發(fā)。硬件平臺是基于 Altera 開發(fā)平臺的 FPGA 開發(fā)板,開發(fā)板具有豐富的外圍接口,包括PS/2 接口、串口、VGA 接口、網(wǎng)口等。FPGA產(chǎn)生隨機數(shù)據(jù),邏輯分析采集數(shù)據(jù)后,檢驗隨機序列的性能。使用Matlab對前述數(shù)學(xué)模型進行仿真,實驗共進行了10次。采樣數(shù)據(jù)如圖4和圖5所示。

從圖4可以看出,隨著jitter的增大,P(Bout=1)的概率越來越趨近于0.5,即每次采樣的熵趨近于1。Jitter的標(biāo)準(zhǔn)差以0.1ms為單位,P(Bout=1)-0.5的值隨jitter標(biāo)準(zhǔn)差的變化而越來越小。振蕩器加入抖動的數(shù)量直接影響隨機源模塊產(chǎn)生序列的統(tǒng)計性能,振蕩器抖動數(shù)量越多,TRNG輸出序列的隨機性越好。

如果振蕩器加入的抖動太多,會消耗過多的硬件資源,功耗也過大。從圖5可以看出,即使最壞的情況P(Bout=1)也非常接近0.5,最壞的情況下P(Bout=1)-0.5= 3.69E-05。這個實驗結(jié)果大大改善了現(xiàn)有真隨機數(shù)的熵源和采樣的方式,提高了TRNG輸出的統(tǒng)計特性和隨機性。

4 結(jié)束語

本文根據(jù)熵源產(chǎn)生隨機數(shù)的原理,提出了一種高速的熵源改進結(jié)構(gòu)。該結(jié)構(gòu)解決了制約隨機數(shù)發(fā)生器輸出速率的困難,采取增加振蕩器熵源的抖動和輪流采樣方式來降低單一熵源的采樣速率,輸出序列的相關(guān)性得到減弱,提高輸出序列的隨機性。性能分析表明加入抖動后,采樣的熵趨近于1,仿真結(jié)果表明,重新組合熵源產(chǎn)生的隨機數(shù)在提高隨機數(shù)生成速率的同時增強了真隨機數(shù)發(fā)生器的抗攻擊能力。

參考文獻:

[1] 張鴻飛,王堅,羅春麗,等.基于抖動的高速真隨機數(shù)發(fā)生器的設(shè)計和實現(xiàn)[J].核技術(shù),2011,34(7):556-560.

[2] 周新淳.一位硬件隨機數(shù)發(fā)生器的設(shè)計與仿真[J].電子設(shè)計工程,2017,25(6):19-22.

[3] 魯迎春,韓倩,劉新穎,等.基于可配置異步反饋環(huán)形振蕩器的真隨機數(shù)發(fā)生器[J].電子測量與儀器學(xué)報,2022,36(11):126-133.

[4] 汪鵬君,李楨,李剛,等.基于壓控振蕩器的真隨機數(shù)發(fā)生器設(shè)計[J].電子學(xué)報,2019,47(2):417-421.

[5] 朱亮亮.真隨機數(shù)發(fā)生器的研究與設(shè)計[D].杭州:杭州電子科技大學(xué),2017.

[6] 金杰,羅敏,宮月紅.一種基于熱噪聲的真隨機數(shù)發(fā)生器的設(shè)計與實現(xiàn)[J].微電子學(xué)與計算機,2015,32(10):7-11,16.

[7] 趙海英.隨機數(shù)發(fā)生器隨機性檢測系統(tǒng)的設(shè)計與實現(xiàn)[D].成都:電子科技大學(xué),2014.

[8] 董俊,朱文,蒲秀英,等.物理真隨機數(shù)發(fā)生器的設(shè)計[J].電光與控制,2013,20(2):93.

[9] 陳爽,曹素梅,左金印.隨機數(shù)發(fā)生器檢測與設(shè)計[J].信息安全與通信保密,2012,10(12):103-105.

[10] 李清,王立輝,劉丹,等.一種基于 Galois 環(huán)振的真隨機數(shù)發(fā)生器設(shè)計[J].科學(xué)技術(shù)與工程,2012, 12(17):4057-4060.

[11] 郭亞煒,鄧煥,曾曉洋,等.基于振蕩器的真隨機數(shù)發(fā)生器:CN1752924A[P].2006-03-29.

[12] 李艷平.高速時鐘信號抖動的ADC測量技術(shù)研究[D].成都:電子科技大學(xué),2009.

[13] WIECZOREK P Z,GO?OFIT K.Dual-metastability time-competitive true random number generator[J].IEEE Transactions on Circuits and Systems I:Regular Papers,2014,61(1):134-145.

[14] 張建國,化騰飛,馬荔,等.基于物理噪聲源的真隨機數(shù)發(fā)生器的設(shè)計與實現(xiàn)[J].機械工程與自動化,2015(5):1-3.

[15] 張亮,戎蒙恬,諸悅,等.基于混沌系統(tǒng)的真隨機數(shù)發(fā)生器芯片設(shè)計和實現(xiàn)[J].上海交通大學(xué)學(xué)報,2006,40(3):421-424,430.

[16] 宋勇,陳賢富,姚海東.隨機數(shù)發(fā)生器探討及一種真隨機數(shù)發(fā)生器實現(xiàn)[J].計算機工程,2007,33(2):71-73.

[17] 孫曹鈞.數(shù)字真隨機數(shù)發(fā)生器的設(shè)計與實現(xiàn)[D].南京:東南大學(xué),2014.

[18] JOHNSON A P,CHAKRABORTY R S,MUKHOPADYAY D.An improved DCM-based tunable true random number generator for xilinx FPGA[J].IEEE Transactions on Circuits and Systems II:Express Briefs,2017,64(4):452-456.

【通聯(lián)編輯:代影】

巴南区| 永州市| 清涧县| 宝鸡市| 咸宁市| 武夷山市| 玉龙| 宁波市| 正宁县| 靖江市| 潼南县| 嘉义县| 常熟市| 桃江县| 元氏县| 扎鲁特旗| 新密市| 宣汉县| 清远市| 呼玛县| 闽侯县| 洪泽县| 肥东县| 定襄县| 韩城市| 兴山县| 朝阳市| 广安市| 绥芬河市| 民丰县| 徐州市| 万盛区| 新巴尔虎右旗| 九龙城区| 延津县| 沧州市| 德阳市| 扎赉特旗| 繁昌县| 芜湖县| 闻喜县|