專(zhuān)利名稱(chēng):防止噪聲影響隨機(jī)數(shù)發(fā)生器的方法和設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及隨機(jī)數(shù)產(chǎn)生,更準(zhǔn)確地說(shuō),涉及使用觸發(fā)器亞-穩(wěn)態(tài)(meta-stability)來(lái)產(chǎn)生隨機(jī)數(shù)的方法和設(shè)備。
背景技術(shù):
很多應(yīng)用和電子設(shè)備需要隨機(jī)數(shù),包括機(jī)遇游戲,例如(撲克(poker)、輪盤(pán)賭和吃角子機(jī))。特別地,大量的加密算法和協(xié)議依賴于不可預(yù)測(cè)的隨機(jī)數(shù)來(lái)源,以實(shí)現(xiàn)安全的電子通信等等。隨機(jī)數(shù)發(fā)生器應(yīng)該在指定的數(shù)字范圍內(nèi)產(chǎn)生每個(gè)可能的排列。另外,隨機(jī)數(shù)發(fā)生器不應(yīng)該有偏移并且應(yīng)該以和任意其它數(shù)字或任意其它數(shù)字序列相同的概率產(chǎn)生任意給定的數(shù)字和任意給定的數(shù)字序列。此外,隨機(jī)數(shù)發(fā)生器應(yīng)該產(chǎn)生不能預(yù)測(cè)的隨機(jī)數(shù),而不考慮先前的結(jié)果集合的大小。因而,隨機(jī)數(shù)應(yīng)該是完全不可預(yù)測(cè)的并且對(duì)外部影響不敏感。
2000年3月6日提交的題為“使用觸發(fā)器亞-穩(wěn)態(tài)來(lái)產(chǎn)生隨機(jī)數(shù)的方法和設(shè)備”的美國(guó)專(zhuān)利申請(qǐng)序列號(hào)09/519,549以及2001年7月25日提交的題為“使用偽隨機(jī)序列對(duì)隨機(jī)數(shù)發(fā)生器解相關(guān)的方法和設(shè)備”的美國(guó)專(zhuān)利申請(qǐng)09/912,685,公開(kāi)了使用觸發(fā)器的亞-穩(wěn)定特性來(lái)產(chǎn)生隨機(jī)數(shù)的方法和設(shè)備。觸發(fā)器由故意破壞觸發(fā)器的建立時(shí)間或保持時(shí)間(或二者)的輸入提供時(shí)鐘以確保亞-穩(wěn)定特性。當(dāng)出現(xiàn)錯(cuò)誤時(shí)收集到一個(gè)位。
盡管亞-穩(wěn)態(tài)是隨機(jī)發(fā)生的,但已經(jīng)發(fā)現(xiàn)亞-穩(wěn)態(tài)的持續(xù)時(shí)間和發(fā)生會(huì)受到外部噪聲影響(通常隨機(jī)部件的行為會(huì)受內(nèi)部噪聲控制,例如半導(dǎo)體設(shè)備中發(fā)現(xiàn)的熱噪聲)。因而,外部噪聲可以用來(lái)影響隨機(jī)數(shù)發(fā)生器并由此損害所產(chǎn)生的數(shù)字的隨機(jī)特性。因而需要不受外部噪聲影響、利用亞-穩(wěn)態(tài)產(chǎn)生隨機(jī)數(shù)的方法和設(shè)備。
發(fā)明內(nèi)容
總的來(lái)說(shuō),公開(kāi)了一種方法和設(shè)備,用于防止外部噪聲影響基于觸發(fā)器亞-穩(wěn)定特性的隨機(jī)數(shù)發(fā)生器。已經(jīng)觀察到外部噪聲可以由攻擊者用來(lái)影響使用觸發(fā)器亞-穩(wěn)定特性的隨機(jī)數(shù)發(fā)生器的操作。本發(fā)明認(rèn)識(shí)到外部噪聲將以相同方式影響多個(gè)隨機(jī)數(shù)發(fā)生器中的多個(gè)觸發(fā)器,因?yàn)樗鼈冊(cè)谖锢砩虾芙咏?br>
因而,依照本發(fā)明的一個(gè)方面,通過(guò)在單個(gè)隨機(jī)數(shù)發(fā)生器中引入多個(gè)觸發(fā)器(這里稱(chēng)為核心隨機(jī)元件)來(lái)降低使用外部噪聲影響隨機(jī)數(shù)發(fā)生器的操作的能力。更準(zhǔn)確地說(shuō),本發(fā)明認(rèn)識(shí)到如果隨機(jī)數(shù)發(fā)生器中的核心隨機(jī)元件的一個(gè)受到了噪聲影響,則核心隨機(jī)元件的所有(或大部分)都將受到噪聲影響。因而,如果核心隨機(jī)元件的全部(或大部)同時(shí)產(chǎn)生了一個(gè)位,就存在隨機(jī)數(shù)發(fā)生器受噪聲影響的可能,并丟棄所產(chǎn)生的位。因而在隨機(jī)數(shù)發(fā)生器中引入了一種或多種機(jī)制以確保隨機(jī)位不是在多個(gè)核心隨機(jī)元件同時(shí)產(chǎn)生一個(gè)位時(shí)被產(chǎn)生的。偶爾,兩個(gè)核心隨機(jī)元件將同時(shí)產(chǎn)生一個(gè)隨機(jī)位,這僅是簡(jiǎn)單的意外,但丟棄這些位對(duì)系統(tǒng)的整體效率所產(chǎn)生的影響是微不足道的。
通過(guò)參考下面的詳細(xì)描述和附圖將獲得本發(fā)明以及本發(fā)明進(jìn)一步的特性和優(yōu)勢(shì)更完整的理解。
圖1A說(shuō)明了依照2000年3月6日提交的題為“使用觸發(fā)器亞-穩(wěn)態(tài)來(lái)產(chǎn)生隨機(jī)數(shù)的方法和設(shè)備”的美國(guó)專(zhuān)利申請(qǐng)序列號(hào)09/519,549的隨機(jī)數(shù)發(fā)生器;圖1B說(shuō)明了可以利用時(shí)鐘源來(lái)同步圖1A的隨機(jī)數(shù)發(fā)生器的輸出的同步電路;
圖1C說(shuō)明了由圖1A和1B的電路所產(chǎn)生的一組波形;圖2說(shuō)明了依照2001年7月25日提交的題為“使用偽隨機(jī)序列對(duì)隨機(jī)數(shù)發(fā)生器解相關(guān)的方法和設(shè)備”的美國(guó)專(zhuān)利申請(qǐng)09/912,685的另一種隨機(jī)數(shù)發(fā)生器;圖3說(shuō)明了由圖2和圖1B的電路所產(chǎn)生的一組波形;圖4說(shuō)明了可以用上面結(jié)合圖1A、1B和2所論述的隨機(jī)數(shù)發(fā)生器的部件來(lái)實(shí)現(xiàn)的核心隨機(jī)元件;以及圖5到8說(shuō)明了依照本發(fā)明的隨機(jī)數(shù)發(fā)生器的不同實(shí)施方案。
具體實(shí)施例方式
本發(fā)明認(rèn)識(shí)到外部噪聲將以相同方式影響較大的隨機(jī)數(shù)發(fā)生器中的多個(gè)觸發(fā)器,因?yàn)樗鼈冊(cè)谖锢砩虾芙咏?。因而,本發(fā)明通過(guò)引入多個(gè)觸發(fā)器降低了利用外部噪聲來(lái)影響隨機(jī)數(shù)發(fā)生器的操作的能力,這些觸發(fā)器被實(shí)現(xiàn)為核心隨機(jī)元件的集合,每個(gè)核心隨機(jī)元件400由幾個(gè)觸發(fā)器組成。下面結(jié)合圖4進(jìn)一步論述核心隨機(jī)元件。
更準(zhǔn)確地說(shuō),本發(fā)明認(rèn)識(shí)到如果核心隨機(jī)元件400中的一個(gè)受到噪聲影響,核心隨機(jī)元件400的全部(或大部)也將受到噪聲影響。因而,如果多個(gè)核心隨機(jī)元件400像(例如)由異或門(mén)(“XOR”)或檢測(cè)所產(chǎn)生位的另一個(gè)門(mén)檢測(cè)到的那樣同時(shí)產(chǎn)生了一個(gè)位,就存在隨機(jī)數(shù)發(fā)生器受噪聲影響的可能,并且丟棄所產(chǎn)生的位。因而,本發(fā)明引入了一種或多種機(jī)制以確保隨機(jī)位不是在核心隨機(jī)元件400的全部(或大部)同時(shí)產(chǎn)生一個(gè)位時(shí)被產(chǎn)生的。
下面的論述被如下組織。首先,在題為“使用亞-穩(wěn)定觸發(fā)器的隨機(jī)數(shù)發(fā)生器”一節(jié)論述多種合適的核心隨機(jī)元件。隨后,圖4根據(jù)(如)結(jié)合圖1到圖3所論述的隨機(jī)數(shù)發(fā)生器100、200來(lái)說(shuō)明更通用概念的核心隨機(jī)元件400。最后,在題為“防止隨機(jī)數(shù)受外部噪聲影響”一節(jié)論述本發(fā)明的噪聲影響降低技術(shù)。
使用亞-穩(wěn)定觸發(fā)器的隨機(jī)數(shù)發(fā)生器圖1A說(shuō)明了依照2000年3月6日提交的題為“使用觸發(fā)器亞-穩(wěn)態(tài)來(lái)產(chǎn)生隨機(jī)數(shù)的方法和設(shè)備”的美國(guó)專(zhuān)利申請(qǐng)序列號(hào)09/519,549的隨機(jī)數(shù)發(fā)生器100。隨機(jī)數(shù)發(fā)生器100通過(guò)標(biāo)記一半的“0”為“1”、標(biāo)記另一半的“0”為“0”來(lái)提供隨機(jī)輸出位的平均分布。另外,一半的“1”被標(biāo)為“1”,另一半“1”被標(biāo)為“0”。
如圖1A所示,隨機(jī)數(shù)發(fā)生器100包括觸發(fā)器110、延遲115、120、D-型觸發(fā)器125、132和時(shí)鐘振蕩器130。觸發(fā)器110由故意破壞觸發(fā)器的建立時(shí)間或保持時(shí)間(或二者)的輸入提供時(shí)鐘以確保亞-穩(wěn)定特性。例如,可以用延遲115、120來(lái)破壞建立時(shí)間或保持時(shí)間。觸發(fā)器110可以實(shí)現(xiàn)為D型、T型或JK型觸發(fā)器。另外,觸發(fā)器110可以實(shí)現(xiàn)為簡(jiǎn)單的鎖存器以及略有不同的電路,這些對(duì)于本領(lǐng)域的技術(shù)人員都是很顯然的。
時(shí)鐘信號(hào)是由時(shí)鐘振蕩器130和D-型觸發(fā)器125產(chǎn)生的,D-型觸發(fā)器的Qbar輸出被反饋回它的D輸入以將時(shí)鐘除以2。這樣,D型觸發(fā)器125使用和T型觸發(fā)器相同的方式操作(雙態(tài)輸出),以提供除2機(jī)制。因而,觸發(fā)器110的D輸入由交替的“1”和“0”驅(qū)動(dòng)。附加的除2觸發(fā)器132產(chǎn)生標(biāo)記信號(hào),如圖1C所示,該信號(hào)標(biāo)記波形輸入中“0”的一半為“1”,標(biāo)記另一半“0”為“0”。
在圖1A和圖1C中看得最清楚,由時(shí)鐘振蕩器130產(chǎn)生的波形時(shí)鐘是在圖1中標(biāo)記為“時(shí)鐘”的采樣點(diǎn)獲得的。由除2觸發(fā)器125產(chǎn)生的波形輸入是在圖1A中標(biāo)記為“輸入”的采樣點(diǎn)獲得的。由延遲115產(chǎn)生的波形輸入D(破壞了觸發(fā)器的建立時(shí)間)和由延遲120產(chǎn)生的波形輸入時(shí)鐘是在圖1A中對(duì)應(yīng)的采樣點(diǎn)獲得的。由除2觸發(fā)器132產(chǎn)生的波形標(biāo)記是在圖1A中標(biāo)記為“標(biāo)記”的采樣點(diǎn)獲得的。
如圖1C所示,由延遲115、120對(duì)建立時(shí)間或保持時(shí)間(或二者)的破壞確保了觸發(fā)器110將顯示出亞-穩(wěn)定特性,像波形亞穩(wěn)定輸出所示范的那樣。下面將進(jìn)一步論述觸發(fā)器110的亞-穩(wěn)定操作提供產(chǎn)生隨機(jī)數(shù)的機(jī)制。
作為來(lái)自延遲115、120、觸發(fā)器本身的內(nèi)在延遲,以及(更重要的)來(lái)自亞-穩(wěn)定特性的非統(tǒng)一延遲的延遲結(jié)果,波形亞穩(wěn)定輸出沒(méi)有被同步到波形時(shí)鐘。因而,為了使圖1A的隨機(jī)數(shù)發(fā)生器適合同步應(yīng)用,就在圖1B中提供了一種說(shuō)明性的機(jī)制來(lái)用波形時(shí)鐘同步波形亞穩(wěn)定輸出。注意圖1A和圖1B的電路是通過(guò)聯(lián)結(jié)相似字母的圓圈而連接在一起的。
圖1B中所示的同步電路135包括多個(gè)串聯(lián)觸發(fā)器140-142,選擇它們以便輕易進(jìn)入亞-穩(wěn)定狀態(tài)。另外,如果這些觸發(fā)器140-142中的一個(gè)沒(méi)有變成亞-穩(wěn)定,時(shí)鐘信號(hào)的周期應(yīng)該足夠長(zhǎng)以使亞-穩(wěn)定觸發(fā)器將停留在固定的邏輯值(0或1),這樣當(dāng)在下一個(gè)觸發(fā)器140-142對(duì)信號(hào)采樣時(shí),觸發(fā)器是穩(wěn)定的。采用這種方式,每個(gè)觸發(fā)器140-142增大了用波形時(shí)鐘同步波形亞穩(wěn)定輸出的機(jī)會(huì),而去掉了任何亞-穩(wěn)態(tài)。實(shí)際上,這樣的電路出錯(cuò)的機(jī)會(huì)約為數(shù)十年一次。
異或門(mén)(“XOR”)150比較波形亞穩(wěn)定輸出的同步版本(標(biāo)記為穩(wěn)定輸出)以及指定為波形輸入的穩(wěn)定輸出(在除2觸發(fā)器125的輸出上采樣)。因?yàn)閄OR門(mén)150的輸出當(dāng)且僅當(dāng)兩個(gè)輸入不同時(shí)才為高電平,XOR門(mén)150的輸出(“出錯(cuò)”)在波形穩(wěn)定輸出不匹配輸入信號(hào)時(shí)為高電平。這個(gè)錯(cuò)誤僅在觸發(fā)器110、140、141、142中的一個(gè)已經(jīng)出錯(cuò)(我們假定這作為亞-穩(wěn)定特性的結(jié)果而發(fā)生)時(shí)才會(huì)發(fā)生。XOR門(mén)150(“出錯(cuò)“)的輸出被施加到移位寄存器160的移位輸入(Shift_in),每發(fā)生一次錯(cuò)誤移位寄存器將對(duì)標(biāo)記信號(hào)移動(dòng)一位。因而,每當(dāng)出現(xiàn)錯(cuò)誤時(shí)第一個(gè)實(shí)施方案收集一個(gè)位。
移位寄存器160的輸入線被連接到標(biāo)記信號(hào)。采用這種方式,每次有錯(cuò)誤時(shí),移位寄存器160將從標(biāo)記信號(hào)移入一位。因而,如圖1C所示,對(duì)錯(cuò)誤0,將獲得一個(gè)等于1(根據(jù)標(biāo)記信號(hào))的位。同樣,對(duì)錯(cuò)誤1,將獲得一個(gè)等于1(根據(jù)標(biāo)記信號(hào))的位。
隨機(jī)數(shù)發(fā)生器100還標(biāo)記觸發(fā)器110的“1”輸入為“1”或“0”標(biāo)記。因而,如果輸入為“1”時(shí)發(fā)生錯(cuò)誤,由于是“1”值導(dǎo)致的錯(cuò)誤,將獲得隨機(jī)位的平均分布。因此,電路對(duì)發(fā)生在“1”或“0”輸入值中的錯(cuò)誤之間的偏移是敏感的。
如前所示,以上面結(jié)合圖1A到圖1C所論述的方式來(lái)標(biāo)記輸入位提供了隨機(jī)輸出位的平均分布。但已經(jīng)發(fā)現(xiàn)噪聲能夠影響亞-穩(wěn)態(tài)的持續(xù)和發(fā)生。因而,如果噪聲和標(biāo)記信號(hào)相關(guān),那么隨機(jī)數(shù)發(fā)生器的輸出將不再是隨機(jī)的。
因而,使用無(wú)偏移的(關(guān)于“0”和“1”的頻率)信號(hào)源作為標(biāo)記信號(hào)。標(biāo)記信號(hào)與系統(tǒng)中任何噪聲相關(guān)的概率都很低。采用長(zhǎng)度足夠的線性反饋移位寄存器(LFSR)來(lái)降低相關(guān)的機(jī)會(huì)并降低LFSR輸出中的偏移。(如)在Bruce Schneier的“Applied Cryptography”第369-388頁(yè)(Wiley,1994)中描述了合適的LFSR。
圖2說(shuō)明了隨機(jī)數(shù)發(fā)生器200。如圖2所示,隨機(jī)數(shù)發(fā)生器200包括觸發(fā)器110、延遲115、120、D-型觸發(fā)器125和時(shí)鐘振蕩器130,它們以結(jié)合圖1A所描述的相同方式操作。另外,隨機(jī)數(shù)發(fā)生器200包括線性反饋移位寄存器210,它產(chǎn)生LFSR的標(biāo)記信號(hào)(如圖3所示),該信號(hào)標(biāo)記波形輸入中略超過(guò)一半的“0”為“1”,標(biāo)記幾乎一半的“0”為“0”,這與任何噪聲相關(guān)的概率都很低。該信號(hào)總是有輕微的偏移,因?yàn)閷?duì)n位LFS R來(lái)說(shuō)只有2n-1個(gè)模式(全“0”模式永遠(yuǎn)不會(huì)發(fā)生)。如果n很大這個(gè)偏移將變得無(wú)關(guān)緊要。
因而,圖2的隨機(jī)數(shù)發(fā)生器200用線性反饋移位寄存器210代替了圖1A的標(biāo)記觸發(fā)器132。線性反饋移位寄存器210可以被實(shí)現(xiàn)為在Bruce Schneier的“Applied Cryptography”第369-388頁(yè)(Wiley,1994)中所描述的LFSR。圖2的隨機(jī)數(shù)發(fā)生器200只能由圖1B的同步電路135來(lái)使用時(shí)鐘源同步隨機(jī)數(shù)發(fā)生器200的輸出。
如前所示,線性反饋移位寄存器210應(yīng)該提供足夠數(shù)量的位以降低相關(guān)的機(jī)會(huì)并降低LFSR輸出中的任何偏移。對(duì)由n個(gè)觸發(fā)器組成的線性反饋移位寄存器210來(lái)說(shuō),在數(shù)字開(kāi)始重復(fù)之前將有2n-1個(gè)二進(jìn)制數(shù)字。因而,隨著線性反饋移位寄存器210中的觸發(fā)器個(gè)數(shù)增加,2n-1二進(jìn)制表示中的“-1”將變得更不重要。無(wú)論如何,因?yàn)槿魏慰蓺w于“-1”項(xiàng)的偏移的方向都是已知的,可以用合適的電路去除或校正偏移。
因而,線性反饋移位寄存器200提供了標(biāo)記輸出、LFSR標(biāo)記,它是偽隨機(jī)的,一半輸出位為“0”,另一半輸出位為“1”。
已經(jīng)觀察到如果線性反饋移位寄存器210不可靠,一部分輸出(甚至是一個(gè)隨機(jī)部分)可能允許獲知線性反饋移位寄存器210的狀態(tài)。采用這種方式,能夠預(yù)測(cè)隨機(jī)數(shù)發(fā)生器200的輸出。因而,應(yīng)該利用線性反饋移位寄存器210,它沒(méi)有任何可辨別的統(tǒng)計(jì)特性,由此使線性反饋移位寄存器210的輸出無(wú)用。在更進(jìn)一步的變化中,通過(guò)釋放移位寄存器160的收集到的位輸出并允許在每個(gè)收集間隔丟失一些收集到的位而實(shí)現(xiàn)了附加的安全性。
移位寄存器160在每次發(fā)生錯(cuò)誤時(shí)從標(biāo)記信號(hào)移動(dòng)一位。采用這種方式,錯(cuò)誤的到達(dá)時(shí)間是不可辯認(rèn)的,而且任何人都無(wú)法預(yù)測(cè)將選擇線性反饋移位寄存器210的哪些位。
防止隨機(jī)數(shù)受外部噪聲影響如前所示,本發(fā)明認(rèn)識(shí)到外部噪聲將以相同方式影響板上或集成電路中的多個(gè)觸發(fā)器,因?yàn)樗鼈冊(cè)谖锢砩虾芙咏?。因而,依照本發(fā)明的一個(gè)特性,通過(guò)在隨機(jī)數(shù)發(fā)生器中使用兩個(gè)或多個(gè)觸發(fā)器(在此稱(chēng)為核心隨機(jī)元件400)降低了使用外部噪聲來(lái)攻擊隨機(jī)數(shù)發(fā)生器的能力。更準(zhǔn)確地說(shuō),本發(fā)明認(rèn)識(shí)到如果核心隨機(jī)元件400中有一個(gè)受到了噪聲影響,它們都將受到噪聲影響。因而,如果核心隨機(jī)元件400的全部(或大部)同時(shí)產(chǎn)生位,像(例如)由異或門(mén)(或者檢測(cè)發(fā)射出的位的另一個(gè)門(mén))檢測(cè)到的那樣,就存在隨機(jī)數(shù)發(fā)生器受噪聲影響的可能,則所有產(chǎn)生的位都被丟棄。
例如,如果t是大于0的閾值,n是觸發(fā)器的個(gè)數(shù),那么當(dāng)且僅當(dāng)亞-穩(wěn)定觸發(fā)器產(chǎn)生(n/2+t)或更少的相同結(jié)果時(shí)才產(chǎn)生一個(gè)位。同樣,如果亞-穩(wěn)定觸發(fā)器產(chǎn)生了超過(guò)(n/2+t)的相同結(jié)果就不產(chǎn)生位。因而,如果n等于10個(gè)觸發(fā)器,t等于2,那么如果8個(gè)或更多觸發(fā)器有相同的結(jié)果,就丟棄該位。另外,如果n等于2個(gè)觸發(fā)器,那么如果所有觸發(fā)器有相同結(jié)果(通過(guò)設(shè)置t大于0)就丟棄該位。采用這種方式,本發(fā)明即使在觸發(fā)器沒(méi)有產(chǎn)生“1”和“0”的平均分布時(shí)也能提供隨機(jī)數(shù)發(fā)生器。如果亞-穩(wěn)定觸發(fā)器將產(chǎn)生“1”的概率是p,且相同的亞-穩(wěn)定觸發(fā)器將產(chǎn)生“0”的概率是1-p,那么如果產(chǎn)生了超過(guò)p*n+t或少于p*n-t個(gè)“1”就丟棄一個(gè)位。例如,如果n等于10,p等于0.7,并且t等于1,那么如果有9個(gè)或多于9個(gè)、或者5個(gè)或少于5個(gè)的“1”就丟棄該位。
圖4說(shuō)明了用(例如)上面結(jié)合圖1A、1B和2論述的隨機(jī)數(shù)發(fā)生器100、200的部件實(shí)現(xiàn)的核心隨機(jī)元件400。如圖4中所示,核心隨機(jī)元件400包括觸發(fā)器410、可變延遲415和420、以及同步電路430。時(shí)鐘信號(hào)是由時(shí)鐘源(未顯示)產(chǎn)生的。如上所示,觸發(fā)器410由故意破壞觸發(fā)器410的建立時(shí)間或保持時(shí)間(或二者)的一個(gè)輸入提供時(shí)鐘,以確保亞-穩(wěn)定特性。(例如)可以用可變延遲415和420來(lái)破壞建立時(shí)間或保持時(shí)間。觸發(fā)器410可以用(例如)D、T或JK型觸發(fā)器實(shí)現(xiàn)。
如上所示,來(lái)自延遲415和420的延遲、觸發(fā)器410本身的內(nèi)在延遲、以及(更重要的)來(lái)自亞-穩(wěn)定特性的非統(tǒng)一延遲,可能導(dǎo)致波形亞穩(wěn)定輸出不被波形時(shí)鐘同步。因而,為了使圖4的核心隨機(jī)元件400適合同步應(yīng)用,在圖4中提供了說(shuō)明性的機(jī)制以使用波形時(shí)鐘來(lái)同步波形亞穩(wěn)定輸出。
圖4中所示的同步電路430包括多個(gè)串聯(lián)的觸發(fā)器440-442,選擇它們以使不輕易進(jìn)入亞-穩(wěn)定狀態(tài)。另外,如果這些觸發(fā)器440-442之一變成了亞-穩(wěn)定,則時(shí)鐘信號(hào)的周期應(yīng)該足夠長(zhǎng)以使亞-穩(wěn)定觸發(fā)器的輸出將設(shè)置為固定的邏輯值(0或1),這樣當(dāng)在下一觸發(fā)器440-442對(duì)信號(hào)采樣時(shí),觸發(fā)器是穩(wěn)定的。采用這種方式,每個(gè)觸發(fā)器440-442增大了用波形時(shí)鐘同步波形亞穩(wěn)定輸出的機(jī)會(huì),而去除了任何亞-穩(wěn)態(tài)。通過(guò)比較輸出的亞穩(wěn)定輸出和輸入信號(hào),可以發(fā)現(xiàn)它們不一致的情況。這種不一致只在核心隨機(jī)元件400中的觸發(fā)器之一變?yōu)閬?穩(wěn)定時(shí)才會(huì)發(fā)生。因而,用異或(XOR)門(mén)來(lái)檢測(cè)核心隨機(jī)元件400所產(chǎn)生的位,如第一個(gè)描述中的XOR門(mén)150所示。對(duì)核心隨機(jī)元件400的操作的附加細(xì)節(jié),可以參考上面提及的并引入作為參考的有關(guān)共同未決的申請(qǐng)。
圖5依照本發(fā)明說(shuō)明了一種隨機(jī)數(shù)發(fā)生器500。如前所示,本發(fā)明通過(guò)在一個(gè)隨機(jī)數(shù)發(fā)生器中使用多個(gè)觸發(fā)器降低了隨機(jī)數(shù)發(fā)生器對(duì)使用外部噪聲攻擊的敏感性。在圖5中所示的說(shuō)明性實(shí)施方案中,隨機(jī)數(shù)發(fā)生器500包括兩個(gè)串聯(lián)的核心隨機(jī)元件400-1,400-2,如上結(jié)合圖4所示。
時(shí)鐘源是由時(shí)鐘振蕩器530和D-型觸發(fā)器525產(chǎn)生的,525的Qbar輸出被反饋回它的D輸入。采用這種方式,D-型觸發(fā)器525以和T-型觸發(fā)器(雙態(tài)輸出)相同的方式操作,以提供除2機(jī)制。因而,示例性核心隨機(jī)元件400-1的輸入由交替的1和0驅(qū)動(dòng)。下面結(jié)合圖8進(jìn)一步論述另一種輸入信號(hào)方案。
如圖5所示,核心隨機(jī)元件400-1的輸出被施加為核心隨機(jī)元件400-2的輸入。如果核心隨機(jī)元件400-1、400-2之一受到了噪聲影響,它們都將受噪聲影響。因而,如果核心隨機(jī)元件400-1、400-2同時(shí)產(chǎn)生位,如異或(XOR)電路540、550所檢測(cè)到的那樣,就存在隨機(jī)數(shù)發(fā)生器500受噪聲影響的可能性,并且丟棄所有被產(chǎn)生的位。因而,隨機(jī)數(shù)發(fā)生器500包括一組異或(XOR)電路540、550、560。
第一個(gè)異或門(mén)(“XOR”)540比較波形穩(wěn)定輸出的同步版本和波形輸入(在除2觸發(fā)器525的輸出上采樣)。因?yàn)閄OR門(mén)540的輸出當(dāng)且僅當(dāng)兩個(gè)輸入不同時(shí)才為高電平,所以當(dāng)來(lái)自核心隨機(jī)元件400-2的波形穩(wěn)定輸出與僅在核心隨機(jī)元件中的觸發(fā)器之一變成亞-穩(wěn)定時(shí)才發(fā)生的輸入信號(hào)不匹配時(shí),XOR門(mén)540的輸出為高電平。同樣,因?yàn)閄OR門(mén)550的輸出當(dāng)且僅當(dāng)兩個(gè)輸入不同時(shí)才為高電平,所以當(dāng)來(lái)自核心隨機(jī)元件400-2的波形穩(wěn)定輸出不匹配來(lái)自核心隨機(jī)元件400-1的波形穩(wěn)定輸出時(shí)XOR門(mén)550的輸出才為高電平。
然后,兩個(gè)XOR門(mén)540、550的輸出被施加到XOR門(mén)560。由于當(dāng)且僅當(dāng)XOR門(mén)560的兩個(gè)輸入不同時(shí),它的輸出才為高電平,如果來(lái)自兩個(gè)核心隨機(jī)元件400-1、400-2的波形穩(wěn)定輸出都為高電平或者低電平,則XOR門(mén)560的輸出也將為高。換言之,只有當(dāng)兩個(gè)核心隨機(jī)元件400-1、400-2都有生成的位時(shí),XOR門(mén)560才抑制位的生成。
XOR門(mén)560的輸出被施加到移位寄存器570的使能輸入。因而,在每次來(lái)自唯一的一個(gè)核心隨機(jī)元件400的波形穩(wěn)定輸出不匹配相應(yīng)的核心隨機(jī)元件400的輸入時(shí)(即,發(fā)生錯(cuò)誤時(shí))移位寄存器570將從LFSR210的標(biāo)記信號(hào)(LFSR標(biāo)記)移動(dòng)一位。所產(chǎn)生的位隨后被施加到計(jì)算機(jī)接口580(或其它應(yīng)用)。
圖6說(shuō)明了依照本發(fā)明的一種隨機(jī)數(shù)發(fā)生器600。在圖6所示的說(shuō)明性實(shí)施方案中,隨機(jī)數(shù)發(fā)生器600包括兩個(gè)并聯(lián)的核心隨機(jī)元件400-1、400-2,如上結(jié)合圖4所論述的那樣。圖6中所示的實(shí)施方案可以防止攻擊者利用圖5的實(shí)施方案中的輸入信號(hào)在不同時(shí)間通過(guò)兩個(gè)觸發(fā)器的事實(shí)。
時(shí)鐘源是由時(shí)鐘振蕩器630和D-型觸發(fā)器625產(chǎn)生的,625的Qbar輸出被反饋回它的D輸入。采用這種方式,D-型觸發(fā)器625以和T-型觸發(fā)器(雙態(tài)輸出)相同的方式操作,以提供除2機(jī)制。因而,并聯(lián)實(shí)施方案中的核心隨機(jī)元件400-1和400-2的輸入是由交替的1和0驅(qū)動(dòng)的。下面結(jié)合圖8進(jìn)一步論述另一種輸入信號(hào)方案。
如圖6所示,隨機(jī)數(shù)發(fā)生器600包括一組異或(XOR)電路640、650、660。和圖5的實(shí)施方案類(lèi)似,第一個(gè)異或門(mén)(“XOR”)640比較波形的同步版本穩(wěn)定輸出和波形輸入(在除2觸發(fā)器625的輸出上采樣)。因?yàn)閄OR門(mén)640的輸出當(dāng)且僅當(dāng)兩個(gè)輸入不同時(shí)才為高電平,所以當(dāng)來(lái)自核心隨機(jī)元件400-1的波形穩(wěn)定輸出不匹配輸入信號(hào)時(shí)XOR門(mén)640的輸出才為高電平。同樣,因?yàn)楫惢蜷T(mén)650的輸出當(dāng)且僅當(dāng)它的兩個(gè)輸入不同時(shí)才為高電平,所以當(dāng)來(lái)自核心隨機(jī)元件400-2的波形穩(wěn)定輸出不匹配輸入信號(hào)時(shí)XOR門(mén)650的輸出才為高電平。
XOR門(mén)640、650的輸出隨后被施加到異或門(mén)660。因?yàn)楫惢蜷T(mén)660的輸出當(dāng)且僅當(dāng)它的兩個(gè)輸入不同時(shí)才為高電平,所以當(dāng)來(lái)自核心隨機(jī)元件400-1和400-2的波形穩(wěn)定輸出都為高電平或低電平時(shí)XOR門(mén)660的輸出不會(huì)是高電平。換句話說(shuō),僅當(dāng)核心隨機(jī)元件400-1和400-2都產(chǎn)生位時(shí)XOR門(mén)660抵制位的產(chǎn)生。
XOR門(mén)660的輸出被施加到移位寄存器670的使能輸入上。因而,每當(dāng)來(lái)自唯一一個(gè)核心隨機(jī)元件400的波形穩(wěn)定輸出與輸入信號(hào)不匹配時(shí)(即出錯(cuò)時(shí)),移位寄存器670從LFSR210的標(biāo)記信號(hào)(LFSR標(biāo)記)移動(dòng)一位。所產(chǎn)生的位隨后被施加到計(jì)算機(jī)接口680(或其它應(yīng)用)。
圖7描述了依照本發(fā)明的另一實(shí)施方案的一種隨機(jī)數(shù)發(fā)生器700。在圖7所示的說(shuō)明性實(shí)施方案中,隨機(jī)數(shù)發(fā)生器700包括兩個(gè)并聯(lián)的核心隨機(jī)元件400-1、400-2,如上結(jié)合圖4所示,它們使用反相器710來(lái)切換第二個(gè)核心隨機(jī)元件400-2的輸入信號(hào)。因而,核心隨機(jī)元件400-2永遠(yuǎn)不會(huì)和核心隨機(jī)元件400-1有相同的輸入信號(hào)。圖7中所示的實(shí)施方案還能進(jìn)一步在隨機(jī)數(shù)產(chǎn)生的每個(gè)步驟中阻止攻擊者。
隨機(jī)數(shù)發(fā)生器700以和上面結(jié)合圖6所論述的隨機(jī)數(shù)發(fā)生器600相同的方式操作,反相器710除外。
圖8說(shuō)明了依照本發(fā)明的另一實(shí)施方案的一種隨機(jī)數(shù)發(fā)生器800。在圖8所示的實(shí)施方案中,第一核心隨機(jī)元件400-1用來(lái)觸發(fā)來(lái)自另一隨機(jī)部件400-2的隨機(jī)位的產(chǎn)生。更準(zhǔn)確地說(shuō),當(dāng)在第一個(gè)核心隨機(jī)元件400-1中檢測(cè)到錯(cuò)誤時(shí),第二個(gè)核心隨機(jī)元件400-2的穩(wěn)定輸出被用于輸出流。錯(cuò)誤的檢測(cè)可以和上述相同的方式進(jìn)行,即通過(guò)使用多個(gè)核心隨機(jī)元件400。
如圖8所示,隨機(jī)數(shù)發(fā)生器800包括兩個(gè)核心隨機(jī)元件400-1、400-2,如上結(jié)合圖4所論述的那樣。另外,時(shí)鐘源830產(chǎn)生時(shí)鐘信號(hào)。D-型觸發(fā)器825提供除2機(jī)制,它的Qbar輸出被反饋回它的D輸入。因而,核心隨機(jī)元件400-1的輸入是由交替的1和0驅(qū)動(dòng)的。
使用異或(XOR)電路840在第一隨機(jī)部件400-1中檢測(cè)錯(cuò)誤。異或門(mén)(XOR)840比較來(lái)自第一核心隨機(jī)元件400-1的波形輸出的同步版本穩(wěn)定輸出和波形輸入(在除2觸發(fā)器825的輸出上采樣)。因?yàn)閄OR門(mén)840的輸出當(dāng)且僅當(dāng)它的兩個(gè)輸入不同時(shí)才為高電平,所以當(dāng)來(lái)自隨機(jī)部件400-1的波形穩(wěn)定輸出因?yàn)閬?穩(wěn)定特性而不匹配輸入信號(hào)時(shí)XOR門(mén)840的輸出才為高電平。
XOR門(mén)840的輸出隨后被施加到移位寄存器870的使能輸入上。因而,每次來(lái)自核心隨機(jī)元件400-1的波形穩(wěn)定輸出不匹配輸入信號(hào)時(shí)(即出錯(cuò)時(shí)),移位寄存器870將從輸入信號(hào)(由核心隨機(jī)元件400-2驅(qū)動(dòng))移動(dòng)一位。所產(chǎn)生的位隨后被施加到計(jì)算機(jī)接口880(或其它應(yīng)用)。核心隨機(jī)元件400-2以上面結(jié)合圖4所描述的相同方式操作。
您將會(huì)了解到這里所展示和描述的實(shí)施方案和變化僅是出于對(duì)本發(fā)明的說(shuō)明目的,本領(lǐng)域的技術(shù)人員在不偏離本發(fā)明的范圍和精神的前提下可以進(jìn)行不同的更改。
權(quán)利要求
1.一種產(chǎn)生隨機(jī)數(shù)的方法,包括下列步驟操作處于亞-穩(wěn)定狀態(tài)的多個(gè)觸發(fā)器(400);如果所述觸發(fā)器(400)之一進(jìn)入所述亞-穩(wěn)定狀態(tài)就產(chǎn)生一個(gè)隨機(jī)位;如果在預(yù)定的時(shí)間間隔中,所述多個(gè)觸發(fā)器(400)中有不止一個(gè)進(jìn)入了亞-穩(wěn)定狀態(tài),就阻止隨機(jī)位的產(chǎn)生。
2.權(quán)利要求1的方法,其中所述觸發(fā)器(400)是并行驅(qū)動(dòng)的。
3.權(quán)利要求1的方法,其中所述觸發(fā)器(400)中至少有一個(gè)被連接到所述觸發(fā)器(400)中的至少另一個(gè)。
4.權(quán)利要求1的方法,其中所述阻止步驟是由一個(gè)或多個(gè)異或(XOR)電路(540、550、560)實(shí)現(xiàn)的。
5.權(quán)利要求1的方法,其中所述產(chǎn)生步驟還包括如果觸發(fā)器(400)中某一個(gè)的輸出不匹配所施加的輸入就選擇一個(gè)隨機(jī)位的步驟。
6.權(quán)利要求1的方法,還包括步驟用本地時(shí)鐘源(530)同步觸發(fā)器(400)中每一個(gè)的輸出。
7.權(quán)利要求6的方法,執(zhí)行所述同步步驟的同步電路(430)比所述觸發(fā)器更難于變成亞-穩(wěn)定。
8.權(quán)利要求1的方法,還包括步驟收集多個(gè)隨機(jī)位以產(chǎn)生隨機(jī)數(shù)。
9.權(quán)利要求1的方法,還包括步驟反轉(zhuǎn)第二個(gè)觸發(fā)器(400-2)的輸入信號(hào)以確保所述第二個(gè)觸發(fā)器(400-2)不會(huì)與第一個(gè)觸發(fā)器有相同輸入信號(hào)。
10.隨機(jī)數(shù)發(fā)生器(500),包括多個(gè)觸發(fā)器(400),以亞-穩(wěn)定狀態(tài)操作,以在所述觸發(fā)器(400)之一進(jìn)入亞-穩(wěn)定狀態(tài)時(shí)產(chǎn)生一個(gè)隨機(jī)位;以及裝置(540、550、560),如果在預(yù)定時(shí)間間隔內(nèi)所述多個(gè)觸發(fā)器(400)中有不止一個(gè)進(jìn)入亞-穩(wěn)定狀態(tài)就阻止隨機(jī)位的產(chǎn)生。
11.權(quán)利要求10的隨機(jī)數(shù)發(fā)生器(500),其中所述觸發(fā)器(400)是并行驅(qū)動(dòng)的。
12.權(quán)利要求10的隨機(jī)數(shù)發(fā)生器(500),其中所述觸發(fā)器(400)的至少一個(gè)被連接到所述觸發(fā)器(400)中的至少另一個(gè)。
13.權(quán)利要求10的隨機(jī)數(shù)發(fā)生器(500),其中所述用于阻止隨機(jī)位產(chǎn)生的裝置是一個(gè)或多個(gè)異或(XOR)電路(540、550、560)。
14.權(quán)利要求10的隨機(jī)數(shù)發(fā)生器(500),如果所述觸發(fā)器(400)之一的輸出不匹配所施加的輸入就能夠辨別出對(duì)觸發(fā)器(400)的亞-穩(wěn)定狀態(tài)的檢測(cè)。
15.權(quán)利要求10的隨機(jī)數(shù)發(fā)生器(500),還包括同步電路(430),用本地時(shí)鐘源(530)來(lái)同步所述觸發(fā)器(400)中每一個(gè)的輸出。
16.權(quán)利要求15的隨機(jī)數(shù)發(fā)生器(500),其中所述同步電路(430)比所述觸發(fā)器更難于變成亞-穩(wěn)定。
17.權(quán)利要求10的隨機(jī)數(shù)發(fā)生器(500),其中多個(gè)所述隨機(jī)位被收集以產(chǎn)生一個(gè)隨機(jī)數(shù)。
18.一種產(chǎn)生隨機(jī)數(shù)的方法,包括下列步驟以亞-穩(wěn)定狀態(tài)操作第一觸發(fā)器(400-1);并當(dāng)?shù)谝挥|發(fā)器(400-1)處在所述亞-穩(wěn)定狀態(tài)時(shí)從第二觸發(fā)器(400-2)的輸出中產(chǎn)生一個(gè)隨機(jī)位。
19.權(quán)利要求18方法中,產(chǎn)生步驟是由至少一個(gè)異或(XOR)電路(840)觸發(fā)的。
20.權(quán)利要求18方法,還包括用本地時(shí)鐘源(830)來(lái)同步第二個(gè)觸發(fā)器(400-2)的輸出的步驟。
21.權(quán)利要求18方法,還包括收集多個(gè)隨機(jī)位以產(chǎn)生隨機(jī)數(shù)的步驟。
全文摘要
公開(kāi)了一種防止噪聲影響基于觸發(fā)器的亞-穩(wěn)定特性的隨機(jī)數(shù)發(fā)生器的方法和設(shè)備。外部噪聲將以相同方式影響較大的隨機(jī)數(shù)發(fā)生器電路中的多個(gè)觸發(fā)器,因?yàn)樗鼈冊(cè)谖锢砩虾芙咏R蚨?,通過(guò)在單個(gè)隨機(jī)數(shù)發(fā)生器中引入多個(gè)觸發(fā)器(稱(chēng)為核心隨機(jī)元件)可以降低使用外部噪聲來(lái)影響隨機(jī)數(shù)發(fā)生器的操作的能力。如果隨機(jī)數(shù)發(fā)生器中有一個(gè)核心隨機(jī)元件受到了噪聲影響,那么所有的核心隨機(jī)元件都將受到噪聲影響。因而,如果核心隨機(jī)元件的全部(或大部)同時(shí)產(chǎn)生一個(gè)隨機(jī)位,就存在隨機(jī)數(shù)發(fā)生器受到噪聲影響的可能性,并丟棄所有產(chǎn)生的位。在隨機(jī)數(shù)發(fā)生器引入了一種或多種機(jī)制來(lái)確保當(dāng)多個(gè)核心隨機(jī)元件同時(shí)產(chǎn)生一個(gè)位時(shí)不產(chǎn)生隨機(jī)位。
文檔編號(hào)H03K3/00GK1596395SQ02823778
公開(kāi)日2005年3月16日 申請(qǐng)日期2002年11月12日 優(yōu)先權(quán)日2001年11月29日
發(fā)明者A·維梅斯基奇 申請(qǐng)人:皇家飛利浦電子股份有限公司