片上系統中生成真隨機數的方法及裝置制造方法
【專利摘要】本發(fā)明公開了一種片上系統中生成真隨機數的方法和裝置。將片上系統中的單端環(huán)形振蕩器的輸出作為噪聲時鐘輸入;然后將獨立參考時鐘作為采樣時鐘,在采樣時鐘的時鐘沿對輸入進行采樣;接著利用Bit-to-word緩沖器將采樣得到的1bit輸出進行移位寄存,得到兩組128位的數據信號;最后將得到的兩組數據信號記為第一組和第二組隨機數據,把第一組隨機數據作為AES算法的明文,把第二組隨機數據作為AES算法的密鑰,進行AES算法,獲取真隨機數。本發(fā)明可以應用在信息安全領域的片上系統中,不僅安全性能高,且設計周期短,容易實現。
【專利說明】片上系統中生成真隨機數的方法及裝置
【技術領域】
[0001]本發(fā)明涉及一種數據采樣生成方法和裝置,特別涉及一種片上系統中真隨機數的產生方法和裝置,屬于信息安全領域。
【背景技術】
[0002]信息時代的今天,各種信息產品已經成為我們生活的不可或缺用品。這些信息產品安全性能的高低成為生產商和消費顧客關注的焦點。為了保證消費者良好的享有這些信息產品的使用成果,故要求在這些產品中必要的植入安全加密體系。隨機數是以現代密碼學為基礎的信息安全系統的基石。在現代信息安全系統中,密碼體制和算法本身可以被公開,訪問策略可以公布,密碼設備可能丟失,而系統的安全性要求不受影響。整個系統的安全性完全依賴于隨機數序列的生成效率和質量。因此,高質量的隨機數在信息安全系統中的作用舉足輕重,如果隨機數的隨機性不夠安全,整個系統極有可能被攻擊者攻破。信息安全系統中的隨機數序列要求具有足夠的長度和周期,以及盡可能高的熵值,即具有高度的隨機性和不可預測性。
[0003]具備良好隨機特性的隨機數是成功實現安全加密的關鍵。對于許多使用偽隨機數的安全系統而言,偽隨機數注定成為它們性能提高的瓶頸。即使一個安全系統的其他部件都足夠安全,使用偽隨機數也會使整個系統變得很脆弱、易受到攻擊。真隨機數因其隨機性強,在數據加密、信息輔助、智能決策和初始化向量方面有著廣泛應用;
[0004]因此,在片上系統的設計中,若對隨機數發(fā)生器性能有較高的要求,則通常采用真隨機數發(fā)生器。真隨機數的產生,則要借助于工程設計良好的數字物理亂源,即利用一些物理過程的隨機性質。但并不是物理過程(硬件)產生的隨機數就是真隨機數,其中一些物理過程是否真正隨機也很難說,更有些系統僅僅采用硬件固定邏輯來加速偽隨機數的產生。這就存在一個隨機數質量檢測的問題。在所有隨機序列質量檢測方法中,以美國國家技術標準局NIST發(fā)布的關于密碼系統的信息安全標準FIPS140-2和德國聯邦資訊安全辦公室BSI發(fā)布的AIS-31測試標準最為著名。這些標準中指定了多種測試方式對隨機數序列的質量指標進行測試,以取代常規(guī)的隨機性統計檢驗。與同類標準相比,FIPS140-2和AIS-31的合格標準更加嚴格。
[0005]但是,現有的真隨機數的產生方法過于復雜冗長,其涉及的設備模塊也多,無法在片上系統快速安全實現真隨機數的產生。
【發(fā)明內容】
[0006]本發(fā)明所要解決的技術問題是提供一種在片上系統中生成真隨機數的方法和裝置。
[0007]為解決上述技術問題,本發(fā)明通過以下技術方案來實現:
[0008]一種片上系統中生成真隨機數的方法,其包括以下步驟:
[0009]將片上系統中的單端環(huán)形振蕩器的輸出作為噪聲時鐘輸入;
[0010]將獨立參考時鐘作為采樣時鐘,在采樣時鐘的時鐘沿對輸入進行采樣;
[0011]利用Bit-to-word緩沖器將采樣得到的Ibit輸出進行移位寄存,得到兩組128位的數據信號;
[0012]將得到的兩組數據信號記為第一組和第二組,把第一組中的數據作為AES算法(Advanced Encrypt1n Standard,即高級加密標準)的明文,把第二組中的數據作為AES算法的密鑰,進行AES算法運算,獲取真隨機數。
[0013]上述的片上系統中生成真隨機數的方法,其中:所述片上系統中的單端環(huán)形振蕩器由17級反向器環(huán)路組成。
[0014]進一步地,上述的片上系統中生成真隨機數的方法,其中:所述采樣是采用低速波采樣高速波的方式來實現真隨機數的產生。
[0015]更進一步地,上述的片上系統中生成真隨機數的方法,其中:所述采樣得到的Ibit數據與AES算法之間采用Bit-to-word緩沖器來進行數據緩沖。
[0016]本發(fā)明還提出了一種片上系統中生成真隨機數的裝置,所述裝置包括:
[0017]振蕩器,產生隨機數序列,作為噪聲時鐘的輸入;
[0018]采樣器,對上述輸入進行采樣;
[0019]數據緩沖器,將采樣得到的Ibit輸出進行移位寄存,得到兩組128位的數據信號;
[0020]AES算法運算器,將上述得到的兩組數據信號記為第一組和第二組隨機數據,進行AES算法運算,獲取真隨機數。
[0021]上述片上系統中生成真隨機數的裝置,其中所述振蕩器為差分振蕩器、單端振蕩器或混合振蕩器。
[0022]更進一步的,上述片上系統中生成真隨機數的裝置,其中所述振蕩器為單端環(huán)形振蕩器。
[0023]更進一步的,上述片上系統中生成真隨機數的裝置,其中所述采樣器為采樣時鐘,在采樣時鐘的時鐘沿對輸入進行采樣。
[0024]更進一步的,上述片上系統中生成真隨機數的裝置,其中采樣時鐘每一次采樣都能產生一個隨機位。
[0025]更進一步的,上述片上系統中生成真隨機數的裝置,其中所述緩沖器為Bit-to-word 緩沖器。
[0026]更進一步的,上述片上系統中生成真隨機數的裝置,其中AES算法運算器是把第一組隨機數據作為AES算法的明文,把第二組隨機數據作為AES算法的密鑰,進行AES算法運算。
[0027]本發(fā)明技術方案的顯著進步主要體現在:利用片上系統中的單端環(huán)形振蕩器所產生的噪聲,經過采樣和數據處理,得到一個隨機數序列,在保證隨機序列不可重復和均勻分布的基礎上,再次用加密算法對隨機序列進行算法運算,得到真正意義上的真隨機數。本發(fā)明隨機源建立在自然界的統計概論現象的基礎之上,不取決于任何人為種子值,實現了真隨機的產生,運用在信息安全領域的片上系統中,不僅條件限制小、安全性能高而且設計周期短,是一種高性價比的設計方案。由此可見,本發(fā)明具有顯著的技術進步,具有廣闊的應用前景。
【專利附圖】
【附圖說明】
[0028]圖1為本發(fā)明實施例片上系統中生成真隨機數的方法實施過程示意圖;
[0029]圖2為本發(fā)明實施例片上系統中生成真隨機數的裝置結構圖。
【具體實施方式】
[0030]真隨機數產生方法是指利用物理方法實現的隨機數的產生。各種隨機物理過程如宇宙噪聲、電路的熱噪聲和放射性衰變均可用來產生隨機物理信號。大多數隨機數產生方案通常可以歸為三類:放大電路噪聲、混沌電路、振蕩采樣。在片上系統中,缺乏有效的方法屏蔽來自電壓源和襯底的噪聲信號,因此無法采用放大電路噪聲法;在有確定性噪聲存在的情況下,由于在采樣過程中伴隨著非線性的混沌現象,所以本發(fā)明采用了更具優(yōu)越性的振蕩器采樣法,與其他兩種方法相比,其更簡單、更易實現。
[0031]本發(fā)明是一種片上系統中生成真隨機數的方法及裝置,利用低頻振蕩器采樣高頻振蕩器,從而產生隨機數列,再通過Bit-to-word緩沖器來進行數據緩沖,將得到的數據進行AES加密算法運算,得到真正的隨機數。
[0032]振蕩器包括差分振蕩器、單端振蕩器和混合振蕩器,通常差分振蕩器對電源及基底噪聲的敏感度不如單端振蕩器,此外,差分振蕩器設計需要客戶定制的電路布局,所以無法集成到標準單元的片上系統中。因此,在片上系統中最簡單直接的解決方案通常是單端環(huán)形振蕩器,如圖2所示,單端環(huán)形振蕩器的輸出作為噪聲時鐘輸入,即圖1的步驟SI。所述單端環(huán)形振蕩器由17級反向器環(huán)路組成。
[0033]具體來說如下:振蕩器采樣的方法是利用自由振蕩器的相位噪聲產生隨機序列(理想情況下噪聲是MOSFET熱噪聲的附產物);自由振蕩器的輸出作為噪聲時鐘輸入,獨立參考時鐘作為采樣時鐘(圖2),在采樣時鐘的時鐘沿對輸入進行采樣;自由振蕩器的相位抖動使得采樣具有值具有不確定性,理想的情況每一次采樣都能產生一個隨機位;該隨機性可以通過人為地選擇噪聲時鐘和采樣時鐘頻率比例來調整,即步驟S2。所述采樣是采用低速波采樣高速波的方式來實現真隨機數的產生。
[0034]再進一步來看,在實際設計產生真隨機數方法中,還要對隨機源產生的隨機數進行處理,使輸出的隨機序列能夠更好的滿足隨機性檢驗。因此本發(fā)明還包含數據緩沖器Bit-to-word Buffer,該緩沖器的功能是將采樣得到的Ibit輸出進行移位移存,得到兩組128位的隨機序列,即步驟S3。
[0035]隨即,在兩組128位總共256位的隨機序列存入后,把這兩組隨機信號分別記為第一組隨機數據和第二組隨機數據。將第一組隨機數據作為AES算法中的明文,將第二組隨機數據作為AES算法的密鑰,在AES算法運算器中進行一次完整的AES運算,即為步驟S4。經過此算法后,得到最終的真隨機數。
[0036]從上述文字表述并結合附圖可以看到,本發(fā)明利用片上系統單端環(huán)形振蕩器所產生的噪聲,經過采樣和數據緩存,產生真正的隨機序列,在保證隨機序列不可重復和均勻分布的基礎上,再次用加密算法對隨機序列進行算法運算,得到真正意義上的真隨機數。本發(fā)明隨機源建立在自然界的統計概論現象的基礎之上,不取決于任何人為種子值,實現了真隨機數發(fā)生器,運用在信息安全領域的片上系統中,不僅條件限制小、適用面廣,而且安全性能高、設計周期短,屬于一種高性價比的設計方案。
[0037]以上實施方式僅用于說明本發(fā)明,而并非對本發(fā)明的限制,有關【技術領域】的普通技術人員,在不脫離本發(fā)明的精神和范圍的情況下,還可以做出各種變化和變型,因此所有等同的技術方案也屬于本發(fā)明的范疇,本發(fā)明的專利保護范圍應由權利要求限定。
【權利要求】
1.一種片上系統中生成真隨機數的方法,其特征在于,包括以下步驟: 將片上系統中的單端環(huán)形振蕩器的輸出作為噪聲時鐘輸入; 將獨立參考時鐘作為采樣時鐘,在采樣時鐘的時鐘沿對輸入進行采樣; 利用81卜〖010%緩沖器將采樣得到的化1丨輸出進行移位寄存,得到兩組128位的數據信號; 將得到的兩組數據信號記為第一組和第二組隨機數據,把第一組隨機數據作為仙3算法的明文,把第二組隨機數據作為仙3算法的密鑰,進行仙3算法運算,獲取真隨機數。
2.一種如權利要求1所述的片上系統中生成真隨機數的方法,其特征在于:所述片上系統中的單端環(huán)形振蕩器由17級反向器環(huán)路組成。
3.—種如權利要求1所述的片上系統中生成真隨機數的方法,其特征在于:所述將獨立參考時鐘作為采樣時鐘,在采樣時鐘的時鐘沿對輸入進行采樣的步驟是采用低速波采樣高速波的方式來實現真隨機數的產生。
4.一種如權利要求1所述的片上系統中生成真隨機數的方法,其特征在于:所述采樣得到的化“數據與仙3算法之間采用81卜〖010%緩沖器來進行數據緩沖。
5.一種片上系統中生成真隨機數的裝置,所述裝置包括: 振蕩器,產生隨機數序列,作為噪聲時鐘的輸入; 采樣器,對上述輸入進行采樣; 數據緩沖器,將采樣得到的1化〖輸出進行移位寄存,得到兩組128位的數據信號; 八£3算法運算器,將上述得到的兩組數據信號記為第一組和第二組隨機數據,進行仙3算法運算,獲取真隨機數。
6.一種如權利要求5所述的片上系統中生成真隨機數的裝置,其特征在于:所述振蕩器為差分振蕩器、單端振蕩器或混合振蕩器。
7.—種如權利要求5所述的片上系統中生成真隨機數的裝置,其特征在于:所述振蕩器為單端環(huán)形振蕩器。
8.—種如權利要求5所述的片上系統中生成真隨機數的裝置,其特征在于:所述采樣器為采樣時鐘,在采樣時鐘的時鐘沿對輸入進行采樣。
9.一種如權利要求8所述的片上系統中生成真隨機數的裝置,其特征在于:采樣時鐘每一次采樣都能產生一個隨機位。
10.一種如權利要求5所述的片上系統中生成真隨機數的裝置,其特征在于:所述緩沖器為緩沖器,用于將采樣得到的1化丨數據與仙3算法之間采用
緩沖器來進行數據緩沖。
11.一種如權利要求5所述的片上系統中生成真隨機數的裝置,其特征在于:仙3算法運算器是把第一組隨機數據作為仙3算法的明文,把第二組隨機數據作為仙3算法的密鑰,進行仙3算法運算。
【文檔編號】G06F7/58GK104461452SQ201310424544
【公開日】2015年3月25日 申請日期:2013年9月17日 優(yōu)先權日:2013年9月17日
【發(fā)明者】田心, 徐樹民, 劉振, 王卓 申請人:航天信息股份有限公司