TWI289247B - A method for generating a random number and a random number generator - Google Patents
A method for generating a random number and a random number generator Download PDFInfo
- Publication number
- TWI289247B TWI289247B TW091133704A TW91133704A TWI289247B TW I289247 B TWI289247 B TW I289247B TW 091133704 A TW091133704 A TW 091133704A TW 91133704 A TW91133704 A TW 91133704A TW I289247 B TWI289247 B TW I289247B
- Authority
- TW
- Taiwan
- Prior art keywords
- flip
- random number
- flops
- random
- number generator
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
- G06F7/588—Random number generators, i.e. based on natural stochastic processes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- General Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Manipulation Of Pulses (AREA)
- Pinball Game Machines (AREA)
- Details Of Television Scanning (AREA)
- Measurement Of Radiation (AREA)
Description
0)- 1289247 玫、發明說明 (發明說明應敘明:發明所屬之技術領域、先前技術、内容、實施方式及圖式簡單說明) 相關專利之交互參照 本發明係有關於在2000年3月6曰申請的美國專利案號 09/519,549名稱 “Method and Apparatus for Generating Random Numbers Using Flip-Flop Meta-Stability”、與在 2001 年 7月 25 日申 請的美國專利案號 09/912,685名稱 “Method and Apparatus for Decorrelating a Random Number Generator Using a Pseudo-Random Sequence”,其每個是轉讓給本發明,且在此是以引用方式 併入本文。 技術領域 本發明係有關於亂數產生,而更名確而言,係有關使用 正‘反器穩定性變化來產生亂數之方法及裝置。 先前技術 許多應用與電子裝置需要亂數,包括機會競赛,例如撲 克牌、輪盤賭、與吃角子老虎。特別是,許加密演算法與 協定是因亂數的一非可預測的來源而定,以實施安全的電 子通信等。一亂數產生器應該產生在指定範圍數目的每個 可能排列。此外,亂數產生器不應該偏重,且應該使用與 其他數目或數目序列相同機率來產生任何特定數。而且, 亂數產生器應該產生不可預測的亂數,而與先前結果的收 集規模無關。因此,亂數應該完全不可預測,且不易受到 外部影響。 在2000年3月6日申請的美國專利案號09/519,549名稱
1289247 “Method and Apparatus for Generating Random Numbers Using Flip-Flop Meta-Stability”、與在2001年7月25日申請的美國專 利案號 09/912,685名稱 “Method and Apparatus for Decorrelating a Random Number Generator Using a Pseudo-Random Sequence”是 揭示使用正反器穩定性變化行為來產生亂數之方法及裝 置。一正反器是使用故意達背正反器的設定、或保持時間 (或兩者)的一輸入來時脈計時,以確保穩定性變化行為。 每當有一錯誤時,一位元便會收集。 當穩定性變化在一隨機的基礎上發生時,可發現穩定性 變化期間與發生會受到外部雜訊的影響(大體上,隨機元 件的行為是受到例如在半導體裝置中所找到熱雜訊的内 部雜訊控制)。因此,外部雜訊可用來影響亂數產生器, 藉此妥協產生數目的隨機本質。因此,對於使用不受外部 雜訊影響的穩定性變化來產生亂數的方法及裝置是需要 的。 發明内容 通常,本發明係揭示根據正反器的穩定性變化行為而用 以避免外部雜訊影響亂數產生器之方法及裝置。可看出外 部雜訊可由攻擊者用來影響使用正反器穩定性變化行為 的一亂數產生器操作。既然這些正反器是實際接近,所以 本發明可確認外部雜訊將會以相同方式影響在多重亂數 產生器電路中的多重正反器。 因此,根據本發明的觀點,使用外部雜訊影響一亂數產 生器操作的能力可在單一亂數產生器中透過合併在此稱 1289247 _ (3)
為核心隨機元件的複數個正反器而減少。明確而言,本發 明可確認如果在一亂數產生器中的該等核心隨機元件之 一受到雜訊的影響,所有(或多數)核心隨機元件將會受到 雜訊的影響。因此,如果所有(或多數)核心隨機元件同時 送出一位元,亂數產生器受到雜訊的影響是可能的,且送 出的位元會被丟棄。一或多個機構如此可有可能到亂數產 生器,以確保當複數個核心隨機元件同時產生一位元時, 一隨機位元不會產生。有時候,兩核心隨機元件可同時產 生一隨機位元,有時候,但是丟棄這些位元在系統的整體 效率上具有可忽略的影響。 本發明的更完全了解、與本發明的進一步特徵及優點可 從下列詳細描述與附圖獲得。 實施方式
既然正反器是實質近似,所以本發明可確認外部雜訊會 影響在一亂數產生器電路中的多重正反器。因此,本發明 可透過合併複數個正反器而減少影響到使用外部雜訊的 一亂數產生器操作,其中該等正反器是以一些核心隨機元 件實施,且每個核心隨機元件400是由數個正反器組成。 核心隨機元件是在下面圖4進一步討論。 更明確而言,本發明可認知如果該等核心隨機元件400 之一會受到雜訊影響,所有(或多數)核心隨機元件400將 會被雜訊影響。因此,如果許多核心隨機元件400同時送 出一位元,當經由偵測送出該位元的一互斥或閘(“XOR”) 或另一閘發4時,亂數產生器可能會受雜訊影響,且該等
1289247 (4) 送出的位元便會被丟棄。因此’當所有(或多數)核心隨機 元件400同時產生一位元時’本發明可合併一或多個機構 來確保不會產生任一位元。 下列討論是依下列構成。首先’許多適當核心隨機元件 是在名稱“使用穩定性變化正反器的亂數產生器,,單元中 討論。其後,圖4描述例如建立在圖1至3描述的亂數產生 器1〇〇、200上的一核心隨機元件4⑼的一般觀念。最後,本 發明的受雜訊影響降低技術是在名稱“預防外部雜訊影響 一亂數”單元中討論。 使用穩定性變化正反器的亂數產生器 圖1A是根據在2000年3月6日申請的美國專利案號 09/519,549名稱 “Method and Apparatus for Generating Random
Numbers Using Flip-Flop Meta-Stability”的說明而描述一亂數 產生器100。亂數產生器100可透過將半數的零“標記,,成‘‘i,, ,及將另一半數的零“標記”成“0”而提供任一輸出位元平 均分配。此外,半數的1是標記成“ 1”,且另一半數的i標 記成“0”。 如圖1A所示,亂數產生器100包括一正反器110;延遲115 、120 ; D型正反器125、132 ;及一時脈振盪器130。正反器 110是使用一輸入時脈計時,且該輸入是有意達反正反器 110的設定或保持時間(或兩者),以確保穩定性變化行為 。設定或保持時間可例如透過使用延遲115、120而達反。 正反器110能以例如一 D、T、或JK型正反器具體實施。此 外,正反器110能以在技術中熟諳此技者的一簡單門閂與 1289247 (5) 一略微不同電路具體實施。 一時脈信號是由一時脈振盪器πο與一 0型正反器125產 生’其Qbar輸出疋回技給它的〇輸入,以將時脈除2。在此 方式中,D型正反器125的操作是與一 丁型正反器(切換輸出) 的方式相同,以提供一除2機構。因此,正反器11〇的D輪 入是透過交互一些1與一些〇驅動。一額外除2正反器132是 產生如圖1C顯示的一標誌信號,此是將輸入波形中的$ 數的0標圮成1 ,及將另一半數的〇標記成《 〇,,。 從圖以和1C可清楚看出,經由時脈振盪器13〇產生的波 形時脈是在圖1A標記‘‘時脈,,的取樣點上獲得。經由除之正 反器125產生的波形輸入是在圖1A中標記“輸入,,的取樣點 上獲得。經由延遲115產生的波形輸入D(具有達反正反器 的設定時間)及經由延遲120產生的波形輸入時脈是在圖 1A的對應取樣點上獲得。經由除2正反器ι32產生的波形標 圮疋在圖1A標記“標語,,的取樣點上獲得。 如圖1C所示,經由延遲115、12〇達反的設定或保持時間 (或兩者)可確保正反器11〇將呈現如波形穩定性變化輪出 所示的穩定性變化行為。如下面進一步討論,正反器ιι〇 的穩定性變化操作是提供用以產生亂數的一機構。 由於來自延遲115、120的延遲結果,在正反器11〇本身的 固有延遲、與最重要的是來自穩定性變化行為的非—致性 延遲,波形穩足性變化輸出是不會與波形時脈同步。因此 ’若要產生適於同步應用的圖1亂數產生器1〇〇,一說明的 機構要在圖1B提供,以使波形穩定性變化輸出與波形時 1289247 ,_一_| ⑹
脈同步。注意,圖1A和1B的的電路是透過相對應的中間 字母表示的氣泡圓圈連接。 在圖1B_示的同步電路Π5包括許多選取的串聯正反器 140- 142 ’如此不會容易進入一穩定性變化狀態。此外,如 果這些正反器140- 142之一變成穩定性變化,時脈信號的周 期應該不會足夠長,所以穩定性變化正反器的輸出將會固 定在一固定邏輯值(〇或丨),以致於當信號在下一正反器 140- 142取樣時,正反器會是穩定的。在此方式中,當移除 任何穩定性變化時,每個正反器140- 142可改進波形穩定性 變化與波形時脈的同步機會。的確,此一電路的不正確行 為機會將長久測量。 互斥或閉(“X〇R,,)15〇可比較波形穩定性變化輸出的同步 版本’此是指定為具波形輸入的Stable_out(在除2正反器125 的輸出上取樣)。既然如果兩輸入不同,XOR閘150的輸出 疋兩電位’所以如果波形Stable—out不符合輸入 閘15〇(“錯誤”)的輸出便會是高電位。只有如果該等正反 141 142< 一犯錯(我們假設發生穩定性變化 為結果),此錯誤便便會菸吐 9贫生。X0R閘150(“錯誤,,)的輸 是運用在一移位暫存器 ° 0的移位輸入(移位輸入),而 移位暫存器160將會在有料嗜昧 百錯成時每次從標誌信號移位一 元。因此,每當有錯誤 〜具體實施例可收集一位元 移位暫存器160的輸入綾县 — 連接到標誌、信號。在此方 中’母次有錯誤時,移位智 、— $存器160便會從標誌信號移 一位兀。因此,如圖丨Γ l尸斤不’對於錯誤零而言,一位 -10.
1289247 等於1(根據標誌信號)將可取得。同樣地,對於錯誤1而言 ,一位元等於1 (根據標誌信號)將可取得。 亂數產生器100亦使用“1”或“0,,來標記輸入正反器110的 一些1。因此,如果一錯誤是與輸入的一值發生,任一位 元的平均分配便亦可取得,由於錯誤是與一值發生。因此 ,此電路便於在1或〇輸入值所發生錯誤之間的偏向是不受 影響。 如前述,使用上面圖1A至ic討論的方式將輸入位元標 記可提供任一輸出位元的平均分配。然而,可發現穩定性 變化的周期與發生將會受到雜訊的影響。因此,如果雜訊 是與標誌信號互有關係’那麼亂數產生器的輸出便不會隨 機產生。 因此,一未偏重(有關〇與1的頻率)信號源是當作標誌信 號使用。該標説#號疋與系統任何雜訊高可能性無關。具 有足夠長度的一線性回授移位暫存器(LFSR)可用來減少 相互關係機會及減少在線性回授移位暫存器輸出的任何 偏重。適當的線性回授移位暫存器是例如在Bruce schneier 名稱 “Applied Cryptography”第 369-388 頁(Wiley, 1994)中描述。 圖2描述一亂數產生器200。如圖2所示,亂數產生器2〇〇 包括一正反器110、延遲115、120、一 D型正反器125與一時 脈振盪器130,且操作是與上面圖1A描述的方式相同。此 外,亂數產生器200包括一線性回授移位暫存器21〇,以產 生圖3顯示的一 LFSR標誌信號,以便將在波形中超過半數 的一些零輸入標誌成“一些1 ”且將幾乎半數的零標語成 -11 -
1289247 (8) ‘‘一些零”,且與任何雜訊高可能性無關聯。既然對於n位 元LFSR而言,只有2η-1個圖案(所有零圖案從不發生),所 以信號始終會略微偏重。如果η是較大,此偏重會變成不 重要。
因此,圖2的亂數產生器200可使用線性回授移位暫存器 2 10來取代圖1Α的標兹正反器13 2 ^該線性回授移位暫存器 210能以 Bruce Schneier名稱 “Applied Cryptography”第 369_388 頁 (Wiley,1994)描述的來具體實施。圖2的亂數產生器200可使 用圖1B的同步電路135來使亂數產生器200的輸出與一時 脈源同步。
如前述,該線性回授移位暫存器210應可提供足夠數量 的位元,以減少相互關聯性機會,及減少在LFSR輸出的任 何偏重。對於由η個正反器組成的一線性回授移位暫存器 210 η而言,在數目開·始重複之前,將有2η-1個二進位數值 。因此,當在該線性回授移位暫存器210的正反器數量增 加時,以2η-1二進位表示的-1將變得不重要。無論如何, 既然歸於-1項的任何偏重方向是已知,所以偏重可移除或 使用適當電路或修正。 因此,該線性回授移位暫存器210可提供假隨機的一標 語輸出(LFSR標語),其輸出位元的半數是〇,且輸出位元 的另一半數是1。 可看出如果該線性回授移位暫存器210是不安全,一部 分輸出(甚至一任意部分)允許已知的線性回授移位暫存 器2 10的狀態。如此,將可預測亂數產生器200的輸出。因 -12 ·
1289247 此,一線性回授變化記錄210應可利用,而没有可辨別的 統計,藉此將該線性回投移位暫存器210的狀態資訊標語 成無用。在一進一步變化方面,額外安全性可透過釋回從 移位暫存器160輸出的位元、及透過允許在每個收集間隔 中遺失的一些收集位元來達成。 該移位暫存器160可每次從有錯誤的標誌信號移位一位 元。如此,錯誤的到達時間是不能辨別,且不能預測選取 該線性回授移位暫存器210的那些位元。 避免外部雜訊影響亂數 如前述’既然多重正反裔疋貝際接近,所以本發明可確 認外部雜訊會以相同方式影響在一電路板或在積體電路 上的多重正反器。因此,根據本發明的一特徵,使用外部 雜訊來攻擊亂數產生器的能力可在一亂數產生器中透過 使用兩或多個正反器來減少’在此稱為核心隨機元件400 。明確而言’本發明可確認如果該等核心隨機元件4〇〇之 一受到雜訊的影響,他們全部會是。因此,如果所有(或 多數)的核心隨機元件4 0 〇同時透過例如一互斥〇 r閘(或偵 測發射位元的另一閘)送出位元,亂數產生器受到雜訊影 響是有可能性,且所有送出的位元會被丟棄。 例如,如果t是大於〇的一臨界值,且η是正反器的數量 ,只有如果(n/2+t)或較不相同結果是由穩定性變化正反器 產生,那麼一位元便會產生。同樣地,如果超過(n/2+t)相 同結果是透過穩定性變化正反券產生’ 一位元便不會產生 。因此,如果η等於1〇個正反器,且t等於(2),那麼如果(8) 1289247 或多個正反器具有相同結果,那麼位元便會被丟棄。此外 ,如果η等於(2)個正反器,那麼如果所有正反器具有相同 結果(透過將t設定大於〇),位元便可被丟棄。如此,本發 明可提供一亂數產生器,即使當正反器不會產生(1)和⑼ 的平均分配。如果一穩定性變化正反器產生(丨)的機率是p ,且相同穩定性變化正反器產生(〇)的機率是,如果超 過P*n + t或少於一“個i被送出,那麼一位元便可被丟棄。 例如,如果η等於10, p等於〇·7, 等於!,如果有9個或
更;^ 或5個或更少的一些1,那麼該位元便會被丢棄。 圖4描述使用在上面圖ία、1B和2討論的亂數產生器1〇〇 、200的元件實施的一核心隨機元件4〇〇。如圖4所示,核 心隨機元件400包括一正反器410、可變延遲415、42〇、與 一同步電路430。一時脈信號是由一時脈源(未在圖顯示) 產生。如前述,正反器410是使用一故意達背正反器41〇的 設定或保持時間(或兩者的)的輸入來時脈計時,以確保穩
定性變化的行為。設定或保持時間可例如使用可變延遲 415、420來違背。正反器410可例如使用一 D、丁或JK型正 反器來具體實施。 如前述’來自延遲415、420的延遲、正反器41〇本身的固 有延遲、與來自穩定性變化行為非一致性延遲的最重要部 分會使波形穩定性變化輸出不會與波形時脈同步。因此, 若要使圖4的核心隨機元件400適於同步應用,一說明的機 構是在圖4提供來使波形穩疋性變化與波形時脈同步。 圖4顯示的同步電路430包括選擇的許多串聯正反器 -14- 1289247 (ίο
如果這
440-442,如此不會進入一穩定性變化狀態。此外’口 乂七雜的 些正反器440-442之一確實變成穩定性變化,時脈# ^ I I在〆固 期應該足夠長,所以穩定性變化正反器的輸出曰 定的邏輯值(或0或1 ),以致於當#號是在下 ρ 任何 440-442上取樣時,正反器會是穩定的。如此’ s。 %索性變化 穩定性變化時,每個正反器440-442可改善波形仅、& < > @ #化與輸 輸出與波形時脈同步的機會。透過將輸出穩疋性
恭冰。當在 入信號相比較,當他們不一致時,您便會發現知玉 核心隨機元件400的該等正反器之一變成穩定性變化時 w τίΐ涣禎測由 此不合便會發生。因此,一互斥(XOR)閘服可用本/、 多 4=·描述 核心隨機元件400所產生的位元,如圖示中使用取冗 的XOR閘150。對於核心隨機元件400的更詳細操作而& ’ 可參考在此描述及合併引用的相關專利。
圖5是根據本發明而描述一亂數產生器500。如前述’本 發明是透過在一亂數產生器中使用複數個正反器來減7 一亂數產生器的感受性。在圖5顯示的說明具體實施例中 ,亂數產生器500包括如上面圖4討論的兩串聯的核心隨機 元件 400-1 、 400_2 。 一時脈源是由一時脈振蓋器530及一 D型正反器525產生 ’其Qbar輸出是回授給它的〇輸入。如此,D型正反器525 是以類似一 T型正反器(切換式輸出)的方式來工作,以提 供一除2機構。因此,核心隨機元件4〇〇_丨範例的輸入是由 父替的一些1與0來驅動。另一輸入信號方法是在下面圖8 進一步討論。 -15- 1289247 (η) 如圖5所示,核心隨機元件4 Ο Ο -1的輸出是當作第二核心 隨機元件400-2應用。如果該等核心隨機元件400- 1、400-2 之一受到雜訊影響,他們兩便會是。因此,如果兩核心隨 機元件400- 1、400-2同時送出位元,如同互斥或(X〇R)電路 540、550的偵測,亂數產生器500受到雜訊的影響是有可能 的,且所有送出的位元會被丟棄。因此,該亂數產生·器500 包括一組互斥或(XOR)電路540、550、560。 第一互斥或閘(“XOR”)540是將波形Stable_out同步版本與 波形輸入(在除2正反器525的輸出上取樣)相比較。既然只 有如果兩輸入不同’XOR閘54的輸出是南電位’所以如果
來自核心隨機元件400-2的波形Stable_out不匹配於只有當 在核心隨機元件的該等正反器之一發生的輸入信號時, XOR閘540的輸出便會是高電位。同樣地,既然只有如果 它兩個輸入不一致,XOR閘550的輸出是高電位,所以如 果來自核心隨機元件400-2的波形Stable_out與來自核心隨 機元件400- 1的波形Stable_out不匹配,XOR閘550的輸出便 會是高電位。 兩XOR閘540、550的輸出然後應用到XOR閘560。既然只 有如果它兩個輸入是不一致,XOR閘560的輸出會是高電 位,所以如果來自兩核心隨機元件400- 1、400-2的波形 Stable__out是高或低電位,XOR閘560的輸出便不會是高電 位。換句話說,只有當兩核心隨機元件400- 1、400-2產生 位元,XOR閘560便會抑制一位元的產生。 XOR閘560的輸出是運用到一移位暫存器570的一致能輸 -16- 1289247 (13) 1^^" 入端。因此,每次只來自一核心隨機元件4〇〇的波形
Stable一out不與相對核心隨機元件400的輸入匹配(即是,當 有一 “錯誤”)時,移位暫存器570便會從來自LFSR 21〇的標 誌信號(LFSR標誌)移位一位元。產生的位元然後運用到一 電腦介面580(或其他應用)。 圖6是根據本發明而描述一亂數產生器6〇〇。在圖6顯示 的說明具體實施例中,亂數產生器600包括如上面圖4討論 的兩並聯核心隨機元件400-1、400-2。圖6顯示具體實施例 對於避免攻擊者使用在圖5具體實施例的輸入信號於不同 時間通過兩正反器是特別有用。 一時脈源是由一時脈振堡器630與一 D型正反器625產生 ,其Qbar輸出是回授給它的D輸入。在此方式,該D型正 反器625是使用與一 T型正反器(切換式輸出)的類似方式 來工作,以提供除2機構。因此,在並聯具體實施例中的 兩核心隨機元件400- 1、400-2的輸入是透過交替的一些1與 0來驅動。另一輸入方法是在下面圖8進一步討論。 如圖6所示,該亂數產生器600包括一組互斥OR閘(X0R) 電路640、650、660。類似圖5的具體實施例,第一互斥OR 閘(“XOR”)640是將波形Stable—out的同步版本與波形輸入 (在除2正反器625輸出上的取樣)相比較。既然只有如果兩 輸入不一致,X0R閘640的輸出是高電位,所以如果來自 核心隨機元件400- 1的波形Stable_out是與輸入信號不匹配 ,X0R閘640的輸出會是高電位。同樣地,既然如果只有 當它兩輸入不一致,X0R閘650的輸出是高電位,所以如 -17- 1289247
(14) 果來自核心隨機元件400-2 的波形Stable_out不與輸入信 號匹配,XOR閘650的輸出將會高電位。 兩XOR閘640、650的輸出然後運用到x〇R閘660。既然如 果只有當它兩輸入不一致,XOR閘660的輸出會是高電位 ,所以如果來自個核心隨機元件400- 1,400-2的波形
Stable—out是高或低電位,XOR閘660的輸出便不會是高電 位。換句話說,只有當兩核心隨機元件400- 1、400-2產生 位元時,XOR閘660將會抑制一位元的產生。 X0R閘660的輸出是運用到一移位暫存器670的一致能輸 入端。因此,該移位暫存器670可從標誌信號(LFSR標誌) 移位一位元,從LFSR 210,每次只來自核心隨機元件400 的波形Stable一out不與輸入信號匹配(即是,當有一“錯誤,,) 。產生的位元然後是運用到一電腦介面680(或另一應用)。 圖7是根據本發明的另一具體實施例而描述一亂數產生 器700。在圖7顯示的說明具體實施例中,該亂數產生器6〇〇 包括如上面圖4討論的兩並聯核心隨機元件400- 1、400-2, 其疋使用一反相器71〇來切換該第二核心隨機元件4〇〇-2的 輸入信號。因此,該核心隨機元件400-2從不具有與核心 隨機元件400- 1相同的輸入信號。在圖7顯示的具體實施例 可在亂數產生的每個步驟中來進一步避免攻擊者。 除了反相器710之外,亂數產生器7〇〇是使用如上面圖6 时論的類似亂數產生器6〇〇的方式來工作。 圖8是仍然根據本發明的另一具體實施例而描述一亂數 產生器800。在圖8顯示的說明具體實施例中,一第一核心 -18-
1289247 (15) 隨機元件400- 1是用來觸發來自另一隨機元件400-2的一隨 機位元產生。明確而言,每當一錯誤在該第一核心隨機元 件400- 1偵測到時,該第二核心隨機元件400-2的穩定輸出 可用於輸出流。錯誤的偵測能使用與前述的相同方式來達 成,即是,透過使用複數個核心隨機元件400。
如圖8所示,該亂數產生器800包括如上面圖4討論的兩 核心隨機元件400_1、400-2。此外,一時脈源830可產生一 時脈信號。Qbar輸出是回授給它D輸入的D型正反器825可 提供一除2機構。因此,核心隨機元件400- 1的輸入可透過 交替的1與0來驅動。 一錯誤是透過使用互斥OR(XOR)電路840而在第一隨機 元件400- 1中偵測。互斥OR閘840(“XOR”)是將來自核心隨機
元件400- 1的波形Stable_out的同步版本與波形輸入相比較 (在除2正反器825的輸出上取樣)。既然如果只有當它兩輸 入不一致,XOR閘840的輸出會是高電位,所以如果來自 隨機元件400- 1的波形Stable_out由於穩定性變化行為而不 與輸入信號匹配,XOR閘840的輸出便會是高電位。 XOR閘840的輸出是運用到一移位暫存器870的一致能輸 入端。因此,每次來自核心隨機元件400- 1的波形Stable_out 不與輸入信號匹配(即是,當有一 “錯誤”)時,移位暫存器 870便會從輸入信號移位一位元(其是由核心隨機元件 400-2驅動)。產生的位元然後是運用到一電腦介面 880( 或另一應用)。該核心隨機元件400-2是使用與上面圖4描述 的相同方式來工作。 -19- 1289247 _ (16) 1 1 應可了解到在此顯示及描述的具體實施例與變化只是 說明本發明的原理,且各種不同修改可由熟諳此技者實施 ,而不致於脫離本發明的範圍與精神。 圖式簡單說明 圖1A是根據在2000年3月6日申請的美國專利案號 09/5 19,549名稱 “Method and Apparatus for Generating Random Numbers Using Flip-Flop Meta-Stability”的揭示來描述一亂數 產生器;
圖1B描述用來使圖1A的亂數產生器輸出與一時脈源同 步利的一同步電路; 圖1C描述圖1A和1B的電路所產生的一組波形; 圖2是根據在2001年7月25日申請的美國專利案號 09/912,685 名稱 “Method and Apparatus for Decorrelating a Random Number Generator Using a Pseudo-Random Sequence”白勺說 明而描述另一亂數產生器;
圖3描述圖2和1B的電路所產生的一組波形; 圖4是連同上面圖ΙΑ、1B和2描述使用亂數產生器100、 200元件實施的一核心隨機元件;及 圖5至8是根據本發明而描述一亂數產生器的各種不同 具體實施例。 圖式代表符號說明 100, 200, 500 亂數產生器 110, 140, 141,142, 正反器 410, 440, 441,442 -20-
1289247 ⑼ 115, 120 延遲 125, 132, 525, 625, 725, 825 D型正反器 130, 530, 630, 730, 830 時脈振盧器 150, 640, 650, 660, 互斥或閘 640, 750, 760, 840 160, 570, 670, 770, 870 移位暫存器 170, 580, 680, 780, 880 電腦介面 210 線性回授移位暫存器 400, 400-1,400-2 核心隨機元件 415, 420 可變延遲 135,430 同步電路 540, 550, 560 互斥OR閘(XOR)電路
Claims (1)
- I289^)7ll33704號專利申請案 曰修㊇正本 · 中文申請專利範圍替換本(96年1月)1 Ί--- 拾、申請專利範圍 1. 一種用以產生亂數之方法,其包含下列步驟: 在穩定性變化狀態中操作複數個正反器(400); 如果該等正反器(400)之一進入該穩定性變化狀態, 便產生一隨機位元;及 如果超過該等複數個正反器(400)之一進入在一預先 定義時間間隔中的一穩定性變化狀態,可避免一隨機 位元產生。 2. 如申請專利範圍第1項之方法,其中該正反器(400)是並 聯驅動。 3. 如申請專利範圍第1項之方法,其中該等該正反器(400) 之至少一者是連接到該等正反器(400)的至少另一者。 4. 如申請專利範圍第1項之方法,其中該避免步驟是透過 一或多個互斥OR(XOR)電路(540、550、560)執行。 5. 如申請專利範圍第1項之方法,其中如果該等正反器 (400)之一的輸出不與一應用的輸入匹配,該產生步驟 進一步包含選取一隨機位元的步驟。 6. 如申請專利範圍第1項之方法,其進一步包含該用以使 該等正反器(400)的每一者輸出與一本地時脈源(530)同 步的步驟。 7. 如申請專利範圍第6項之方法,其中用以執行該同步步 驟的一同步電路(430),其受到穩定性變化的影響是低 於受到該等正反器的影響。 82008-960125.doc1289247 8. 如申請專利範圍第1項之方法,其進一步包含該用以收 集該等複數個隨意位元的步驟,以產生一亂數。 9. 如申請專利範圍第1項之方法,其進一步包含該用以將 一第二正反器(400-2)的輸入信號倒相的步驟,以確保 該第二正反器(400-2)沒有與一第一正反器相同的輸入 信號。 10· —種亂數產生器(500),其包含: 複數個正反器(400),如果該等正反器(400)之一進入 該穩定性變化狀態,該等複數個正反器便會在一穩定性 變化狀態中操作,以產生一隨機位元;及 避免裝置(540、550、560),用以如果超過該等正反器 (400)之在一預先定義時間間隔中進入一穩定性變化狀 態,以避免一隨機位元的產生。 11. 如申請專利範圍第10項之亂數產生器(500),其中該等正 反器(400)是並聯驅動。 12. 如申請專利範圍第10項之亂數產生器(500),其中該等正 反器(400)之至少一者是連接到該等正反器(400)的至少 另一者。 13. 如申請專利範圍第10項之亂數產生器(500),其中該避免 裝置是用以避免一隨機位元的產生是一或多個互斥 OR(XOR)電路(540、550、560) 〇 14. 如申請專利範圍第10項之亂數產生器(500),其中如果該 等正反器(400)之一的輸出不與一應用的輸入批配,該 等正反器(400)的穩定狀態偵測便可辨別。 82008-960125.doc1289247 15. 如申請專利範圍第10項之亂數產生器(500),其進一步包 含一同步電路(430),以使該等正反器(400)每一者的輸 出與一本地時脈源(530)同步。 16. 如申請專利範圍第15項之亂數產生器(500),其中該同步 電路(430)受到穩定性變化的影響是低於受到該等正反 器的影響。 17. 如申請專利範圍第10項之亂數產生器(500),其中至少一 隨機位元被收集以產生一亂數。 18. —種用以產生亂數之方法,其包含下列步驟: 在一穩定性變化狀態中操作一第一正反器(400- 1);及 當該第一正反器(400- 1)是在該穩定性變化狀態時,從 一第二正反器(400-2)的輸出產生一隨機位元。 19. 如申請專利範圍第18項之方法,其中該產生步驟是透過 至少一互斥OR(XOR)電路(840)觸發。 20. 如申請專利範圍第18項之方法,其進一步包含該用以使 該第二正反器(400-2)的一輸出與一本地時脈源(830)同 步的步驟。 21. 如申請專利範圍第18項之方法,其進一步包含該用以收 集該等複數個隨意位元的步驟,以產生一亂數。 82008-960125.doc
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/998,050 US6963888B2 (en) | 2001-11-29 | 2001-11-29 | Method and apparatus for preventing noise from influencing a random number generator based on flip-flop meta-stability |
Publications (2)
Publication Number | Publication Date |
---|---|
TW200408922A TW200408922A (en) | 2004-06-01 |
TWI289247B true TWI289247B (en) | 2007-11-01 |
Family
ID=25544690
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW091133704A TWI289247B (en) | 2001-11-29 | 2002-11-19 | A method for generating a random number and a random number generator |
Country Status (10)
Country | Link |
---|---|
US (1) | US6963888B2 (zh) |
EP (1) | EP1451676B1 (zh) |
JP (1) | JP4234011B2 (zh) |
KR (1) | KR20040063976A (zh) |
CN (1) | CN100414491C (zh) |
AT (1) | ATE416417T1 (zh) |
AU (1) | AU2002365491A1 (zh) |
DE (1) | DE60230179D1 (zh) |
TW (1) | TWI289247B (zh) |
WO (1) | WO2003046840A2 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI497409B (zh) * | 2014-07-18 | 2015-08-21 | Winbond Electronics Corp | 亂數產生器及其亂數產生方法 |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7113966B2 (en) * | 2001-07-25 | 2006-09-26 | Koninklijke Philips Electronics N.V. | Method and apparatus for decorrelating a random number generator using a pseudo-random sequence |
US20030236802A1 (en) * | 2002-06-20 | 2003-12-25 | Koninklijke Philips Electronics N.V. | Method and apparatus for generating a random number using the meta-stable behavior of latches |
JP4195007B2 (ja) * | 2002-08-14 | 2008-12-10 | 株式会社アイ・エイ・エス総合研究所 | 乱数生成装置及び乱数生成方法 |
US7302458B2 (en) * | 2003-03-14 | 2007-11-27 | Nxp B.V. | Method and apparatus for choosing a combination of logic for generating random numbers using a difference signal |
JP3732188B2 (ja) * | 2003-03-31 | 2006-01-05 | Necマイクロシステム株式会社 | 擬似乱数発生回路 |
WO2005114386A1 (ja) * | 2004-05-24 | 2005-12-01 | Leisure Electronics Technology Co., Ltd. | 乱数取出し方法及びこれを用いた乱数生成装置 |
US20070188504A1 (en) * | 2006-02-16 | 2007-08-16 | Lewis Daniel L | Random-text display lighter |
US8346832B2 (en) * | 2006-10-12 | 2013-01-01 | The Regents Of The University Of Michigan | Random number generator |
CN102662625A (zh) * | 2012-04-06 | 2012-09-12 | 国网电力科学研究院 | 一种真随机数发生器及其实现方法 |
KR102083271B1 (ko) * | 2012-07-31 | 2020-03-02 | 삼성전자주식회사 | 플래시 메모리의 물리적 특성을 이용하여 난수를 생성하는 플래시 메모리 시스템 및 그것의 난수 생성 방법 |
US9047152B2 (en) * | 2013-01-16 | 2015-06-02 | Skymedi Corporation | Delay device, method, and random number generator using the same |
US9335972B2 (en) * | 2013-11-29 | 2016-05-10 | The Regents Of The University Of Michigan | True random number generator |
US10331410B2 (en) * | 2016-11-09 | 2019-06-25 | Google Llc | Hardened random number generator with ring oscillator collapse time random truncation |
KR102652735B1 (ko) | 2016-11-24 | 2024-04-02 | 삼성전자주식회사 | 조절 가능한 메타-스테이블 전압을 이용하는 난수 생성기 및 난수 생성 방법 |
CN111555753B (zh) * | 2020-06-08 | 2020-12-18 | 上海奥令科电子科技有限公司 | 信号处理方法和装置 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5228054A (en) * | 1992-04-03 | 1993-07-13 | Qualcomm Incorporated | Power-of-two length pseudo-noise sequence generator with fast offset adjustment |
US5963104A (en) | 1996-04-15 | 1999-10-05 | Vlsi Technology, Inc. | Standard cell ring oscillator of a non-deterministic randomizer circuit |
US5706218A (en) * | 1996-05-15 | 1998-01-06 | Intel Corporation | Random number generator |
JP2937919B2 (ja) * | 1997-01-16 | 1999-08-23 | 日本電気アイシーマイコンシステム株式会社 | 疑似乱数発生回路 |
US6631390B1 (en) | 2000-03-06 | 2003-10-07 | Koninklijke Philips Electronics N.V. | Method and apparatus for generating random numbers using flip-flop meta-stability |
US6480072B1 (en) * | 2000-04-18 | 2002-11-12 | Advanced Micro Devices, Inc. | Method and apparatus for generating random numbers |
US7113966B2 (en) * | 2001-07-25 | 2006-09-26 | Koninklijke Philips Electronics N.V. | Method and apparatus for decorrelating a random number generator using a pseudo-random sequence |
US20030236802A1 (en) * | 2002-06-20 | 2003-12-25 | Koninklijke Philips Electronics N.V. | Method and apparatus for generating a random number using the meta-stable behavior of latches |
-
2001
- 2001-11-29 US US09/998,050 patent/US6963888B2/en not_active Expired - Fee Related
-
2002
- 2002-11-12 EP EP02803884A patent/EP1451676B1/en not_active Expired - Lifetime
- 2002-11-12 CN CNB028237781A patent/CN100414491C/zh not_active Expired - Fee Related
- 2002-11-12 KR KR10-2004-7008138A patent/KR20040063976A/ko not_active Application Discontinuation
- 2002-11-12 AT AT02803884T patent/ATE416417T1/de not_active IP Right Cessation
- 2002-11-12 WO PCT/IB2002/004746 patent/WO2003046840A2/en active Application Filing
- 2002-11-12 AU AU2002365491A patent/AU2002365491A1/en not_active Abandoned
- 2002-11-12 JP JP2003548191A patent/JP4234011B2/ja not_active Expired - Fee Related
- 2002-11-12 DE DE60230179T patent/DE60230179D1/de not_active Expired - Lifetime
- 2002-11-19 TW TW091133704A patent/TWI289247B/zh not_active IP Right Cessation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI497409B (zh) * | 2014-07-18 | 2015-08-21 | Winbond Electronics Corp | 亂數產生器及其亂數產生方法 |
Also Published As
Publication number | Publication date |
---|---|
CN1596395A (zh) | 2005-03-16 |
US6963888B2 (en) | 2005-11-08 |
AU2002365491A1 (en) | 2003-06-10 |
EP1451676B1 (en) | 2008-12-03 |
ATE416417T1 (de) | 2008-12-15 |
WO2003046840A2 (en) | 2003-06-05 |
WO2003046840A3 (en) | 2004-03-18 |
JP4234011B2 (ja) | 2009-03-04 |
TW200408922A (en) | 2004-06-01 |
US20030101205A1 (en) | 2003-05-29 |
CN100414491C (zh) | 2008-08-27 |
AU2002365491A8 (en) | 2003-06-10 |
KR20040063976A (ko) | 2004-07-15 |
JP2005510923A (ja) | 2005-04-21 |
EP1451676A2 (en) | 2004-09-01 |
DE60230179D1 (de) | 2009-01-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI289247B (en) | A method for generating a random number and a random number generator | |
KR100847213B1 (ko) | 난수 생성 방법 및 난수 생성기 | |
EP1776757B1 (en) | Random number generation based on logic circuits with feedback | |
EP1782181B1 (en) | Method and apparatus for generating random data | |
US20130346459A1 (en) | Method for generating random numbers | |
EP1537474B1 (en) | Feedback random number generation method and system | |
US7113966B2 (en) | Method and apparatus for decorrelating a random number generator using a pseudo-random sequence | |
EP1518164B1 (en) | Method and apparatus for generating a random number using meta-stable latches | |
Han et al. | Unpredictable 16 bits LFSR-based true random number generator | |
Liberty et al. | True hardware random number generation implemented in the 32-nm SOI POWER7+ processor | |
Garipcan et al. | DESSB-TRNG: A novel true random number generator using data encryption standard substitution box as post-processing | |
US9582249B2 (en) | Method for monitoring the output of a random generator | |
Anchana et al. | Design of PUF Based Chaotic Random Number Generator | |
JP2004157168A (ja) | 乱数生成装置 | |
Ahmad et al. | On determination of LFSR structures to assure more reliable and secure designs of cryptographic systems | |
Kotě et al. | Improved structure of true random number generator with direct amplification of analog noise | |
Singh et al. | VERYLOG IMPLEMENTATION OF TRUE RANDOM NUMBER GENERATION USING PROGRAMMABLE DELAYS IN OSCILLATOR-RINGS | |
Grynchyshyn et al. | Special Processors Simulation for Forming and Digital Processing of Error-Correcting Codes in Computer Systems | |
Tehranipoor et al. | True Random Number Generator (TRNG) | |
Kishangarh | EXCELLENT PUBLISHING HOUSE | |
Singh et al. | LFSR Base Random Number Generator Design in 50nm Technology |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |