一種真隨機數后處理裝置及方法
【技術領域】
[0001] 本發明涉及安全技術領域,具體地,涉及一種真隨機數后處理裝置及方法。
【背景技術】
[0002] 真隨機數發生器在安全類應用中占有重要的地位,真隨機數的隨機性決定了整個 應用的安全性。在現有的技術中,真隨機數發生器一般由兩部分組成:模擬器件生成初始 化序列;數字器件使用初始化序列作為種子對偽隨機序列發生器進行初始化,之后輸出隨 機序列。模擬器件用來保證隨機數的不可預測性,它生成的隨機數具有周期長、不相關等 特點;數字器件用來保證隨機數的隨機性,它生成的隨機數具有隨機性穩定、分布均勻等特 性。
[0003] 通過對以上現有技術的研究和實際電路應用環境的考慮,發明人發現現有技術存 在以下缺點:
[0004] (1)、當模擬器件收到外部的強干擾或者惡意攻擊時會輸出可預測的序列,對該序 列進行后期處理后并不能消除這種可預測性,從而給系統帶來風險。
[0005] (2)、由于偽隨機序列發生器需要使用模擬器件的輸出進行初始化,這樣會帶來系 統延時,影響處理速度。
【發明內容】
[0006] 本發明是為了克服現有技術中真隨機數發生器因偽隨機數初始化會帶來系統延 時的問題,根據本發明的一個方面,提出一種真隨機數后處理裝置。
[0007] -種真隨機數后處理裝置,包括:真隨機數發生模塊、偽隨機數發生模塊、偽隨機 數初值存儲模塊和異或模塊;真隨機數發生模塊產生真隨機數并向異或模塊發送真隨機 數,偽隨機數發生模塊產生偽隨機數并向異或模塊發送偽隨機數,異或模塊在接收到真隨 機數和偽隨機數后,對真隨機數和偽隨機數進行異或處理,并輸出異或處理的結果,偽隨機 數初值存儲模塊將存儲的偽隨機數初始值發送給偽隨機數發生模塊。
[0008] 優選的,一種真隨機數后處理裝置還包括:真隨機數檢測模塊;真隨機數檢測模 塊接收真隨機數發生模塊發送的真隨機數并檢測真隨機數的隨機性,在真隨機數的隨機性 不滿足要求時,真隨機數檢測模塊輸出報警信號。
[0009] 優選的,報警信號還用于指示偽隨機數初值存儲模塊重置偽隨機數初始值。
[0010] 優選的,偽隨機數發生模塊包括:反饋移位寄存器;反饋移位寄存器接收真隨機 數發生模塊發送的真隨機數,即反饋移位寄存器的輸入與真隨機數相關。
[0011] 優選的,反饋移位寄存器為部分位反饋的線性反饋移位寄存器。
[0012] 優選的,真隨機數發生模塊與偽隨機數發生模塊并行運行。
[0013] 本發明是為了克服現有技術中真隨機數發生器因偽隨機數初始化會帶來系統延 時的問題,根據本發明的一個方面,提出一種真隨機數后處理方法。
[0014] 一種真隨機數后處理方法,包括:真隨機數發生模塊產生真隨機數并向異或模塊 發送真隨機數;偽隨機數發生模塊產生偽隨機數并向異或模塊發送偽隨機數,偽隨機數的 初始值由獨立的偽隨機數初值存儲模塊提供;異或模塊在接收到真隨機數和偽隨機數后, 對真隨機數和偽隨機數進行異或處理;將異或處理的結果作為處理后的真隨機數并輸出。
[0015] 優選的,在真隨機數發生模塊產生真隨機數之后,還包括:獲取真隨機數并檢測真 隨機數的隨機性;在真隨機數的隨機性不滿足要求時,輸出報警信號。
[0016] 優選的,報警信號還用于指示偽隨機數初值存儲模塊重置偽隨機數初始值。
[0017] 優選的,真隨機數發生模塊產生真隨機數并向異或模塊發送真隨機數,還包括:真 隨機數發生模塊向偽隨機數發生模塊發送真隨機數;
[0018] 偽隨機數發生模塊產生偽隨機數,包括:偽隨機數發生模塊根據真隨機數產生偽 隨機數。
[0019] 優選的,真隨機數發生模塊與偽隨機數發生模塊并行運行。
[0020] 本發明實施例提供的一種真隨機數后處理裝置及方法,通過異或模塊對真隨機數 發生模塊輸出的真隨機數和偽隨機數發生模塊輸出的偽隨機數進行異或運算,即使真隨機 數受損時,也可以保證異或模塊輸出隨機數的隨機性。同時,偽隨機數初值存儲模塊向偽隨 機數發生模塊提供偽隨機數序列的初始值,這樣偽隨機數發生模塊不需要在接收到真隨機 數發生模塊輸出的真隨機數之后再進行初始化,不存在系統延遲,從而提高了處理速度。真 隨機數發生模塊、偽隨機數發生模塊以及真隨機數檢測模塊等均有多種實現方法,可以根 據實際應用場景選定具體的器件,靈活性高。
[0021] 本發明的其它特征和優點將在隨后的說明書中闡述,并且,部分地從說明書中變 得顯而易見,或者通過實施本發明而了解。本發明的目的和其他優點可通過在所寫的說明 書、權利要求書、以及附圖中所特別指出的結構來實現和獲得。
[0022] 下面通過附圖和實施例,對本發明的技術方案做進一步的詳細描述。
【附圖說明】
[0023] 附圖用來提供對本發明的進一步理解,并且構成說明書的一部分,與本發明的實 施例一起用于解釋本發明,并不構成對本發明的限制。在附圖中:
[0024] 圖1為本發明實施例中真隨機數后處理裝置的第一結構示意圖;
[0025] 圖2為本發明實施例中真隨機數后處理裝置的第二結構示意圖;
[0026] 圖3為本發明實施例中偽隨機數發生模塊的結構示意圖;
[0027] 圖4為實施例一中真隨機數后處理裝置的結構示意圖;
[0028] 圖5為本發明實施例中真隨機數后處理方法的流程圖。
[0029] 結合附圖在其上標記以下附圖標記:
[0030] 11-真隨機數發生模塊,12-偽隨機數發生模塊,13-偽隨機數初值存儲模塊,14異 或模塊,15-真隨機數檢測模塊,121-反饋移位寄存器。
【具體實施方式】
[0031] 下面結合附圖,對本發明的【具體實施方式】進行詳細描述,但應當理解本發明的保 護范圍并不受【具體實施方式】的限制。
[0032] 根據本發明實施例,提供了一種真隨機數后處理裝置,圖1為真隨機數后處理裝 置的結構示意圖。真隨機數后處理裝置包括真隨機數發生模塊11、偽隨機數發生模塊12、 偽隨機數初值存儲模塊13和異或模塊14 ;其中,真隨機數發生模塊11用于產生并向異或 模塊14輸出真隨機數,偽隨機數發生模塊12用于產生并向異或模塊14輸出偽隨機數,偽 隨機數初值存儲模塊13存儲著偽隨機數的初始值并將該初始值發送給偽隨機數發生模塊 12,異或模塊14用于在接收到真隨機數和偽隨機數后,對真隨機數和偽隨機數進行異或處 理,并輸出異或處理的結果OUT,異或模塊14輸出的異或處理的結果OUT即為處理后的真隨 機數。
[0033] 上述真隨機數和偽隨機數都是二進制數,真隨機數發生模塊11和偽隨機數發生 模塊12并行運行,同時分別周期性地、同步地向異或模塊14發送二進制的隨機數,上述 二進制隨機數分別可以組成二進制數序列;異或模塊14將獲取到的真隨機數序列和偽 隨機數序列進行按位異或處理。例如異或模塊14接收到的真隨機數的二進制數序列為: 1001101011,相應的,異或模塊14接收到的偽隨機數的二進制數序列為:0101000110,則異 或模塊14進行按位異或處理后的結果參見表1所示: rnrml 韋 1
【主權項】
1. 一種真隨機數后處理裝置,其特征在于,包括:真隨機數發生模塊、偽隨機數發生模 塊、偽隨機數初值存儲模塊和異或模塊; 所述真隨機數發生模塊產生真隨機數并向所述異或模塊發送所述真隨機數,所述偽隨 機數發生模塊產生偽隨機數并向所述異或模塊發送所述偽隨機數,所述異或模塊在接收到 所述真隨機數和所述偽隨機數后,對所述真隨機數和所述偽隨機數進行異或處理,并輸出 異或處理的結果,所述偽隨機數初值存儲模塊將存儲的偽隨機數初始值發送給所述偽隨機 數發生模塊。
2. 根據權利要求1所述的真隨機數后處理裝置,其特征在于,所述裝置還包括;真隨機 數檢測模塊; 所述真隨機數檢測模塊接收所述真隨機數發生模塊發送的真隨機數并檢測所述真隨 機數的隨機性,在所述真隨機數的隨機性不滿足要求時,所述真隨機數檢測模塊輸出報警 信號。
3. 根據權利要求2所述的真隨機數后處理裝置,其特征在于,所述報警信號還用于指 示所述偽隨機數初值存儲模塊重置偽隨機數初始值。
4. 根據權利要求1-3任一所述的真隨機數后處理裝置,其特征在于,所述偽隨機數發 生模塊包括:反饋移位寄存器; 所述反饋移位寄存器接收真隨機數發生模塊發送的真隨機數,即所述反饋移位寄存器 的輸入與所述真隨機數相關。
5. 根據權利要求4所述的真隨機數后處理裝置,其特征在于,所述反饋移位寄存器為 部分位反饋的線性反饋移位寄存器。
6. 根據權利要求1-3任一所述的真隨機數后處理裝置,其特征在于,所述真隨機數發 生模塊與所述偽隨機數發生模塊并行運行。
7. -種真隨機數后處理方法,其特征在于,包括: 真隨機數發生模塊產生真隨機數并向異或模塊發送所述真隨機數; 偽隨機數發生模塊產生偽隨機數并向異或模塊發送所述偽隨機數,所述偽隨機數的初 始值由獨立的偽隨機數初值存儲模塊提供; 所述異或模塊在接收到所述真隨機數和所述偽隨機數后,對所述真隨機數和所述偽隨 機數進行異或處理; 將所述異或處理的結果作為處理后的真隨機數并輸出。
8. 根據權利要求7所述的真隨機數后處理方法,其特征在于,所述真隨機數發生模塊 產生真隨機數之后,還包括: 獲取所述真隨機數并檢測所述真隨機數的隨機性; 在所述真隨機數的隨機性不滿足要求時,輸出報警信號。
9. 根據權利要求8所述的真隨機數后處理方法,其特征在于,所述報警信號還用于指 示所述偽隨機數初值存儲模塊重置偽隨機數初始值。
10. 根據權利要求7或8所述的真隨機數后處理方法,其特征在于,所述真隨機數發生 模塊產生真隨機數并向異或模塊發送所述真隨機數,還包括;所述真隨機數發生模塊向所 述偽隨機數發生模塊發送所述真隨機數; 所述偽隨機數發生模塊產生偽隨機數,包括:偽隨機數發生模塊根據所述真隨機數產 生偽隨機數。
11.根據權利要求7或8所述的真隨機數后處理方法,其特征在于,所述真隨機數發生 模塊與所述偽隨機數發生模塊并行運行。
【專利摘要】本發明公開了一種真隨機數后處理裝置及方法,其中,該裝置包括:真隨機數發生模塊、偽隨機數發生模塊、偽隨機數初值存儲模塊和異或模塊;所述真隨機數發生模塊產生真隨機數并向所述異或模塊發送所述真隨機數,所述偽隨機數發生模塊產生偽隨機數并向所述異或模塊發送所述偽隨機數,所述異或模塊在接收到所述真隨機數和所述偽隨機數后,對所述真隨機數和所述偽隨機數進行異或處理,并輸出異或處理的結果,所述偽隨機數初值存儲模塊將存儲的偽隨機數初始值發送給所述偽隨機數發生模塊。通過本發明提供的真隨機數后處理裝置,避免因偽隨機數初始化而存在系統延遲,可以提高處理速度。
【IPC分類】G06F7-58
【公開號】CN104636115
【申請號】CN201310566372
【發明人】劉國華, 蘇偉, 萬勇, 周芝梅, 唐曉柯
【申請人】國家電網公司, 北京南瑞智芯微電子科技有限公司
【公開日】2015年5月20日
【申請日】2013年11月14日