一種混合式隨機數(shù)發(fā)生器及其產(chǎn)生隨機數(shù)的方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及屬于密碼學中的隨機數(shù)生成領(lǐng)域,具體地,涉及一種混合式隨機數(shù)發(fā) 生器及其產(chǎn)生隨機數(shù)的方法。
【背景技術(shù)】
[0002] 隨機數(shù)發(fā)生器在許多方面有著廣泛的應用,如通信安全、模擬和測試、數(shù)學、神經(jīng) 網(wǎng)絡的計算,隨機性能的仿真,數(shù)字系統(tǒng)的內(nèi)建自檢測,游戲以及電子政務和電子商務系統(tǒng) 等等。目前在密碼學領(lǐng)域中隨機數(shù)發(fā)生器的應用更加廣泛。
[0003] 隨機數(shù)在密碼技術(shù)中是非常重要的,比如密鑰管理、眾多的密碼學協(xié)議、數(shù)字簽名 和身份認證等都要用到隨機數(shù)。比如:在計算機安全方面最權(quán)威的著作《應用密碼學》中, 共有61個密碼學協(xié)議,用到隨機數(shù)的協(xié)議就有40多個對于密碼系統(tǒng)的安全性來說,每個組 件都是很重要的。一個組件設計的失敗可能使其他所有的組件崩潰。而密碼隨機數(shù)常常被 用作密鑰,補充信息,輔助信息和初始化向量。對每一個組件來說,使用一個好的隨機數(shù)發(fā) 生器是必要的。
[0004] 產(chǎn)生隨機數(shù)的方法很多,如線性同余法、反饋移位寄存器法、斐波那契法、BBS法等 偽隨機數(shù)生成方法,其中線性同余法和反饋移位寄存器法至今仍廣泛應用。2003年我國的 李世剛、劉輝等人根據(jù)素數(shù)的一些特殊性質(zhì)提出了超素數(shù)法用于產(chǎn)生隨機數(shù)。法國的RADJA 等研制的隨機數(shù)發(fā)生器的本質(zhì)就是一個線性反饋移位寄存器(LFSR)電路。它是利用晶振 電路內(nèi)的延遲元素在反饋回路中生成延遲變量,通過晶振電路形成比特流輸入到采樣電 路,最后將采樣電路的輸出比特,輸入到LFSR中,進而得到所需的序列。這種方法設計和制 作的成本高,易受外部磁場影響,從而限制了使用的范圍。
[0005] 當前技術(shù)的隨機數(shù)發(fā)生技術(shù)存在一定的缺點,沒有一個統(tǒng)計特性好,安全性高,且 成本低廉的隨機數(shù)發(fā)生器。無論是采用算法得到的隨機序列,還是通過隨機采樣諸如采用 熱噪,聲噪等真隨機源得到的序列都或多或少的呈現(xiàn)出或是高成本高消耗,或是安全性不 達標的特點。
[0006] 綜上所述,本申請發(fā)明人在實現(xiàn)本申請實施例中發(fā)明技術(shù)方案的過程中,發(fā)現(xiàn)上 述技術(shù)至少存在如下技術(shù)問題:
[0007] 在現(xiàn)有技術(shù)中,現(xiàn)有的隨機數(shù)發(fā)生器及其產(chǎn)生隨機數(shù)的方法存在生成序列質(zhì)量較 低,及成本較高的技術(shù)問題。
【發(fā)明內(nèi)容】
[0008] 本發(fā)明提供了一種混合式隨機數(shù)發(fā)生器及其產(chǎn)生隨機數(shù)的方法,解決了現(xiàn)有的 隨機數(shù)發(fā)生器及其產(chǎn)生隨機數(shù)的方法存在生成序列質(zhì)量較低,及成本較高的技術(shù)問題,實 現(xiàn)了混合式隨機數(shù)發(fā)生器及其產(chǎn)生隨機數(shù)的方法生成序列質(zhì)量較高,及成本較低的技術(shù)效 果。
[0009] 為解決上述技術(shù)問題,本申請實施例提供了一種混合式隨機數(shù)發(fā)生器,其包括:物 理隨機數(shù)源模塊、脫相關(guān)組合處理模塊、計算模塊和綜合處理模塊;物理隨機數(shù)源模塊輸 出端與脫相關(guān)組合處理模塊輸入端相連接,脫相關(guān)組合處理模塊輸出端同時與計算模塊和 綜合處理模塊輸入端相連接,計算模塊輸出端也與綜合處理模塊輸入端相連接,綜合處理 模塊輸出端為隨機數(shù)發(fā)生器輸出端;脫相關(guān)組合處理模塊包括接收寄存器、處理計算模塊 與發(fā)送寄存器,其中接收寄存器輸出端連接處理計算模塊輸入端,發(fā)送寄存器輸入端與處 理計算模塊輸出端連接,計算模塊包括種子寄存器、主計算模塊、從計算模塊和亂序干擾模 塊,其中種子寄存器輸出端同時與主計算模塊輸入端和從計算模塊輸入端相連接,主計算 模塊輸出端和從計算模塊輸出端同時與亂序干擾模塊輸入端相連接,所述的物理隨機數(shù)源 模塊包括兩個獨立并行輸出的子模塊I和子模塊II,子模塊I包含高頻信號發(fā)生器I、低頻 信號發(fā)生器I和D觸發(fā)器I,其中高頻信號發(fā)生器I輸出端連接D觸發(fā)器I數(shù)據(jù)輸入端口, 低頻信號發(fā)生器I輸出端連接D觸發(fā)器I的時鐘端口,D觸發(fā)器I輸出端口為物理隨機數(shù) 源模塊的一個輸出端口,所述的子模塊II包含高頻信號發(fā)生器II、低頻信號發(fā)生器II和 D觸發(fā)器II;其中高頻信號發(fā)生器輸出端連接D觸發(fā)器II數(shù)據(jù)輸入端口,低頻信號發(fā)生器 II輸出端連接D觸發(fā)器II的時鐘端口,D觸發(fā)器II輸出端口為物理隨機數(shù)源模塊輸出端 口的一個輸出端口。高頻信號發(fā)生器I與高頻信號發(fā)生器II頻率不同,低頻信號發(fā)生器I 與低頻信號發(fā)生器II頻率不同。物理隨機數(shù)源模塊中高頻信號發(fā)生器I和高頻信號發(fā)生 器II通過噪聲電阻連接放大器,放大的熱噪聲通過壓控振蕩器產(chǎn)生高頻信號。物理隨機數(shù) 源模塊中低頻信號發(fā)生器I和低頻信號發(fā)生器II通過放大器對噪聲電阻的噪聲進行放大, 然后將放大后的噪聲送入施密特觸發(fā)器,最后通過反相器輸出低頻信號。
[0010] 所述的低頻信號發(fā)生器1(15)與低頻信號發(fā)生器11(18)噪聲電阻不同。
[0011] 一種混合式隨機數(shù)發(fā)生器產(chǎn)生隨機數(shù)的方法,其包括以下步驟:
[0012]S1:物理隨機數(shù)源模塊不間斷的隨機輸出的采樣數(shù)據(jù)a和采樣數(shù)據(jù)b,并不間斷的 并行輸送至脫相關(guān)組合處理模塊;
[0013]S2 :接收寄存器接受數(shù)據(jù),脫相關(guān)組合處理模塊分別提取1024bit的定長數(shù)據(jù)A和 1024bit的定長數(shù)據(jù)B,并將數(shù)據(jù)A前512bit和數(shù)據(jù)后512bit交換后與數(shù)據(jù)B做異或運算, 得到數(shù)據(jù)C并依次發(fā)送至發(fā)送寄存器進行存儲;
[0014]S3 :計算模塊向脫相關(guān)處理模塊周期性地請求發(fā)送數(shù)據(jù),脫相關(guān)處理模塊接受請 求并一次從發(fā)送寄存器中提取3組定長數(shù)據(jù)發(fā)送至計算模塊,計算模塊接收3組定長數(shù)據(jù) 并根據(jù)第一組數(shù)據(jù)的前兩位作為數(shù)組序號,并提取相應序號的那一組數(shù)據(jù)存入種子寄存 器;
[0015]S4:種子寄存器將數(shù)據(jù)的前半段送入主計算模塊行超素數(shù)計算運算產(chǎn)生隨機序列E,同時將數(shù)據(jù)的后半段送入從計算模塊進行滿周期線性同余算法運算產(chǎn)生滿周期序列F, 并發(fā)送序列E、序列F到亂序干擾模塊,亂序干擾模塊根據(jù)滿周期序列F,對隨機序列E進行 排列得到隨機序列G,并對隨機序列G作哈希算法得到隨機序列H;
[0016]S5 :綜合處理模塊對用戶預設定狀態(tài)和時鐘進行判定并根據(jù)判定輸出數(shù)據(jù),當狀 態(tài)為C1時,直接輸出脫相關(guān)處理模塊輸出的隨機數(shù);當狀態(tài)為C2時,直接輸出計算模塊輸 出的隨機數(shù);當狀態(tài)為C3時,判斷時鐘是否到期,如到期,則提取脫相關(guān)組合處理模塊中發(fā) 送寄存器里存儲的所有隨機數(shù),如未到期,則直接輸出計算模塊輸出的隨機數(shù)。
[0017] 所述的S2中定長數(shù)據(jù)A和定長數(shù)據(jù)B均為1024bit。
[0018] 本申請實施例中提供的一個或多個技術(shù)方案,至少具有如下技術(shù)效果或優(yōu)點:
[0019] 本申請中的技術(shù)方案通過采樣兩個易于實現(xiàn)且噪聲源不同的熱噪聲產(chǎn)生隨機序 列,通過脫相關(guān)組合處理產(chǎn)生降低序列的自相關(guān)性,并輸出真隨機數(shù),同時以動態(tài)的方式從 發(fā)送寄存器中取種子通過所述一系列計算取得高速輸出且隨機性強的序列,滿足低能耗、 高速輸出的要求;且該發(fā)生器硬件電路簡單,實現(xiàn)較為簡單,計算便于移植,移植性好,通過 了FIPS140-2標準測試,驗證了本發(fā)明具有產(chǎn)生較高安全性隨機序列的能力,能夠在控制 成本的同時提高加密和安全通信等領(lǐng)域的效率。
【附圖說明】
[0020] 圖1為混合式隨機數(shù)發(fā)生器模塊示意圖;
[0021] 圖2為混合式隨機數(shù)發(fā)生器結(jié)構(gòu)示意圖;
[0022] 圖3為物理隨機數(shù)源模塊結(jié)構(gòu)示意圖;
[0023] 圖4為高頻信號發(fā)生器結(jié)構(gòu)示意圖;
[0024] 圖5為低頻信號發(fā)生器結(jié)構(gòu)示意圖;
[0025] 圖6為混合式隨機數(shù)發(fā)生器產(chǎn)生隨機數(shù)的方法流程示意圖;
[0026] 圖7為脫相關(guān)組合處理模塊數(shù)據(jù)處理流程示意圖;
[0027]其中:1-物理隨機數(shù)源模塊,2-脫相關(guān)組合處理模塊,3-計算模塊,4-綜合處 理模塊,5-接收寄存器,6-處理計算模塊,7-發(fā)送寄存器,8-種子寄存器,9-主計算模 塊,10-從計算模塊,11-亂序干擾模塊,12-子模塊I,13-子模塊II,14-高頻信號發(fā)