專利名稱:一種產(chǎn)生真隨機數(shù)的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種產(chǎn)生隨機數(shù)的方法,尤其涉及一種產(chǎn)生真隨機數(shù)的方法。
背景技術(shù):
在安全技術(shù)領(lǐng)域里,隨機數(shù)尤其是真隨機數(shù)的產(chǎn)生至關(guān)重要。在很多情況下真隨機數(shù)決定加密算法是否安全,加密強度是否足夠強。通常情況下產(chǎn)生真隨機數(shù)的辦法是使用偽隨機數(shù)序列產(chǎn)生器,但偽隨機數(shù)序列產(chǎn)生器產(chǎn)生的數(shù)雖然是隨機數(shù),但其序列順序是固定的,因此被稱為偽隨機數(shù)。為了產(chǎn)生真隨機數(shù),在設(shè)計過程中通常需要增加額外的電路,比如專門的非易失性存儲器存儲隨機數(shù)種子等等,通常的設(shè)計形式增加了系統(tǒng)的復(fù)雜度和設(shè)計成本。如何能在電路設(shè)計中找到一種設(shè)計簡單、易于實現(xiàn)產(chǎn)生真隨機數(shù)的方法為本發(fā)明要解決的技術(shù)問題。
發(fā)明內(nèi)容
本發(fā)明目的提供一種產(chǎn)生真隨機數(shù)的方法,在通常電路中隨機數(shù)序列產(chǎn)生器應(yīng)用中,不增加額外的設(shè)計電路而產(chǎn)生真隨機數(shù),滿足電路設(shè)計需求。一種產(chǎn)生真隨機數(shù)的方法,包含以下內(nèi)容
電路設(shè)計中包含一個偽隨機數(shù)序列產(chǎn)生器,通常的線性反饋移位寄存器即可實現(xiàn)上述偽隨機數(shù)序列產(chǎn)生器。偽隨機數(shù)序列產(chǎn)生器啟動之后處于自由運行的狀態(tài),不停更新并產(chǎn)生新的隨機數(shù)。確定特定時間采樣點,電路對偽隨機數(shù)序列產(chǎn)生器采樣,得到一個隨機數(shù)。 為保證數(shù)據(jù)的真隨機性,本發(fā)明利用采樣時間點的隨機性來確保真隨機性。本發(fā)明真隨機數(shù)的產(chǎn)生主要利用電路中異步時鐘之間相位的不確定性來實現(xiàn)。電路設(shè)計中包含一個以上時鐘,各時鐘之間是獨立的,為異步時鐘,異步時鐘的時鐘相位是不確定的。為增加隨機性,有兩種方式一種是將輸出采樣信號在不同時鐘域之間多傳遞幾次。每跨一次時鐘域,即多一倍的可能的隨機數(shù)??缭酱螖?shù)足夠多,隨機性就足夠強;另一種方法為電路中某一時鐘采用電路中內(nèi)部的振蕩器產(chǎn)生。通過利用內(nèi)建震蕩器頻率易受環(huán)境影響(如工藝、溫度、電壓的影響),則其輸出采樣信號由于時鐘的不穩(wěn)定性而增加隨機性。
圖1隨機數(shù)與采樣輸出示意圖
圖2本發(fā)明提供的真隨機數(shù)產(chǎn)生及采樣示意圖。
具體實施方案以下根據(jù)各附圖對本發(fā)明提出的產(chǎn)生真隨機數(shù)的方法進一步詳細說明。如圖1中所示,舉例說明假設(shè)偽隨機數(shù)序列產(chǎn)生器工作在時鐘CLKB,采樣電路
3工作在時鐘CLKA。偽隨機數(shù)序列產(chǎn)生器處于自由運行狀態(tài),因此連續(xù)不斷的產(chǎn)生隨機數(shù) A(t),A(t+l),…。輸出采樣信號從低到高表示對輸出采樣。由于異步時鐘的不確定性,數(shù)據(jù)可能采樣到A(t+3),也有可能采樣到A(t+4)。采用上述方法,如果CLKA和CLKB都很精確,則產(chǎn)生的隨機數(shù)只有兩種可能,隨機性仍然不是很強。為了增加隨機性通常有兩種辦法,一種是將輸出采樣信號在不同時鐘域之間多傳遞幾次。每跨一次時鐘域,就多一倍的可能的隨機數(shù)。跨越次數(shù)足夠多,隨機性就足夠強。另外一種方法更為簡單、有效。假設(shè)其中的任何一個時鐘,例如CLKA不是很精確, 并且容易受電路周圍環(huán)境,如電壓、溫度和工藝的影響。舉例說,CLKA是由芯片內(nèi)部的振蕩器產(chǎn)生。芯片內(nèi)建的振蕩器,不同于晶振,其振蕩頻率容易受外界環(huán)境影響,且起振期間頻率一直處于變化中。所以如果芯片內(nèi)建的振蕩器頻率變化率為1%(通常芯片內(nèi)部的振蕩器頻率變化隨著溫度,電壓,以及工藝變化有10% 20%的變化),那么輸出采樣信號的時間點也有1%的變化。如附圖2中所示,從電路上電復(fù)位開始,輸出采樣由于其產(chǎn)生時鐘的不穩(wěn)定性,上升沿從A(IOOOO)到A(IOOlOO)變化。所以可能采樣到A (10000)到A(IOOlOO) 之間的任何數(shù),從而隨機性大大增加。
權(quán)利要求
1.一種產(chǎn)生真隨機數(shù)的方法,其特征在于利用采樣點的不確定性來實現(xiàn)(1)偽隨機數(shù)序列產(chǎn)生器在啟動后處于自由運行的狀態(tài),不停更新并產(chǎn)生新的隨機數(shù);(2)確定采樣點,電路對偽隨機數(shù)序列產(chǎn)生器采樣,采樣點隨機,得到一個真隨機數(shù)。
2.如權(quán)利要求1所述的一種產(chǎn)生真隨機數(shù)的方法,其特征在于所述增加采樣點隨機性的實現(xiàn)方式為一種是將輸出采樣信號在不同時鐘域之間傳遞多次;另一種為電路中某一時鐘采用電路中內(nèi)建的振蕩器產(chǎn)生。
3.如權(quán)利要求1或2所述的一種產(chǎn)生真隨機數(shù)的方法,其特征在于所述輸出采樣信號在不同時鐘域之間多次傳遞時,每多跨一次時鐘域,多一倍的隨機性。
4.如權(quán)利要求1或2所述的一種產(chǎn)生真隨機數(shù)的方法,其特征在于所述內(nèi)建震蕩器頻率易受環(huán)境影響的因素,其輸出采樣信號因時鐘的不穩(wěn)定性而增加隨機性。
全文摘要
本發(fā)明提供一種產(chǎn)生真隨機數(shù)的方法,在不增加電路額外設(shè)計的前提下利用采樣時間點的隨機性來確保真隨機性。偽隨機數(shù)序列產(chǎn)生器啟動之后處于自由運行的狀態(tài),即不停更新并產(chǎn)生新的隨機數(shù)。在特定時間采樣點,電路對偽隨機數(shù)序列產(chǎn)生器采樣,得到一個隨機數(shù)。本發(fā)明真隨機數(shù)的產(chǎn)生利用采樣點的不確定性來實現(xiàn)。同時包含兩種增加隨機性的實現(xiàn)方式一種是將輸出采樣信號在不同時鐘域之間多傳遞幾次;另一種為電路中某一時鐘采用電路中內(nèi)部的振蕩器產(chǎn)生。通過本發(fā)明提供的方法,使得應(yīng)用電路設(shè)計簡單、易于實現(xiàn),且滿足電路設(shè)計中真隨機數(shù)產(chǎn)生的需求。
文檔編號G06F7/58GK102566968SQ20101058270
公開日2012年7月11日 申請日期2010年12月10日 優(yōu)先權(quán)日2010年12月10日
發(fā)明者官志勇, 湯曉嵐 申請人:上海華虹集成電路有限責任公司