專利名稱:用于純隨機(jī)數(shù)發(fā)生器的系統(tǒng)和方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種用于提供純隨機(jī)數(shù)發(fā)生器的方法。尤其,本發(fā)明涉及一種系統(tǒng)和方法,該系統(tǒng)和方法用于提供完全的數(shù)字和/或者數(shù)字化合成的純隨機(jī)數(shù)發(fā)生器,以使用任一標(biāo)準(zhǔn)的邏輯合成工具或可比技術(shù)在集成電路(IC)上引入(incorporation)純隨機(jī)數(shù)發(fā)生器。
在許多應(yīng)用中使用隨機(jī)數(shù)發(fā)生器,所述應(yīng)用包括例如計(jì)算機(jī)安全、密碼學(xué)、音頻系統(tǒng)測(cè)試、位糾錯(cuò)測(cè)試和安全通信。隨機(jī)數(shù)產(chǎn)生領(lǐng)域里的當(dāng)前成果典型地需要模擬振蕩器以得到頻率的變化,或者需要亞穩(wěn)態(tài)的觸發(fā)器以提供一個(gè)不可預(yù)見(jiàn)的模式,或者需要模擬電路濾掉和放大熱噪聲,或者需要上述每項(xiàng)的某一組合。因此,期望提供一種用于設(shè)計(jì)純隨機(jī)數(shù)發(fā)生器(TRNG)的系統(tǒng)和/或者方法,該純隨機(jī)數(shù)發(fā)生器不需要任何上述的模擬部件和/或者亞穩(wěn)態(tài)配置。同樣也期望系統(tǒng)和/或者方法使用任何標(biāo)準(zhǔn)的技術(shù)便于TRNG的合成,引入在一個(gè)IC上。
本發(fā)明的一個(gè)目的是,提供一種用于產(chǎn)生純隨機(jī)數(shù)的系統(tǒng)和方法。這個(gè)系統(tǒng)和方法包含提供至少一個(gè)計(jì)數(shù)器、一個(gè)移位器,一個(gè)用于與計(jì)數(shù)器合作的第一振蕩器,一個(gè)用于與移位器合作的第二個(gè)振蕩器和一個(gè)用于與上述部件每一個(gè)合作的微處理器。
本發(fā)明的系統(tǒng)和方法提供了在不使用模擬時(shí)鐘或亞穩(wěn)態(tài)配置的情況下產(chǎn)生一個(gè)隨機(jī)數(shù),因?yàn)楸景l(fā)明時(shí)鐘的產(chǎn)生由環(huán)形振蕩器數(shù)字地控制,該環(huán)形振蕩器是基于數(shù)字(高或者低)輸入信號(hào)的頻率擾動(dòng)(frequency perturbation)而設(shè)計(jì)的,從而允許從純數(shù)字信號(hào)中產(chǎn)生隨機(jī)頻率。因此,使用簡(jiǎn)單的計(jì)數(shù)器和移位器能產(chǎn)生隨機(jī)數(shù)。使用任何標(biāo)準(zhǔn)的邏輯合成工具或可比技術(shù),合成使用本發(fā)明的系統(tǒng)和方法設(shè)計(jì)的TRNG,用于引入在一個(gè)IC上。本發(fā)明的這些以及其他目的和優(yōu)點(diǎn)是通過(guò)本發(fā)明的系統(tǒng)和方法而達(dá)到的。
參照一個(gè)說(shuō)明性的實(shí)施方案隨后詳細(xì)的描述并結(jié)合下面所標(biāo)號(hào)的圖,可以比較全面的理解本發(fā)明。
圖1是依照本發(fā)明的一個(gè)說(shuō)明性的實(shí)施方案的系統(tǒng)的一個(gè)方塊圖。
圖2是本發(fā)明的另一個(gè)說(shuō)明性的實(shí)施方案的一個(gè)方塊圖。
圖3是依照本發(fā)明的一個(gè)說(shuō)明性的實(shí)施方案產(chǎn)生一個(gè)純隨機(jī)數(shù)電路的一個(gè)示意圖。
圖4是用于提供純隨機(jī)數(shù)的本發(fā)明方法的一個(gè)流程圖。
用于產(chǎn)生隨機(jī)數(shù)的傳統(tǒng)系統(tǒng)使用振蕩器、例如環(huán)形振蕩器產(chǎn)生隨機(jī)數(shù)。比較典型地,環(huán)形振蕩器有奇數(shù)個(gè)門(mén)電路,這些門(mén)電路串聯(lián)成一個(gè)環(huán)形,并且在一些情況下,這樣的環(huán)形振蕩器的一個(gè)門(mén)電路可以具有環(huán)中其他門(mén)電路的輸出的一種組合作為一輸入。環(huán)形振蕩器在某一點(diǎn)被抽樣以提供一隨機(jī)數(shù)或一偽隨機(jī)數(shù)。
盡管傳統(tǒng)的TRNG能提供隨機(jī)數(shù)和/或偽隨機(jī)數(shù),但是本領(lǐng)域技術(shù)人員認(rèn)識(shí)到,許多所述TRNG本質(zhì)上是周期性的,因此產(chǎn)生的數(shù)比所期望的具有較少的隨機(jī)性。另外,正如所期望的,在一個(gè)芯片或一個(gè)IC上如此高效地引入TRNG,致使在芯片或IC上并不需要特殊的部件來(lái)產(chǎn)生隨機(jī)數(shù),期望的系統(tǒng)是一個(gè)相對(duì)緊湊的和相對(duì)耗費(fèi)比較少的功率的系統(tǒng)。
在下文中根據(jù)一定說(shuō)明性的實(shí)施方案將描述本發(fā)明的系統(tǒng)和方法。然而,本領(lǐng)域的普通技術(shù)人員來(lái)可意識(shí)到,使用其他可替代的部件和/或者其他可比配置,該系統(tǒng)和方法可以有效地進(jìn)行操作。
參考附圖,尤其是圖1,顯示了依照本發(fā)明的一個(gè)說(shuō)明性的實(shí)施方案的用于純隨機(jī)數(shù)發(fā)生器的系統(tǒng)的方塊圖,所述系統(tǒng)通常用參考數(shù)字10表示。優(yōu)選地,系統(tǒng)10采用至少一個(gè)2Mbits/sec(每秒62,500個(gè)數(shù))的速率,而提供不可預(yù)知/非確定性的數(shù)字產(chǎn)生,并且能選擇性地含有或者不含有一個(gè)種子值進(jìn)行操作。優(yōu)選地,系統(tǒng)10對(duì)數(shù)字0和數(shù)字1的長(zhǎng)期運(yùn)行有偏離。系統(tǒng)10同時(shí)也優(yōu)選地具有休眠模式以減少所需功率的需求。
系統(tǒng)10具有至少一個(gè)用于產(chǎn)生位的計(jì)數(shù)器20,至少一個(gè)用于加擾位(scrambling bits)的移位器30,至少一個(gè)用于與所述至少一個(gè)計(jì)數(shù)器20合作的第一振蕩器40,至少一個(gè)用于與所述至少一個(gè)移位器30合作的第二振蕩器50,和一個(gè)用于與上述部件每一個(gè)合作的微處理器60,以提供一個(gè)基于數(shù)字輸入信號(hào)的頻率擾動(dòng)。優(yōu)選地,計(jì)數(shù)器20有一個(gè)初始化寄存器用于接收一個(gè)初始位值5,優(yōu)選地,在微處理器60的初始寫(xiě)入的后沿插入所述初始位值。計(jì)數(shù)器20優(yōu)選的是一個(gè)32位的升計(jì)數(shù)器。然而,計(jì)數(shù)器20也可以是一個(gè)16位的升計(jì)數(shù)器(up counter)和一個(gè)16位的降計(jì)數(shù)器(down counter),和/或者其他可比類型的計(jì)數(shù)器,該可比類型的計(jì)數(shù)器適合完成本發(fā)明上文所確定的目的。如果使用16位計(jì)數(shù)器,那么它的輸出結(jié)果可以插入(interleaved)到移位器30中。優(yōu)選地,移位器30是一個(gè)桶形移位器,更具體而言,它是一個(gè)32位桶形移位器。移位器30可以是任何其他可比類型的移位器,該可比類型的移位器適合完成本發(fā)明上文所確定的目的。優(yōu)選地,第一振蕩器40和第二振蕩器50是環(huán)形振蕩器,每個(gè)振蕩器都有一個(gè)不同的奇數(shù)級(jí)(stages),優(yōu)選地,第一振蕩器40是一個(gè)5級(jí)振蕩器和第二振蕩器50是一個(gè)7級(jí)振蕩器。然而,應(yīng)當(dāng)指出的是,第一振蕩器40和第二振蕩器50也分別可以是任何其他可比類型的振蕩器,所述振蕩器足以完成本發(fā)明上文所確定的目的。優(yōu)選地,可以從反相器(inverter)、與門(mén)、與非門(mén)、或非門(mén)、異或門(mén)和/或者任何其他類似類型部件的一種組合中,來(lái)構(gòu)建第一振蕩器40和第二振蕩器50。按照本發(fā)明,對(duì)于采用部件組合的系統(tǒng)10的一個(gè)說(shuō)明性的實(shí)施方案通常參照?qǐng)D3。
參照?qǐng)D2,系統(tǒng)10在移位器30和微處理器60之間可以優(yōu)選地包含一個(gè)白化濾波器和/或者一個(gè)線性反饋移位寄存器(“LFSR”)70。優(yōu)選地,這種安排易于使用計(jì)數(shù)器的值來(lái)修改移位器30的輸出。優(yōu)選地,LFSR70有任意級(jí)數(shù),能恰當(dāng)?shù)赝瓿杀景l(fā)明上文所確定的目的。系統(tǒng)10在第二振蕩器50和移位器30之間也可以包含一個(gè)一位熱碼(one-hot)移位選擇器80。
為了說(shuō)明系統(tǒng)10是如何操作的,參照?qǐng)D4,圖4是按照本發(fā)明一個(gè)說(shuō)明性實(shí)施方案、通常由參考數(shù)字100表示的方法的流程圖,該方法用于提供純隨機(jī)數(shù)。方法100至少包含步驟110、步驟120、步驟130和步驟140。步驟110利用至少一個(gè)計(jì)數(shù)器20來(lái)產(chǎn)生位。優(yōu)選地,通過(guò)從微處理器60到所述計(jì)數(shù)器的初始化寄存器的一個(gè)寫(xiě)入將計(jì)數(shù)器20進(jìn)行初始化,該微處理器具有某一速率或頻率。優(yōu)選地,第一振蕩器40以一個(gè)速率或頻率計(jì)時(shí)計(jì)數(shù)器20,所述速率或頻率優(yōu)選地依賴于部件物理特性的芯片,并且與微處理器的頻率是異步的,使用所述部件來(lái)形成第一振蕩器。步驟120利用至少一個(gè)移位器30來(lái)加擾位。優(yōu)選地,移位器30與計(jì)數(shù)器20合作,通過(guò)第二振蕩器50使移位器30以一個(gè)與計(jì)數(shù)器20和微處理器60的速率或頻率異步的速率或頻率不斷循環(huán)(spun)。優(yōu)選地,移位器的速率或頻率比微處理器的速率或頻率要快。步驟130利用振蕩器40和振蕩器50分別與計(jì)數(shù)器20和移位器30同時(shí)合作。步驟140對(duì)于來(lái)自計(jì)數(shù)器20和移位器30的振蕩器40和振蕩器50進(jìn)行交叉耦合異步頻率控制位。因此,優(yōu)選地,當(dāng)微處理器60讀取一個(gè)含有一定位數(shù)、例如32位的隨機(jī)數(shù)時(shí),移位器30將優(yōu)選地輸入一個(gè)當(dāng)前計(jì)數(shù)器20的值,并且按當(dāng)前移位數(shù)(例如0到31)將它進(jìn)行移位。優(yōu)選地,當(dāng)每個(gè)部件(如計(jì)數(shù)器,移位器和微處理器)的頻率彼此之間是異步時(shí),則將返回位數(shù)的一個(gè)不可預(yù)測(cè)模式給微處理器。
從而,尤其參照優(yōu)先形式已經(jīng)對(duì)本發(fā)明進(jìn)行了描述,很顯然地是,在不脫離在此限定本發(fā)明所定義地精神和范圍的情況下,其中可以做各種改變和修改。
權(quán)利要求
1.一種用于產(chǎn)生純隨機(jī)數(shù)的系統(tǒng),包含以第一頻率操作的一個(gè)微處理器,至少一個(gè)用于產(chǎn)生位的計(jì)數(shù)器;至少一個(gè)用于加擾位的移位器;至少一個(gè)用于與所述至少一個(gè)計(jì)數(shù)器合作的第一振蕩器;和至少一個(gè)用于與所述至少一個(gè)移位器合作的第二振蕩器,其中,所述的振蕩器提供一個(gè)基于經(jīng)所述的微處理器初始化的數(shù)字輸入信號(hào)的頻率擾動(dòng)。
2.如權(quán)利要求1所述的系統(tǒng),其中所述的計(jì)數(shù)器有一個(gè)用于接收初始位值的初始化寄存器。
3.如權(quán)利要求2所述的系統(tǒng),其中所述的初始位值是在所述的微處理器的一個(gè)初始寫(xiě)入的后沿中。
4.如權(quán)利要求3所述的系統(tǒng),其中所述至少一個(gè)第一振蕩器是一個(gè)有第一奇數(shù)級(jí)的環(huán)形振蕩器。
5.如權(quán)利要求4所述的系統(tǒng),其中所述的至少一個(gè)第一環(huán)形振蕩器與所述的至少一個(gè)計(jì)數(shù)器相合作以提供第二頻率。
6.如權(quán)利要求5所述的系統(tǒng),其中所述的至少一個(gè)移位器是桶形移位器,該桶形移位器通過(guò)所述至少一個(gè)第二振蕩器以第三頻率不斷循環(huán)。
7.如權(quán)利要求6所述的系統(tǒng),其中所述的至少一個(gè)第二振蕩器是一個(gè)具有第二奇數(shù)級(jí)的環(huán)形振蕩器,所述第二奇數(shù)級(jí)與所述的第一奇數(shù)級(jí)至少相差2級(jí)。
8.如權(quán)利要求7所述的系統(tǒng),其中所述的第三頻率與所述的第二頻率是異步的。
9.如權(quán)利要求8所述的系統(tǒng),其中所述的第三頻率與所述的第一頻率是異步的。
10.如權(quán)利要求8所述的系統(tǒng),其中所述的第三頻率與所述的第一頻率是異步的,并且所述的第三頻率比所述的第一頻率快。
11.如權(quán)利要求9所述的系統(tǒng),其中以所述的第二頻率定時(shí)或計(jì)時(shí)所述的計(jì)數(shù)器,所述的第二頻率與所述的第三頻率是異步的。
12.如權(quán)利要求11所述的系統(tǒng),其中所述的第二頻率與所述的第一頻率是異步的。
13.如權(quán)利要求12所述的系統(tǒng),其中當(dāng)所述的微處理器讀取一隨機(jī)數(shù)時(shí),所述的桶形移位器輸入一當(dāng)前計(jì)數(shù)器的位值,并且按當(dāng)前桶形移位計(jì)數(shù)來(lái)移位所述的位值。
14.用于提供一純隨機(jī)數(shù)發(fā)生器的方法,包含以下步驟(a)提供一個(gè)微處理器,所述微處理器以第一頻率進(jìn)行操作;(b)提供至少一個(gè)計(jì)數(shù)器;(c)提供至少一個(gè)第一振蕩器,以在第二頻率上定時(shí)所述的至少一個(gè)計(jì)數(shù)器;(d)提供至少一個(gè)移位器;和(e)提供至少一個(gè)第二振蕩器,以使所述的至少一個(gè)移位器以第三頻率不斷地循環(huán)。
15.如權(quán)利要求13所述的方法,其中所述的至少一個(gè)第一振蕩器具有第一奇數(shù)級(jí)和所述的第二振蕩器具有第二奇數(shù)級(jí),所述第二奇數(shù)級(jí)與所述的第一奇數(shù)級(jí)至少相差2級(jí)。
16.如權(quán)利要求13所述的方法,其中所述的第一頻率、所述的第二頻率、所述的第三頻率彼此之間是異步的。
17.如權(quán)利要求15所述的方法,其中當(dāng)所述的微處理器讀取一隨機(jī)數(shù)時(shí),所述的移位器輸入一當(dāng)前計(jì)數(shù)器的位值,并且按當(dāng)前移位計(jì)數(shù)來(lái)移位所述的位值。
18.用于產(chǎn)生純隨機(jī)數(shù)的方法,包含以下步驟(a)提供一個(gè)以第一頻率操作的微處理器、至少一個(gè)用于產(chǎn)生位的計(jì)數(shù)器、至少一個(gè)用于加擾位的移位器、分別與所述的計(jì)數(shù)器和所述的移位器合作的一個(gè)第一振蕩器和第二振蕩器;(b)通過(guò)從所述的微處理器到所述的至少一個(gè)計(jì)數(shù)器的初始化寄存器的一個(gè)寫(xiě)入對(duì)所述的計(jì)數(shù)器進(jìn)行初始化;(c)在第二頻率上經(jīng)所述的第一個(gè)振蕩器定時(shí)所述的至少一個(gè)計(jì)數(shù)器;(d)經(jīng)由所述的第二振蕩器,使所述的至少一個(gè)移位器以第三頻率不斷地循環(huán);(e)每次當(dāng)所述的微處理器讀取一隨機(jī)位數(shù)時(shí),輸入一當(dāng)前計(jì)數(shù)器的位值,并且按當(dāng)前移位計(jì)數(shù)來(lái)移位所述的當(dāng)前位值;(f)將所述的移位的位值返回給所述的微處理器,以取得位數(shù)的一個(gè)不可預(yù)測(cè)模式。
19.如權(quán)利要求17所述的方法,其中所述的至少一個(gè)第一振蕩器具有第一奇數(shù)級(jí)和所述的第二振蕩器具有第二奇數(shù)級(jí),所述第二奇數(shù)級(jí)與所述的第一奇數(shù)級(jí)至少相差2級(jí)。
20.如權(quán)利要求17所述的方法,其中所述的第一頻率、所述的第二頻率、所述的第三頻率彼此之間是異步的。
21.如權(quán)利要求19所述的方法,其中當(dāng)所述的微處理器讀取一隨機(jī)數(shù)時(shí),所述的移位器輸入一當(dāng)前計(jì)數(shù)器的位值,并且按當(dāng)前移位計(jì)數(shù)來(lái)移位所述的位值。
全文摘要
本發(fā)明提供了一種系統(tǒng)和方法,該系統(tǒng)和方法用于提供完全的數(shù)字和/或者數(shù)字化合成的純隨機(jī)數(shù)發(fā)生器,以使用任一標(biāo)準(zhǔn)的邏輯合成工具或可比技術(shù)在集成電路上引入純隨機(jī)數(shù)發(fā)生器。這個(gè)系統(tǒng)和方法具有至少一個(gè)以第一頻率操作的微處理器、至少一個(gè)用于產(chǎn)生位的計(jì)數(shù)器、至少有一個(gè)用于加擾位的移位器、至少一個(gè)用于與至少一個(gè)計(jì)數(shù)器合作的第一振蕩器、至少一個(gè)用于與至少一個(gè)移位器合作的第二振蕩器。配置該系統(tǒng)以提供一個(gè)基于經(jīng)由微處理器初始化的數(shù)字輸入信號(hào)的頻率擾動(dòng)。
文檔編號(hào)G06F7/58GK1720501SQ200380105269
公開(kāi)日2006年1月11日 申請(qǐng)日期2003年11月18日 優(yōu)先權(quán)日2002年12月5日
發(fā)明者S·米特楚姆, J·埃哈德特, B·勒斯特 申請(qǐng)人:皇家飛利浦電子股份有限公司