專利名稱:可靠的隨機數(shù)發(fā)生器的制作方法
本申請要求1999年6月8日提交的美國臨時申請60/138,182的權益。
背景技術:
本發(fā)明一般涉及隨機數(shù)發(fā)生器,尤其涉及使用數(shù)字和模擬隨機數(shù)發(fā)生器二者的隨機數(shù)發(fā)生器。
對于諸如密碼術的各種用途可使用隨機數(shù)發(fā)生器。密碼術的正確使用依賴于隨機數(shù)的統(tǒng)計學上高質量源。令人遺憾的是,傳統(tǒng)的隨機數(shù)發(fā)生器(“RNG”)存在缺點。
簡單的隨機數(shù)發(fā)生器使用數(shù)字技術來產(chǎn)生偽隨機數(shù)。偽隨機數(shù)基本上或較高程度上是隨機數(shù),它們由數(shù)字過程產(chǎn)生。數(shù)字技術能夠產(chǎn)生偽隨機數(shù),由于其數(shù)字自然特性偽隨機數(shù)是確定性的。換句話說,當數(shù)字輸入值相同時,兩個相同的數(shù)字隨機數(shù)發(fā)生器產(chǎn)生相同的偽隨機數(shù)。于是,數(shù)字技術產(chǎn)生很不理想的結果,因為偽隨機數(shù)是可預測的。
產(chǎn)生隨機數(shù)的一種共用數(shù)字技術是一種線性全等發(fā)生器算法。這一算法進行迭代以產(chǎn)生一個輸出,該輸出被用作下一個輸出的種子。然而,由這種技術產(chǎn)生的隨機數(shù)的序列少,在相對較少個數(shù)的不同輸出后便會重復。這里將軌道定義為數(shù)字隨機數(shù)發(fā)生器產(chǎn)生的輸出的數(shù)目,直到一個輸出與前一個輸出相同為止。正如能夠理解的,遞歸算法在該軌道中將產(chǎn)生獨特輸出直到一個輸出被重復為止。一旦第一個值重復,接下來的值也將重復。重復模式是不希望有的,因為它是可預測的。這種算法在大多數(shù)C編程語言庫中看到。
為了提供可靠的隨機數(shù),傳統(tǒng)的系統(tǒng)依賴于模擬隨機數(shù)發(fā)生器。模擬隨機數(shù)發(fā)生器產(chǎn)生隨機數(shù)的流,它們并不具有象數(shù)字隨機數(shù)發(fā)生器那樣的周期軌道。這些模擬隨機數(shù)發(fā)生器通常將一個隨機模擬電壓(如噪聲)轉換為隨機數(shù)據(jù)數(shù)字流。這些電路通常是分開的集成電路,它們以100Kbit或更小的速率產(chǎn)生隨機數(shù)的流。然而,這些隨機數(shù)產(chǎn)生速率對于非常高性能的密碼術是不適合的,這里在短的時間周期內(nèi)需要大量的隨機比特。
模擬隨機數(shù)發(fā)生器趨向于失效。模擬隨機數(shù)發(fā)生器的壽命比使用隨機數(shù)的數(shù)字電路小得多。正如本領域技術人員明白的,模擬隨機數(shù)發(fā)生器的失效會挫敗有效的密碼術。另外,產(chǎn)生隨機數(shù)所使用的模擬電壓的源易受攻擊者控制。于是,需要不易受攻擊者攻擊的更可靠的模擬隨機數(shù)發(fā)生器。
模擬隨機數(shù)發(fā)生器通常位于使用隨機數(shù)的數(shù)字電路以外的一個單獨集成電路上,因為數(shù)字半導體工藝一般與模擬半導體工藝不兼容。數(shù)字集成電路通常具有高的增益,并針對快速CMOS切換最佳化。然而,模擬隨機數(shù)發(fā)生器要求線性模擬特性,以有效地放大隨機電壓的源,以便隨機地產(chǎn)生一個數(shù)字數(shù)據(jù)流。改進數(shù)字半導體工藝以產(chǎn)生更好的模擬特性是可能的,但是數(shù)字電路性能則受到不利影響。于是,用傳統(tǒng)技術將模擬隨機數(shù)發(fā)生器集成在同一集成電路上是十分困難的。
另外,位于與含有數(shù)字加密功能的集成電路分開的集成電路上的模擬隨機數(shù)發(fā)生器趨向于受攻擊。更具體地說,在載有隨機數(shù)的電路板上到加密功能的軌跡易于受攻擊。例如,攻擊者會處置或替換來自模擬隨機數(shù)發(fā)生器的信號。正如本領域專業(yè)技術人員能夠明白的,這種攻擊則會讓密碼術算法和密鑰更易于確定。
總之,需要開發(fā)一種以高數(shù)據(jù)速率可靠地產(chǎn)生隨機數(shù)的隨機數(shù)發(fā)生器。另外,隨機數(shù)發(fā)生器應當與同一集成電路上的數(shù)字電路相容集成。
發(fā)明概要根據(jù)本發(fā)明,揭示一種產(chǎn)生隨機數(shù)的方法和裝置。在第一實施例中,產(chǎn)生隨機數(shù)的方法涉及產(chǎn)生一個第二隨機數(shù)。從數(shù)字隨機數(shù)發(fā)生器產(chǎn)生一偽隨機數(shù),而從模擬隨機數(shù)發(fā)生器產(chǎn)生一第一隨機數(shù)。第一隨機數(shù)與偽隨機數(shù)合并,產(chǎn)生一第二隨機數(shù),它是兩個發(fā)生器的輸出的結果。
在另一個實施例中,一種方法是利用加密功能產(chǎn)生隨機數(shù)。從加密功能的輸出產(chǎn)生一偽隨機數(shù),而從模擬隨機數(shù)發(fā)生器產(chǎn)生一第一隨機數(shù)。將偽隨機數(shù)和第一隨機數(shù)耦合到加密功能的輸入,以便從加密功能的輸出產(chǎn)生一第二隨機數(shù),這里第二隨機數(shù)與偽隨機數(shù)和第一隨機數(shù)相關。
在再一個實施例中,一種隨機數(shù)發(fā)生器裝置,包括一輸出,一數(shù)字隨機數(shù)發(fā)生器,和一模擬隨機數(shù)發(fā)生器。數(shù)字隨機數(shù)發(fā)生器產(chǎn)生偽隨機數(shù),模擬隨機數(shù)發(fā)生器產(chǎn)生隨機數(shù)。將隨機數(shù)發(fā)生器的輸出耦合到數(shù)字和模擬隨機數(shù)發(fā)生器。
附圖簡述
圖1是一方框圖,代表使用加密功能的隨機數(shù)發(fā)生器的一實施例。
圖2是一方框圖,代表使用模擬隨機數(shù)發(fā)生器和加密功能二者來產(chǎn)生隨機數(shù)的隨機數(shù)發(fā)生器的一實施例。
圖3是一方框圖,代表使用模擬和數(shù)字兩種隨機數(shù)產(chǎn)生技術的隨機數(shù)發(fā)生器的另一實施例。
圖4是一方框圖,說明使用模擬隨機數(shù)產(chǎn)生技術對密鑰附加隨機化的的隨機數(shù)發(fā)生器的一實施例。
圖5是一方框圖,說明使用模擬隨機數(shù)產(chǎn)生技術對密鑰隨機化的的隨機數(shù)發(fā)生器的一實施例。
圖6是一方框圖,代表使用散列函數(shù)和非易失性寄存器的隨機數(shù)發(fā)生器的一實施例。
圖7是一流程圖,說明產(chǎn)生隨機數(shù)的方法。
具體實施例的描述雖然本發(fā)明可以有許多不同的形式的實施例,在附圖中示出,這里將作詳細描述,在理解了本公開內(nèi)容的本發(fā)明的眾多實施例應看作是本發(fā)明原理的示例而不希望將本發(fā)明的寬的諸方面限制為所說明的實施例。
在附圖中,相似的元件和/或特征具有相同的參考標號。相同類型的不同元件是按照破折號加第二標記的參考標記來區(qū)分的,以區(qū)分同一幅圖中的相似元件。如果在以下揭示內(nèi)容中僅采用第一參考標記,說明可應用于幾種相似元件中的任何一種。
圖1示出一個實施例。本實施例100在環(huán)路中利用加密功能104或密碼功能加密來產(chǎn)生偽隨機數(shù)的塊。包含在密碼功能104中的是明碼文本輸入、密鑰輸入和密碼文本輸出。將文本輸出用作偽隨機數(shù)。
密鑰輸入接收一個密鑰,該密鑰被密碼功能104用于產(chǎn)生密碼文本輸出。一次將密鑰初始化到裝置中,在隨機數(shù)發(fā)生器100的壽命期間不需要變化。
密碼文本輸出一次又一次地產(chǎn)生偽隨機數(shù)的塊。將每個塊饋送到密碼功能104的輸入,作為下一次加密的種子。密碼功能104可以是任何對稱或非對稱密碼算法。例如,非對稱密碼算法可以是一個非對稱公鑰密碼。另外,密碼功能104既能加密也能解密以產(chǎn)生偽隨機數(shù)。較佳地,密碼算法是對稱塊密碼功能,它進行加密以產(chǎn)生隨機數(shù)。對稱塊密碼功能的一個例子是數(shù)據(jù)加密標準(DES)。
為了增加密碼功能104的隨機狀態(tài),使用一個隨機數(shù)種子。該種子較佳地是用高等級模擬隨機數(shù)發(fā)生器產(chǎn)生的。具有隨機種子使得輸出軌道中的值變?yōu)椴豢深A測。然而,本實施例將重復軌道中的同一組不同的值,直至密鑰被改變?yōu)橹?。輸出出現(xiàn)隨機,因為對于強的密碼功能104,軌道是很大的。
為了進一步增大偽隨機輸出的質量,使密碼功能104的速度加速到超過讀出輸出的速度。通過使密碼功能104快速地運行,兩個相繼的偽隨機數(shù)讀出會被未能讀出的偽隨機數(shù)區(qū)分開。因而,輸出與密碼功能之間的相關性被解除。正如本領域專業(yè)技術人員明白的,這一特征使得攻擊者通過分析輸出而確定密鑰或者密碼術算法更加困難。
參考圖2,圖中以方框圖示出隨機數(shù)發(fā)生器200的另一個實施例。包含在隨機數(shù)發(fā)生器200的是密碼功能104、密碼文本塊寄存器204、數(shù)個模擬隨機數(shù)發(fā)生器(“RNG”)208和數(shù)個“異或(XOR)”門306。本實施例使用密碼功能104和模擬隨機數(shù)發(fā)生器208二者來真正產(chǎn)生隨機數(shù)。另外,本實施例是可靠的,因為所有模擬隨機數(shù)發(fā)生器208的失效將不會毀壞隨機數(shù)發(fā)生器200。所有模擬隨機數(shù)發(fā)生器的失效則會降低電路有效性而成為對圖1中實施例的隨機數(shù)發(fā)生器。
密碼功能104產(chǎn)生一個第一隨機數(shù)(m),它被耦合到密碼文本塊寄存器204。密碼文本塊寄存器204可以是一個串行或并行配置的存儲器寄存器,它存儲來自密碼功能104的密碼文本的一個64位塊。密碼文本塊寄存器204引入一個隨機數(shù)產(chǎn)生時間周期的延遲。
當隨機數(shù)(m)離開寄存器204時,較佳地至少一個位受模擬隨機數(shù)發(fā)生器208影響。正如本領域專業(yè)技術人員明白的,一個位的改進將改變密碼功能104的軌道。于是,如果一個位被每個軌道的模擬隨機數(shù)發(fā)生器改變,重復軌道將決不發(fā)生。較佳地,離開密碼文本寄存器204的一些位與來自模擬隨機數(shù)發(fā)生器208的輸出進行“異或”。然而,其他的實施例可以以任何種方法將來自寄存器204和模擬隨機數(shù)發(fā)生器208的輸出進行組合。
模擬隨機數(shù)發(fā)生器208較佳地與密碼功能104位于同一個集成電路上。然而,他們可以等同地位于另一個集成電路上。模擬隨機數(shù)發(fā)生器208將多種類型的來自鎖相環(huán)路的熱、電噪聲、二極管電子結噪聲、相位噪聲和/或亞穩(wěn)定時邊界轉移到隨機二進制數(shù)據(jù)流中。如果這些發(fā)生器208是在芯片上(即在同一個集成電路上)產(chǎn)生的,由于在背景部分中上述的原因,它們可能是不可靠的。如果所有的發(fā)生器208失效,密碼功能將使用最后一個隨機數(shù)作為種子,單單用密碼功能104來隨機地產(chǎn)生偽隨機數(shù)。
每個模擬隨機數(shù)發(fā)生器208產(chǎn)生一個輸出,該輸出可以修改來自密碼文本寄存器204的一個位輸出。來自隨機數(shù)發(fā)生器的輸出可以與寄存器204的一個位進行“異或”或者簡單地替代該位。如果模擬隨機數(shù)發(fā)生器208已經(jīng)停止產(chǎn)生隨機輸出。那么發(fā)生器208的對寄存器204的作用在邏輯上被失能,以阻止隨機性的降低。測試發(fā)生器208的效能的一種方法是在時間上檢查0和1的均等分布。測試發(fā)生器208的效能的其他技術也是已知的。在其他的實施例中,發(fā)生器208則為每個密碼文本塊產(chǎn)生數(shù)個位把修改相同個數(shù)的從寄存器204輸出的位。
在模擬發(fā)生器208將熵引入到隨機數(shù)(m)后,結果是第二個隨機數(shù)(m+1)。將第二隨機數(shù)耦合到密碼功能104的明碼文本輸入,作為產(chǎn)生第三隨機數(shù)(m+2)的種子。這一循環(huán)重復進行,以循環(huán)的方式產(chǎn)生隨機數(shù)塊。
接著參考圖3,以方框圖形式示出了隨機數(shù)發(fā)生器300的另一個實施例。本實施例類似于圖2所示的實施例,所不同的是密碼功能104被數(shù)字隨機數(shù)發(fā)生器304替代。較佳地,軟件算法起數(shù)字隨機數(shù)發(fā)生器304的作用,但是其他的實施例則使用硬件電路。從發(fā)生器304產(chǎn)生的偽隨機數(shù)是可確定的。正如背景部分中討論的,軟件隨機數(shù)發(fā)生器具有短的軌道。然而,由于模擬隨機性是由模擬隨機數(shù)發(fā)生器208引入的,本實施例產(chǎn)生可靠的隨機數(shù),而沒有重復軌道。
數(shù)字隨機數(shù)發(fā)生器304可以用多種方法中的任何一種方法來實施。較佳地,以軟件對線性全等算法編碼并在通用處理器上執(zhí)行。然而,本發(fā)明能夠增大任何數(shù)字隨機數(shù)產(chǎn)生技術的可靠性。
參考圖4,圖中以方框圖形式示出隨機數(shù)發(fā)生器400的一個實施例。本發(fā)生器400除了改變從密碼文本塊寄存器204輸出的位之外還通過改變密碼功能104中使用的密鑰而改善隨機性。只要密鑰保持未變,使用密碼功能的數(shù)字隨機數(shù)發(fā)生器(例如參見圖1)重復一個軌道。然而,改變密鑰將改變明碼文本與密碼文本之間的關系,這也改變軌道。
密鑰在裝載到密碼功能104中之前被存儲在密鑰寄存器404中。模擬隨機數(shù)發(fā)生器208通過使輸入到密鑰寄存器404中的位與各個模擬隨機數(shù)發(fā)生器208進行“異或”而對這些位隨機化。周期性地,將隨機化后的密鑰裝載到密碼功能104中。正如能夠理解的,對于產(chǎn)生隨機數(shù)而言,密鑰的實際值通常并不重要。
接著參考圖5,圖中示出隨機數(shù)發(fā)生器500的一個實施例,它對輸入到密碼功能104中的密鑰進行隨機化。本實施例類似于圖4所示的實施例,不同的是模擬隨機數(shù)發(fā)生器208不與加密環(huán)路耦合。通過讓數(shù)個模擬隨機數(shù)發(fā)生器經(jīng)“異或”門耦合到密鑰的位對輸入的密鑰作隨機化。周期性地,將密鑰寄存器404中的新隨機化的密鑰裝載到密碼功能104中。正如本領域技術人員能夠理解的,改變密鑰改變由密碼功能104產(chǎn)生的軌道中隨機數(shù)的重復圖案。
參考圖6,圖中用方框圖示出隨機數(shù)發(fā)生器600的另一個實施例。本發(fā)生器600增加一個非易失性寄存器604和一個散列函數(shù)608,以進一步改善隨機數(shù)質量。
散列函數(shù)608取密碼功能104的輸出并對該輸出作進一步擾動。較佳地,采用諸如SHA-1的安全散列算法。本領域專業(yè)技術人員能夠理解,增加散列函數(shù)是通過增加一道屏障而增加密碼術算法和密鑰的安全性,免受攻擊者的攻擊,以散列函數(shù)的固有單向功能的形成進行分析。
為了保存軌道中的隨機性,采用非易失性寄存器604來周期性地存儲密碼文本塊。較佳地,寄存器604是電池支持的隨機存取存儲器(RAM),但是也可以是快閃存儲器、磁心存儲器、電可擦只讀存儲器、或者其他非易失性存儲器。周期性地,處理器(未示出)讀出密碼文本塊寄存器204并將值存儲在非易失性寄存器604中。當從電路中切斷電源時,非易失性寄存器604保存最后存儲的隨機數(shù)。在通電后,處理器讀出非易失性寄存器604并將值裝載到密碼文本寄存器204中。采用恢復的值作為接下來隨機數(shù)產(chǎn)生的種子。另外,隨機性在時間上的任何累積基本上被保持。
參考圖7,圖中示出一流程圖,該流程圖表示產(chǎn)生隨機數(shù)的一種方法。在步驟700中,確定是否是隨機數(shù)發(fā)生器的第一次通電。這可以通過檢查之前存儲的軟件變量或者檢查非易失性寄存器604中的一個值來確定。如果確定這是第一次通電。在步驟704中裝載隨機數(shù)種子。較佳地,種子數(shù)目是由高質量的模擬隨機數(shù)發(fā)生器在集成電路之外產(chǎn)生的。在以前存儲了隨機數(shù)的情況中,由于這不是第一次加電,在步驟708中裝載非易失性寄存器604。
一旦用隨機種子對隨機數(shù)發(fā)生器初始化,附加隨機數(shù)的產(chǎn)生能夠進行。在步驟712,隨機數(shù)是從隨機種子產(chǎn)生的。在步驟728,在隨機數(shù)上執(zhí)行散列函數(shù)。如果密碼術操作的任何電路需要一個隨機數(shù),在步驟732中使用該隨機數(shù)。
在步驟712中產(chǎn)生一個隨機數(shù)之后,準備軌道中的下一個隨機數(shù)。在步驟716,模擬隨機數(shù)發(fā)生器208將附加隨機性混合到隨機數(shù)中。在步驟720,將輸出耦合到密碼功能104的明碼文本輸入。周期性地,步驟724將本隨機數(shù)存儲在非易失性寄存器604中。處理器以發(fā)生較少的間隔(如每秒一次)存儲本隨機數(shù)。以這種方式,發(fā)生器以可靠的方式產(chǎn)生隨機數(shù)。
鑒于以上描述,本發(fā)明的諸優(yōu)點變得更加明顯。即使所有的模擬隨機數(shù)發(fā)生器失效,隨機數(shù)發(fā)生器也能產(chǎn)生偽隨機數(shù)。通過不是僅僅依賴于模擬隨機數(shù)產(chǎn)生,模擬隨機數(shù)發(fā)生器的集成在數(shù)字半導體工藝中是切實可行的,盡管模擬發(fā)生器可能具有差的初始特性以及最終失效。另外,高的隨機數(shù)數(shù)據(jù)速率是可能的,因為隨機數(shù)發(fā)生器使用了數(shù)字技術。
還能夠采用本發(fā)明的多種變化和改進。在不同的實施例中,以以下方式的任何一種或多種能夠改進隨機數(shù)發(fā)生器。密碼功能在提供隨機數(shù)和加密/解密兩方面能夠起雙重作用。于是,已經(jīng)具有密碼功能的電路則幾乎不需要附加電路也能提供隨機數(shù)產(chǎn)生。盡管以上結合圖6討論的實施例周期性地存儲隨機數(shù)供以后作為種子使用,但是如果通過電容器或電池從內(nèi)部提供適當工作電力,其他的實施例則是在斷電后存儲隨機數(shù)。
已經(jīng)給出的本發(fā)明的以上描述其目的是說明和描述,而不希望是限制本發(fā)明。在本發(fā)明的范圍內(nèi),結合相關技術領域的技能或知識,可以對以上描述做出變化和改進。這里描述的實施例進一步希望是說明實施本發(fā)明的已知的最佳方式,使得本領域專業(yè)技術人員能夠以這種最佳方式實施本發(fā)明或其他實施例,特定應用可能需要各種改進或者使用本發(fā)明。希望所附的權利要求書把各種實施例包含在現(xiàn)有技術允許的范圍內(nèi)。
權利要求
1.一種產(chǎn)生隨機數(shù)的方法,其特征在于所述方法包括以下步驟從數(shù)字隨機數(shù)發(fā)生器產(chǎn)生一個偽隨機數(shù);從模擬隨機數(shù)發(fā)生器產(chǎn)生一個第一隨機數(shù);以及使第一隨機數(shù)與偽隨機數(shù)合并,以產(chǎn)生一個第二隨機數(shù),它是兩個發(fā)生器的輸出的結果。
2.如權利要求1所述的方法,其特征在于產(chǎn)生偽隨機數(shù)的步驟包括從加密功能產(chǎn)生偽隨機數(shù)的步驟。
3.如權利要求1所述的方法,其特征在于進一步包括以下步驟周期性地把第一隨機數(shù)存儲在非易失性存儲器位置中;增加數(shù)字隨機數(shù)發(fā)生器的功率;以及將以前存儲的第二隨機數(shù)裝載到數(shù)字隨機數(shù)發(fā)生器中。
4.如權利要求1所述的方法,其特征在于產(chǎn)生偽隨機數(shù)的步驟包括在處理器上執(zhí)行一軟件算法。
5.如權利要求1所述的方法,其特征在于產(chǎn)生偽隨機數(shù)的步驟包括從對稱塊密碼功能產(chǎn)生一偽隨機數(shù)。
6.如權利要求1所述的方法,其特征在于產(chǎn)生偽隨機數(shù)的步驟包括從非對稱公鑰密碼功能產(chǎn)生一偽隨機數(shù)。
7.一種用加密功能產(chǎn)生隨機數(shù)的方法,其特征在于所述方法包括以下步驟從加密功能的輸出產(chǎn)生一個偽隨機數(shù);從模擬隨機數(shù)發(fā)生器產(chǎn)生一個第一隨機數(shù);將偽隨機數(shù)和第一隨機數(shù)耦合到加密功能的輸入;以及從加密功能的輸出產(chǎn)生一個第二隨機數(shù),它與偽隨機數(shù)和第一隨機數(shù)有關。
8.如權利要求7所述的方法,其特征在于加密功能和模擬隨機數(shù)發(fā)生器位于同一封裝中。
9.如權利要求8所述的方法,其特征在于進一步包括把第二隨機數(shù)存儲在非易失性存儲器位置中的步驟。
10.如權利要求7所述的方法,其特征在于產(chǎn)生偽隨機數(shù)的步驟包括用一個隨機數(shù)源對加密功能初始化的步驟。
11.如權利要求10所述的方法,其特征在于隨機數(shù)源在包括加密功能和模擬隨機數(shù)發(fā)生器的封裝之外。
12.如權利要求7所述的方法,其特征在于進一步包括將一個密鑰裝載到加密功能中的步驟。
13.如權利要求12所述的方法,其特征在于進一步包括在裝載一個密鑰前把模擬隨機數(shù)發(fā)生器耦合到該密鑰的一個位的步驟。
14.如權利要求7所述的方法,其特征在于產(chǎn)生偽隨機數(shù)的步驟包括從對稱塊密碼功能產(chǎn)生一偽隨機數(shù)塊。
15.如權利要求7所述的方法,其特征在于產(chǎn)生偽隨機數(shù)的步驟包括從非對稱公鑰密碼功能產(chǎn)生一偽隨機數(shù)塊。
16.一種隨機數(shù)發(fā)生器裝置,其特征在于所述裝置包括一輸出;產(chǎn)生偽隨機數(shù)的數(shù)字隨機數(shù)發(fā)生器;產(chǎn)生隨機數(shù)的模擬隨機數(shù)發(fā)生器,其中將所述輸出耦合到所述數(shù)字和模擬隨機數(shù)發(fā)生器。
17.如權利要求16所述的裝置,其特征在于數(shù)字隨機數(shù)發(fā)生器包括一加密功能。
18.如權利要求17所述的裝置,其特征在于所述加密功能比讀出所述輸出更快地產(chǎn)生偽隨機數(shù)。
19.如權利要求16所述的裝置,其特征在于將偽隨機數(shù)耦合到數(shù)字隨機數(shù)發(fā)生器的輸入。
20.如權利要求16所述的裝置,其特征在于進一步包括一具有多個位的寄存器,該寄存器包含偽隨機數(shù),其中將模擬隨機數(shù)發(fā)生器至少耦合到其中一個位。
21.如權利要求16所述的裝置,其特征在于進一步包括多個模擬隨機數(shù)發(fā)生器。
22.如權利要求16所述的裝置,其特征在于進一步包括一個與所述輸出耦合的散列函數(shù)。
全文摘要
揭示一種產(chǎn)生隨機數(shù)的方法和裝置(300)。在第一實施例中,產(chǎn)生隨機數(shù)的方法涉及產(chǎn)生一個第二隨機數(shù)。偽隨機數(shù)是從數(shù)字隨機數(shù)發(fā)生器(304)產(chǎn)生的,第一隨機數(shù)是從模擬隨機數(shù)發(fā)生器(208-1)產(chǎn)生的。第一隨機數(shù)與偽隨機數(shù)合并,產(chǎn)生第二隨機數(shù),它是兩個發(fā)生器的輸出的結果。
文檔編號G06F7/58GK1354848SQ00808584
公開日2002年6月19日 申請日期2000年6月8日 優(yōu)先權日1999年6月8日
發(fā)明者E·J·斯普龍克 申請人:通用器材公司