一種片內真隨機數生成器的制造方法
【專利摘要】本發明涉及片內真隨機數生成器,包括隨機噪聲生成器,AD(模擬到數字)采樣器,噪聲轉化器和序列發生器。本發明的特點是利用片內溫度傳感器,作為真隨機數生成器的噪聲源,通過AD采樣將溫度值轉換成數字信號,對采樣得到的數字信號進行噪聲提取轉化,得到一組真隨機序列,最后通過序列發生器對多組隨機序列組裝,產生任意比特的真隨機數。由于采用片內的噪聲信號作為真隨機數的信號源,具有隨機和不可預測等特性,產生的隨機數分布均勻,符合不相關等特性,是一種高質量的真隨機數。本發明是利用集成電路實現的片內真隨機數生成器,利用了芯片設計的流水線,同步處理和資源復用等技術,具有成本低,穩定性好,速率快,易于實現等優點。
【專利說明】一種片內真隨機數生成器
【技術領域】
[0001]一種片內真隨機數生成器,屬于安全領域,通信領域及集成電路設計領域,特別涉及在芯片內部實現真隨機數生成器的設計。
【背景技術】
[0002]在安全領域和通信領域中,對高質量真隨機數的需求與日俱增。對于大部分加密系統而言,隨機數的性能決定了所使用密鑰和協議參數的安全性。
[0003]使用軟件算法實現的偽隨機數,不可避免地具有周期性和可預測性等特征,存在可被攻擊的安全隱患,因此使用偽隨機數的安全系統必然存在性能瓶頸。
[0004]為了獲取真隨機數,現有的一種方式是芯片外接真隨機數發生裝置,雖然解決了偽隨機數問題,但存在成本高,速率慢,電路復雜等問題。
[0005]為了獲取不可預測的真隨機數,就需要使用自然界存在的物理噪聲,如電路的熱噪聲。本發明旨在芯片內部實現一種低成本、高質量的真隨機數發生器。
【發明內容】
[0006]本發明要解決的技術問題是:本發明公開了一種片內真隨機數生成器,利用片內溫度傳感器,作為真隨機數生成器的噪聲源,通過AD采樣將溫度值轉換成數字信號,對采樣得到的數字信號進行噪聲提取轉化,得到一組隨機序列,最后通過序列發生器對多組隨機序列進行排列組合,產生任意比特的真隨機數。
[0007]本發明解決其技術問題所采用的技術方案是:一種片內真隨機數生成器,包括:
[0008]隨機噪聲生成器,用于產生帶隨機噪聲的模擬信號;
[0009]AD采樣器,用于對帶隨機噪聲的模擬量進行采樣,轉換成數字量;
[0010]噪聲轉化器,用于對采樣得到的數字信號進行噪聲提取轉化,得到一組原始真隨機序列;
[0011]序列發生器,用于對多組原始真隨機數序列進行排列組合,生成任意比特的真隨機數序列。
[0012]進一步地,所述隨機噪聲生成器為片內溫度傳感器,在芯片內部自帶溫度傳感器,無需連接額外模擬器件,很大程度上節省了真隨機數生成器的成本;所述的AD采樣器的比特位寬為W,溫度傳感器噪聲分量相對于實際溫度值來說,幅值較小,因此要求AD采樣器有較高的比特位寬(通常大于等于8比特);所述噪聲轉化器完成對X次采樣后得到的數字信號進行噪聲提取轉化,其中X為大于等于2的任意整數。本發明采用的轉化方法為:提取原始數字信號的直流分量,通過直流分量和原始數字信號作比較,將噪聲信號轉化成一組X比特的真隨機數序列;可重復運行Y次上述過程,得到XXY比特真隨機序列,其中Y為大于等于I的任意整數;所述的序列發生器對XXY比特真隨機序列進行排列組合,生成任意比特的真隨機數。
[0013]本發明的有益效果是:由于采用真實物理過程作為真隨機數的信號源,具有隨機和不可預測等特性,因此消除了偽隨機數的周期性和相關性等問題,產生的隨機數分布均勻,符合不相關等特性,是一種高質量的真隨機數。本發明是利用集成電路實現的片內真隨機數生成器,利用了芯片設計的流水線,同步處理和資源復用等技術,具有成本低,穩定性好,速率快,易于實現等優點。
【專利附圖】
【附圖說明】
[0014]圖1是本發明的片內真隨機數生成器的總體框圖;
[0015]圖2是本發明實施例的硬件電路結構圖;
[0016]圖3是本發明實施例的電路時序圖;
[0017]圖4是本發明實施例的電路工作流程圖;
[0018]圖5是本發明實施例的實測數據分析圖;
【具體實施方式】
[0019]為了更加清晰地描述本發明的原理,結構和優點,以下結合附圖,從方法原理,硬件電路,實現流程和實測數據分析等方面,對本發明做進一步詳細說明。此處所描述的具體實施內容僅僅用以解釋本發明,并不用于限定本發明。
[0020]本發明公開了一種片內真隨機數生成器,利用片內溫度傳感器,作為真隨機數生成器的噪聲源,通過AD采樣將溫度值轉換成數字信號,并將原始數字信號中的噪聲分量轉化成一組真隨機序列,最后通過序列發生器,產生任意比特的真隨機數。
[0021]圖1給出了本發明的片內真隨機數生成器的總體框圖,詳述如下:
[0022]片內真隨機數生成器包括:
[0023]隨機噪聲生成器100,包含片內溫度傳感器,用于產生帶隨機噪聲的模擬信號;
[0024]AD采樣器200,用于對隨機噪聲生成器100輸出的模擬信號進行采樣,轉換成數字信號;
[0025]噪聲轉化器300,用于對AD采樣器200輸出的數字信號進行處理,提取出直流分量,再通過原始數字信號和直流分量作比較,得到一組原始真隨機序列;
[0026]序列發生器400,重復利用裝置100?300,得到多組原始真隨機序列,并完成對序列的組合排列,生成任意比特的真隨機數。
[0027]在噪聲轉化器300中提取直流分量時,本實施例中采用對多個AD采樣值進行統計求平均的方式實現。
[0028]對片內溫度傳感器的X次采樣結果Tad。可以看作實際溫度值TMal和隨機噪聲Imise的耦合,即 Tadc (n) = Treal+Tnoise (η),η = O, I, 2,3,…,(Χ_1)。
[0029]對X次采樣結果進行統計求平均,可以算出采樣值的直流分量:
[0030]T = ΣILo1CTreaI+Tn0)se(i)} _ ZjLp1 Trea] +EjLp1 Tno el J _ 丁 + O TnoiseM
dcXXre 3.1X 。
[0031]Tadc(n)-Tdc= Tnoise〔n) UTxnoise[i〕, n= 0,1,2,3,…,〔X — I〕,由此可見,溫度采樣值和其直流分量的比較可以認為是隨機噪聲和噪聲期望的比較。而從隨機噪聲的均勻分布特性可以得出,比較結果是真隨機數。
[0032]為了方便實現,本實施例中采用如下設置:X = 2N, Y = M0
[0033]圖2給出了本發明實施例的硬件電路結構圖,針對部分內容詳述如下:
[0034]本實施例中各模塊的工作時鐘,統一由時鐘管理模塊500提供,所有數字邏輯采用同步處理,保證了信號處理的穩定性。
[0035]噪聲轉化器300包含:
[0036]模2n計數器301,加法器302,數據緩存寄存器組303,寄存器304,平均值鎖存器305,右移邏輯306和數字比較器307。
[0037]加法器302和寄存器304組成數據累加器;AD采樣器200的輸出數據在輸入到累加器同時,寫入數據緩存寄存器組303 ;模2n計數器301循環計數,具有以下功能:產生數據緩存寄存器組303的寫入地址,數據緩存寄存器組303輸出到數字比較器400的讀取地址,平均值鎖存器305的鎖存條件(計數值達到2N-1);平均值鎖存器305和右移邏輯306完成對累加結果求出平均值,得到2N次采樣的直流分量;數字比較器307,用于比較數據緩存寄存器組303輸出和平均值鎖存器305輸出,生成原始真隨機序列,本實施例采用的比較算法如下:大于直流分量為“1”,小于直流分量為“0”,等于直流分量做特殊處理(第奇數次等于為“ I ”,第偶數次等于為“O”)。
[0038]序列發生器400包含:
[0039]模M計數器401,移位寄存器402,數據鎖存器403和序列組裝器404。
[0040]移位寄存器402完成對噪聲轉化器300輸出隨機比特的移位寄存;當完成2N比特移位寄存后,數據存儲到數據鎖存器403中;同時,序列組裝器404完成對2n比特數據的排列組合;模1計數器401完成重復利用本實施例電路完成M次數據獲取組裝過程,最終獲得任意比特的真隨機數。
[0041]圖3給出了本發明實施例的電路工作時序圖,可以看到本實施例采用了流水線技術,并充分利用了同一套硬件資源,具有很好的穩定性高,成本低等優點。
[0042]圖4所示為本發明實施例的電路工作流程圖,給出了利用本發明產生MX2N比特真隨機序列的工作流程,詳述如下:
[0043]步驟1:初始化,計數器301清零,計數器401清零,啟動片內真隨機數發生器;
[0044]步驟2:計數器301循環計數,若計數到2N-1,進入步驟3 ;
[0045]步驟3:數據存儲到數據鎖存器403,并完成數據組裝,進入步驟4 ;
[0046]步驟4:若計數器401計數到M-1,進入步驟5 ;否則,計數器401計數加1,進入步驟2;
[0047]步驟5:獲取任意比特真隨機數,關閉片內真隨機數發生器。
[0048]圖5給出了實際測試得到連續2000個溫度信號后,按照實施例中方法處理所得到的噪聲信號的幅值圖,頻譜圖及相關性分析圖,可以看出,實測噪聲的互相關程度很低,具有良好的隨機性。
[0049]本發明采用真實物理過程作為真隨機數的信號源,具有隨機和不可預測等特性,因此消除了偽隨機數的周期性和相關性等問題,產生的隨機數分布均勻,符合不相關等特性,是一種高質量的真隨機數。本發明是利用集成電路實現的片內真隨機數生成器,利用了芯片設計的流水線,同步處理和資源復用等技術,具有成本低,穩定性好,速率快,易于實現等優點。
[0050]以上實施例僅用具體實施說明本發明的實現過程和結構,在此基礎上可以有多種變化,這種基于本發明結構的變化均包含在本發明的保護范圍之內。
【權利要求】
1.一種片內真隨機數生成器,其特征在于,包括: 隨機噪聲生成器,用于產生帶隨機噪聲的模擬信號; AD采樣器,用于對帶隨機噪聲的模擬量進行采樣,轉換成數字量; 噪聲轉化器,用于對采樣得到的數字信號進行噪聲提取轉化,得到一組原始隨機序列; 序列發生器,用于對多組原始真隨機數序列進行組合排列,生成任意比特的真隨機數。
2.如權利要求1所述的一種片內真隨機數生成器,其特征在于,所述的隨機噪聲生成器包含:片內溫度傳感器,無需連接額外模擬器件,很大程度上節省了真隨機數生成器的成本。
3.如權利要求1所述的一種片內真隨機數生成器,其特征在于,所采用的AD采樣器的比特位寬為W,溫度傳感器噪聲分量相對于實際溫度值來說,幅值較小,因此要求AD采樣器有一定的比特位寬。
4.如權利要求1所述的一種片內真隨機數生成器,其特征在于,所述的噪聲轉化器:從X次采樣溫度值得到的數字信號中,利用特定的方法將噪聲信號轉化成X比特的隨機序列,其中X可為大于等于2的任意整數。
5.如權利要求1-4任一項所述的一種片內真隨機數生成器,其特征在于,可重復運行Y次片內真隨機數生成器,得到XXY比特真隨機數,其中Y為大于等于I的任意整數。
6.如權利要求1所述的一種片內真隨機數生成器,其特征在于,所述的序列發生器:對XXY比特真隨機數進行序列組合,生成任意比特的隨機數序列。
7.如權利要求4所述的一種片內真隨機數生成器,其特征在于,所述的噪聲轉化器所采用的噪聲轉化方法為:提取原始數字信號的直流分量,通過原始數字信號和直流分量作比較,得到一組真隨機序列。
【文檔編號】G06F7/58GK104133658SQ201410363819
【公開日】2014年11月5日 申請日期:2014年7月29日 優先權日:2014年7月29日
【發明者】韓景通, 陶建平, 王和國, 孫振瑋, 張永攀 申請人:江蘇宏云技術有限公司