TWI520055B - 用於產生隨機數之裝置與方法 - Google Patents

用於產生隨機數之裝置與方法 Download PDF

Info

Publication number
TWI520055B
TWI520055B TW101104744A TW101104744A TWI520055B TW I520055 B TWI520055 B TW I520055B TW 101104744 A TW101104744 A TW 101104744A TW 101104744 A TW101104744 A TW 101104744A TW I520055 B TWI520055 B TW I520055B
Authority
TW
Taiwan
Prior art keywords
generator
control signal
oscillator
mode
generator circuit
Prior art date
Application number
TW101104744A
Other languages
English (en)
Other versions
TW201237744A (en
Inventor
錢德維克斯
Original Assignee
Arm股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Arm股份有限公司 filed Critical Arm股份有限公司
Publication of TW201237744A publication Critical patent/TW201237744A/zh
Application granted granted Critical
Publication of TWI520055B publication Critical patent/TWI520055B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/588Random number generators, i.e. based on natural stochastic processes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/582Pseudo-random number generators

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Stabilization Of Oscillater, Synchronisation, Frequency Synthesizers (AREA)
  • Manipulation Of Pulses (AREA)
  • Semiconductor Integrated Circuits (AREA)

Description

用於產生隨機數之裝置與方法
本發明係關於一種用於產生隨機數之裝置及方法。
隨機數產生器為用於各式各樣的應用之必要組件。在安全系統中,隨機數產生器提供用於認證及加密之秘密金鑰或符記(token)。隨機數產生器亦應用於模擬軟體中之各種問題。
對於此類應用,提供高品質的隨機數來源為關鍵要求。真隨機數為一組不可預測之位元,且展示隨機性之統計性質。
多種用於產生隨機數之硬體技術已經開發,此類技術通常使用資料處理裝置內之隨機性之實體來源。此類電路通常稱為真隨機數產生器(True Random Number Generators;TRNGs)。
作為此TRNG電路之實例,IEEE Journal of Solid-State Circuits,第43卷,2008年1月,第1期,第78-85頁,C Tokunaga等人之文章「True Random Number Generator with a Metastability-Based Quality Control」描述一種TRNG設計,TRNG設計使用置放至介穩態(metastable state)中之閂鎖器,亦即,閂鎖器之儲存狀態為不確定,位於邏輯零與邏輯位準一之間。隨時間推移,處於介穩態中之此閂鎖器將改變為邏輯值零或邏輯值一,其中雜 訊對閂鎖器改變之方向作貢獻。在此論文中所述之電路監看改變為閂鎖器內之已知值所花費之時間,此時間為未知且事實上為隨機的。改變時間接著被轉換為隨機數。
IEEE Transactions on Computers,第52卷,2003年4月,第4期,M Bucci等人之文章「A High-Speed Oscillator-Based Truly Random Number Source for Cryptographic Applications on a Smart Card IC」描述一種基於振盪器之隨機數產生器,其中低頻振盪器取樣D型正反器中之快速振盪器。若低頻振盪器週期具有遠大於較快振盪器週期之標準偏差,則在兩個連續取樣時間中之經取樣振盪器之狀態可假設為不相關(亦即,相互獨立),因此產生隨機位元串流。本文所述之振盪器具備放大雜訊來源,其產生之標準偏差為週期長度之約10%。此高抖動位準改良隨機串流之品質。
IEEE Asian Solid-State Circuits Conference,2009年11月16-18日,臺灣,臺北,第121-124頁,T Nakura等人之文章「Ring Oscillator Based Random Number Generator Utilizing Wake-Up Time Uncertainty」描述一種隨機數產生電路,隨機數產生電路利用環形振盪器之喚醒時間不確定性來產生隨機數。尤其,當環形振盪器之控制電壓自零增加時,環形振盪器在開始振盪之前進入介穩態。介穩性(metastability)引起導致大抖動之環形振盪器之喚醒時間之不確定性,不確定性接著被用於產生隨機數。
IEEE Transactions on Computers,第58卷,2009年9月,第9期,第1198-1210頁,D Holcomb等人之文章「Power-Up SRAM State as an Identifying Fingerprint and Source of True Random Numbers」描述一種使用SRAM之初始狀態作為隨機數來源之技術。然而,此方法之一個問題在於,由製程變化造成之偏斜將總是存在,因此雖然此方法可適用於產生確定性晶片識別符,但不太適用於隨機數產生,因為連續產生之隨機數將有時為相同。
上述之所有各種先前技術隨機數產生器相對複雜且佔據面積可觀,從而使得該等先前技術之隨機數產生器不切合於許多實施態樣。另外,就其包含類比電路的比例,將產生佈線限制,且可能不容易導入不同製程幾何(process geometries)。因此,當製程幾何縮小,而個別組件因此變得更小時,此類技術將需要一最少程度的重新設計,以使該等技術能夠得以應用於此類新製程幾何。
因此,人們希望提供一種改良的機制,可用於產生真隨機數。
根據第一態樣,本發明提供一種用於產生隨機數之裝置,該裝置包含:至少一個產生器電路,該至少一個產生器電路之各者經配置以提供第一操作模式及第二操作模式,在第一操作模式下該至少一個產生器電路之各者 以振盪器的方式操作,且在第二操作模式下該至少一個產生器電路之各者以狀態保持元件的方式操作;控制訊號產生器,控制訊號產生器用於產生控制訊號,以用於輸入至該至少一個產生器電路之各者;該至少一個產生器電路之各者回應於輸入控制訊號係為設定位準(set level)而在第一操作模式下操作,且回應於輸入控制訊號係為清除位準(clear level)而在第二操作模式下操作,在輸入控制訊號自設定位準過渡至清除位準時,該至少一個產生器電路之各者經配置以在狀態保持元件內擷取振盪器之現值,且輸出現值以形成隨機數之至少部分。
根據本發明,提供若干產生器電路,每一產生器電路能夠取決於輸入至產生器電路之控制訊號之值,而以振盪器或作為狀態保持元件的方式來操作。當控制訊號為設定(例如處於邏輯1位準處)時,每一產生器電路以振盪器的方式操作,且當控制訊號為清除(例如處於邏輯0位準處)時,每一產生器電路在狀態保持元件內擷取振盪器之現值,且輸出該值以形成隨機數之至少部分。因此,本發明之裝置提供一種非常簡單且有效率的機制用於產生隨機數,該裝置顯然不如已知先前發明之隨機數產生器複雜,且佔據相對小的面積,因此提供一個用於多種不同用途之實用解決方案。
因為控制訊號同時決定每一產生器電路以振盪器的方式操作之時間長及何時擷取振盪器之當前狀態以輸出為 隨機數之至少部分,所以控制訊號之過渡時固有的定時抖動確保來自每一產生器電路之輸出為隨機的。另外,因為同一組件,亦即每一產生器電路,同時作為雜訊來源(振盪器)及取樣器(狀態保持元件)兩者,所以在裝置內觀察到之熵明顯高於已知先前技術的技術,較高的熵顯示輸出具有較高的隨機性程度。
在一個實施例中,控制訊號之過渡時的定時抖動並非輸出中之隨機性之唯一來源,且另外每一產生器電路係以供應電壓操作,其中供應電壓中之雜訊以隨機方式改變振盪器之振盪頻率。因此,控制訊號中之定時抖動及供應電壓雜訊(本文中亦稱為供應電壓漣波,supply voltage ripple)在設計內一起操作,以使裝置產生具有良好熵之隨機數。
控制訊號產生器可經安排成以各種方式產生控制訊號。然而在一個實施例中,控制訊號產生器經配置以脈衝之方式產生控制訊號,使得脈衝之期間皆為設定位準,且脈衝中之定時抖動影響該至少一個產生器電路之各者以振盪器的方式操作的週期,及在狀態保持元件內擷取振盪器之現值的時間點。在此等實施例中,每當需要輸出一隨機數時就可產生脈衝,且在每次脈衝之間,每一產生器電路將繼續輸出在控制訊號前次自設定狀態過渡至清除狀態時(亦即,在前次脈衝之結尾)所擷取之值。
每一產生器電路可以各種方式建構。然而,在一個實 施例中,振盪器包含複數個振盪器級(stage),該複數個振盪器級形成迴路(loop),且該複數為奇數。另外,每一產生器電路經配置以回應於控制訊號係為清除位準而繞過該等振盪器級之子集,該子集含有奇數個振盪器級,使得剩餘偶數個振盪器級以狀態保持元件的方式操作。此提供特別簡單且有效率的機制,用於在以振盪器的方式與以狀態保持元件的方式之間切換每一產生器電路的操作。
各種振盪器級可以各種方式實施。然而,在一個實施例中,每一振盪器級包含一反相器電路。
每一產生器電路處在第二操作模式下可經若干方式安排以繞過該等振盪器級之子集。然而,在一個實施例中,每一產生器電路進一步包含插入迴路的一多工器,多工器經配置以接收控制訊號,使得當控制訊號為設定時迴路得以維持,且當控制訊號為清除時,多工器藉由繞過該等振盪器級之子集而產生一次迴路。此種使用多工器的方式提供一簡單機制,用於處在第二操作模式下繞過該等振盪器級之子集。
振盪器內所提供之振盪器級的數目為一設計選擇。然而,通常振盪器較需要以高頻率振盪,且因此相對較少數目之振盪器級將有助於此目的。另外,少量的振盪器級亦將使電路較小。在一個特定實施例中,該複數個振盪器級包含三個振盪器級,且該等振盪器級之子集包含單一振盪器級。因此,在此等實施例中,當產生器電路 以振盪器的方式操作時,在每一產生器電路內將存在三個振盪器級,且然後當產生器電路以狀態保持元件的方式操作時,次迴路將僅含有兩個振盪器級,效用上將產生器電路轉變為閂鎖器。
在一個實施例中,每一產生器電路輸出單一位元,單一位元可用來形成一隨機數之部分。因此,在一個實施例中,該裝置包含複數個產生器電路,其各者如上述方式建構,且每一產生器電路在第二操作模式下操作時所輸出之現值形成多位元隨機數之每一不同位元。此解決方案可擴充性非常高,因為僅需依需要來複製產生器電路,以提供任何特定實施用途所需之隨機數大小。
另外,存在複數個產生器電路,其中每一產生器電路產生隨機數之單一位元,本身能用來增加所產生之隨機數之隨機性。尤其,在一個實施例中,控制訊號產生器經配置以經由分發路徑(dissemination path)將控制訊號輸出至該複數個產生器電路,分發路徑經配置以使得該複數個產生器電路在不同時間點觀察到控制訊號之值的轉變。因此,定時抖動不僅影響每一產生器電路內之振盪器之操作時間長度、以及振盪器之輸出被閂鎖的時間兩者,而且由該等不同產生器電路接收控制訊號的不同時間點進一步隨機化由任何特定產生器電路經歷之定時抖動。另外,因為每一產生器電路以振盪器的方式操作之絕對時間稍有不同,所以由每一個別產生器電路經歷之供應電壓漣波亦不同。
分發路徑可以若干方式經配置,使得由該複數個產生器電路在不同時間處觀察到控制訊號之值的轉變。在一個實施例中,分發路徑包含一系列緩衝元件,該系列緩衝元件用來延遲控制訊號沿分發路徑之傳播,且該等產生器電路之各者沿分發路徑自關聯位置接收控制訊號,對於不同產生器電路關聯位置不同。
在另一實施例中,或另外,該複數個產生器電路係置放在資料處理裝置內之不同位置處,使得每一產生器電路之分發路徑之長度取決於產生器電路之位置。藉由將該複數個產生器電路置放在該裝置內之不同位置處,此意謂由各個產生器電路經歷之環境條件取決於該等不同產生器電路在該裝置內之位置而改變,此又將一定程度之隨機性引入至每一產生器電路之操作中。
根據第二態樣,本發明提供一種操作一裝置以產生一隨機數之方法,該方法包含:提供至少一個產生器電路;配置該至少一個產生器電路之各者以提供第一操作模式及第二操作模式,在第一操作模式下該至少一個產生器電路之各者以振盪器的方式操作,且在第二操作模式下該至少一個產生器電路之各者以狀態保持元件的方式操作;產生控制訊號,以用於輸入至該至少一個產生器電路之各者;回應於輸入控制訊號係為設定位準,在第一操作模式下操作該至少一個產生器電路之各者,且回應於輸入控制訊號係為清除位準,在第二操作模式下操作該至少一個產生器電路之各者;在該至少一個產生器電 路之各者內,在輸入控制訊號自設定位準轉變至清除位準時,在狀態保持元件內擷取振盪器之現值,且輸出現值以形成隨機數之至少部分。
根據第三態樣,本發明提供一種用於產生一隨機數之裝置,該裝置包含:至少一個產生器構件,該至少一個產生器構件之各者用於提供第一操作模式及第二操作模式,在第一操作模式下該至少一個產生器構件之各者用於以振盪器構件的方式操作,且在第二操作模式下該至少一個產生器構件之各者用於以狀態保持構件的方式操作;控制訊號產生構件,該控制訊號產生構件用於產生控制訊號,以用於輸入至該至少一個產生器構件之各者;該至少一個產生器構件之各者用於回應於該輸入控制訊號係為設定位準而在第一操作模式下操作,且用於回應於輸入控制訊號係為清除位準處而在第二操作模式下操作,在輸入控制訊號自設定位準轉變至清除位準時,該至少一個產生器構件之各者用於在狀態保持構件內擷取該振盪器構件之現值,且用於輸出現值以形成隨機數之至少部分。
在描述本發明之實施例之前,將參閱第1圖及第2圖描述數位設計中之不確定性之兩個來源,第1圖圖示定時抖動且第2圖圖示供應電壓漣波。
定時抖動定義為週期訊號隨時間之變化。舉例而言, 若全域時脈訊號為分散式的,則時脈邊緣出現的確切時間存在一些不確定性。抖動的存在有許多潛在原因,且其中最重要的原因為電子電路中之隨機雜訊來源。如第1圖中所示,雖然在理想狀況下訊號可在由第1圖中之垂直轉變10所示之時間點自邏輯零轉變至邏輯一位準,但是該邊緣的時間點事實上可在第1圖中之點15與點20之間的不同處。類似地,自邏輯一位準至邏輯零位準的轉變可理想地發生在由第1圖中之數字25所指示之垂直轉變處,但是事實上該轉變可在點30與點35之間的任何時間發生。因此,雖然訊號可存在目標脈衝寬度40,但是分散式脈衝之寬度可從最小脈衝寬度45至最大脈衝寬度50之間,且為兩者之間的任何寬度。由於此等變化,幾乎不可能控制超過合理界限之脈衝寬度。在以下實施例中,利用此有益之不確定性來產生隨機位元樣式(pattern)。
除定時抖動之外,供應電壓雜訊(本文中亦稱為供應電壓漣波)亦提供數位設計中不確定性之來源。供應電壓雜訊為供應電壓上之暫態雜訊,該暫態雜訊的存在有種種原因,包括電荷注入、耦合等。因此,雖然供應電壓將理想地在第2圖中所示之位準60處,但是雜訊將使該位準隨時間推移而改變,如由虛線70所示。現實中,對於1 V之供應電壓觀察到高達10 mV至25 mV之峰對峰漣波雜訊是常見的。
在下文所述之實施例中,利用隨時間而增加的不確定 性(主要為抖動)及供應電壓漣波,以產生隨機位元。第3圖中示意性地圖示在一實施例中用來產生一隨機位元之設計。用來產生單一隨機位元之產生器電路100經配置以提供第一操作模式及第二操作模式兩者,其中選定之模式取決於經路徑130被提供為控制訊號之選擇訊號之值。詳言之,選擇訊號用來控制多工器120,多工器120插入包含若干反相器電路105、110、115之迴路中。當選擇訊號為設定時(在第3圖中所示之實施例中,訊號被設定為邏輯一值),應理解反相器元件105、110、115形成振盪器級之迴路,且電路100接著以振盪器的方式動作,其中在路徑140上觀察到的訊號之變化為訊號沿該迴路傳送之頻率的函數。
然而,當該選擇訊號轉變至該清除位準(在此實例中為邏輯零位準)時,則多工器120選擇其他輸入,因此產生僅由反相器元件105及反相器元件110構成之次迴路,反相器元件115被排除在新形成之次迴路之外。此時,反相器元件105、110形成閂鎖器,且因此在路徑140處觀察到的輸出不變,從而保持在該選擇訊號自該設定狀態轉變至該清除狀態時所出現之值。
在一個實施例中,提供該選擇訊號作為脈衝,以便當需要產生隨機位元時,確定(assert)脈衝,從而使選擇訊號自清除位準轉變至設定位準,且接著在一段時間之後轉變回至清除位準。由於如先前參考第1圖所述之定時抖動所致,脈衝之確實寬度將有所變化,且因此電路 100以振盪器的方式操作之時間量將取決於定時抖動而改變。另外,電路不再作為振盪器而變為狀態保持元件之實際時間點,亦將取決於定時抖動而改變。此外,如先前參考第2圖所述之供應電壓漣波雜訊,將改變振盪之頻率,因為反相器元件105、110、115中之每一個將由供應電壓驅動,且供應電壓中之任何雜訊將改變該等反相器元件之操作速度。因此,當取消(de-assert)該脈衝時經由路徑140輸出之值將為隨機的。
雖然在第3圖中圖示三個反相器元件105、110、115,但是提供於迴路內之振盪器級之確實數目可依設計選擇而異,前提為提供奇數個振盪器級以確保在第一操作模式中電路100以振盪器的方式動作。另外,亦可改變清除選擇訊號時繞過之振盪器級之確實數目,前提為繞過奇數個級,使得此後一旦電路100處於第二操作模式下,在次迴路內含有偶數個級。
第4圖示意性地圖示當取消脈衝時電壓漣波及定時抖動可如何影響由電路100所閂鎖之值。首先,理想狀況顯示為該選擇訊號在時間點200轉變至該設定狀態,且接著在步級215處轉變回該清除狀態。亦假設將一恆定電壓供應提供至電路,使得交替振盪值230、240之寬度為相同。在此理想狀況中,將看出閂鎖值為如由線250所示之邏輯一位準。如第3圖所示,此實際上將意謂,在轉變215的時間點提供邏輯零值作為至多工器120之上輸入,從而使路徑140上之輸出處於邏輯一位準250 處。
在第4圖中之理想狀況下方,圖示電壓漣波之效應。同樣地,假設選擇訊號在時間點200處轉變至設定狀態且在時間點215處轉變回清除狀態。然而,電壓供應線上之雜訊影響振盪之頻率,使得各個振盪峰值255、260、262、264、266、268、270之持續時間不同。因此,在此實例中,在時間點215處閂鎖邏輯零值,如由輸出線275所示。
因此,取決於雜訊量,即使在沒有定時抖動之情況下,電壓漣波雜訊亦可直接導致閂鎖一不同值。
第4圖之最下圖圖示定時抖動之效應,定時抖動可影響該選擇訊號之轉變至設定狀態及/或在脈衝結尾處轉變至清除狀態兩者。第4圖之最下圖圖示實例,其中在時間點280處,亦即,比理想狀況稍早處,確定選擇訊號為設定狀態,且因此振盪器比預計早地開始振盪。另外,出於完整性,假設在時間點285處取消脈衝,該圖亦圖示在取消脈衝時發生一些抖動。又,在此實例中,此導致輸出邏輯零值,如由線290所示。
儘管為簡單起見第4圖圖示之電壓漣波與定時抖動為獨立發生,但是在現實系統中電壓漣波及定時抖動兩者將同時發生,且當將該選擇訊號清除為邏輯零值時,電壓漣波及定時抖動兩者同時發生將對最終自電路100輸出之該值添加可觀的不確定性。雖然此方案簡單,但是提供了一種強大且低成本的方法來產生隨機輸出位元。
在許多系統中,人們將希望產生一多位元隨機數,且此可容易地藉由第3圖之單元結構來達成,只需依需要個數複製單元結構,每個單元結構之實體(instance)產生隨機數之一個位元。此示意性地圖示於第5圖中作為產生8位元隨機數之實例。因此,提供第3圖之振盪器電路之八個實體300、305、310、315、320、325、330及335,每個電路根據相同供應電壓400操作。選擇訊號由選擇訊號產生器410產生且經由分發路徑分散至隨機位元產生器電路中之每一個。
在此實例中,使用一系列緩衝電路340、345、350、355、360、365、370以確保由選擇訊號產生器410產生之脈衝,由不同隨機位元產生器電路收到的時間點不同。此確保抖動由於每個緩衝器中之隨機雜訊來源而最大化,且亦確保輸入至每個隨機位元產生器電路之選擇訊號中之抖動不相關。每個隨機位元產生器接著經受不同定時抖動,且在隨機位元產生器以振盪器的方式操作的期間亦經受不同的供應電壓漣波雜訊,從而確保每個位元產生器之輸出為隨機的,且與任何其他隨機位元產生器之輸出不相關。因此,在路徑380、382、384、386、388、390、392及394上由信號輸出產生8位元隨機數。
此類實施例提供特別簡單且有效的機制,可用於在諸如積體電路之資料處理裝置內產生隨機數。因為其設計簡單且成本低(就面積而言),且對於不同大小的隨機數可容易擴充,所以可用於多種應用中。
因為隨機數之每個位元係由諸如第3圖中所示之分離隨機位元產生器電路產生,所以彼等個別隨機位元產生器電路可根據需要分佈於積體電路各處。事實上,若採取步驟以將個別隨機位元產生器廣泛地分佈於積體電路各處,則彼等不同隨機位元產生器電路將暴露於不同的環境條件,自然將經歷不同的定時抖動及不同的供應電壓漣波,藉此進一步改良所產生之數字的隨機性。
根據上文所述實施例,同一電路用來提供雜訊來源(振盪器)及取樣器(狀態保持元件)。除提供特別簡單且小面積的電路之外,此方法相較已知先前技術方法亦改良系統之熵,從而相對於已知先前技術電路提供了改良之輸出隨機性。
在上文所述實施例中,隨機數之熵為供應雜訊及定時抖動之函數,且就此而言將很難對此裝置實施側通道攻擊(side channel attack)。事實上,任何側通道攻擊預期將進一步改良熵,因此對隨機數之產生製造更大的隨機性。
儘管本文已描述特定實施例,但是應瞭解本發明不限於該等特定實施例,且可在本發明之範疇內對該等特定實施例進行許多修改及添加。舉例而言,在不脫離本發明之範疇的情況下,以下附屬項之特徵可與獨立項之特徵做各種組合。
10‧‧‧垂直轉變
15‧‧‧點
20‧‧‧點
25‧‧‧垂直轉變
30‧‧‧點
35‧‧‧點
40‧‧‧目標脈衝寬度
45‧‧‧最小脈衝寬度
50‧‧‧最大脈衝寬度
60‧‧‧位準
70‧‧‧虛線
100‧‧‧產生器電路
105‧‧‧反相器
110‧‧‧反相器
115‧‧‧反相器
120‧‧‧多工器
130‧‧‧路徑
140‧‧‧路徑
200‧‧‧時間點
205‧‧‧時間點
210‧‧‧時間點
215‧‧‧時間點
220‧‧‧時間點
225‧‧‧時間點
230‧‧‧振盪值
240‧‧‧振盪值
250‧‧‧線/邏輯一位準
255‧‧‧振盪峰值
260‧‧‧振盪峰值
262‧‧‧振盪峰值
264‧‧‧振盪峰值
266‧‧‧振盪峰值
268‧‧‧振盪峰值
270‧‧‧振盪峰值
275‧‧‧輸出線
280‧‧‧時間點
285‧‧‧時間點
290‧‧‧線
300‧‧‧振盪器電路
305‧‧‧振盪器電路
310‧‧‧振盪器電路
315‧‧‧振盪器電路
320‧‧‧振盪器電路
325‧‧‧振盪器電路
330‧‧‧振盪器電路
335‧‧‧振盪器電路
340‧‧‧緩衝電路
345‧‧‧緩衝電路
350‧‧‧緩衝電路
355‧‧‧緩衝電路
360‧‧‧緩衝電路
365‧‧‧緩衝電路
370‧‧‧緩衝電路
380‧‧‧路徑
382‧‧‧路徑
384‧‧‧路徑
386‧‧‧路徑
388‧‧‧路徑
390‧‧‧路徑
392‧‧‧路徑
394‧‧‧路徑
400‧‧‧供應電壓
410‧‧‧選擇訊號產生器
將僅以舉例之方式,參考在隨附圖式中所圖示之本發明之實施例來進一步描述本發明,圖式中:第1圖為定時抖動之示意圖;第2圖為供應電壓漣波雜訊之示意圖;第3圖圖示根據一個實施例,用作隨機位元產生器電路之一單元結構;第4圖為根據一個實施例,圖示電壓漣波及定時抖動如何影響由第3圖之電路所閂鎖之值的示意圖;以及第5圖為根據一個實施例,圖示第3圖之電路之多個實體可如何經組合以產生多位元隨機數的示意圖。
300-335‧‧‧振盪器電路
340-370‧‧‧緩衝電路
380-394‧‧‧路徑
400‧‧‧供應電壓
410‧‧‧選擇訊號產生器

Claims (13)

  1. 一種用於產生一隨機數之裝置,該裝置包含:至少一個產生器電路,該至少一個產生器電路之各者經配置以提供一第一操作模式及一第二操作模式,在該第一操作模式下該至少一個產生器電路之各者以一振盪器的方式操作,且在該第二操作模式下該至少一個產生器電路之各者以一狀態保持元件的方式操作;一控制訊號產生器,該控制訊號產生器用於產生一控制訊號,以用於輸入至該至少一個產生器電路之各者;該至少一個產生器電路之各者回應於該輸入控制訊號係為一設定位準而在該第一操作模式下操作,且回應於該輸入控制訊號係為一清除位準而在該第二操作模式下操作,在該輸入控制訊號自該設定位準轉變至該清除位準時,該至少一個產生器電路之各者經配置以在該狀態保持元件內擷取該振盪器之一現值,且輸出該現值以形成該隨機數之至少部分。
  2. 如請求項1所述之裝置,其中:該控制訊號產生器經配置以一脈衝之方式產生該控制訊號,使得該脈衝之持續期間皆為該設定位準,且該脈衝中之定時抖動影響該至少一個產生器電路之各者以該振盪器的方式操作的週期,及在該狀態保持元件內擷取該振盪器之該現值的一時間點。
  3. 如請求項1所述之裝置,其中該至少一個產生器電路之各者係以一供應電壓操作,且該供應電壓中之雜訊改變該振盪器之一振盪頻率。
  4. 如請求項1所述之裝置,其中:該振盪器包含複數個振盪器級,該複數個振盪器級形成一迴路,該複數為一奇數;且該至少一個產生器電路之各者經配置以回應於該控制訊號係為該清除位準時,而繞過該等振盪器級之一子集,該子集含有奇數個振盪器級,使得剩餘偶數個振盪器級以該狀態保持元件的方式操作。
  5. 如請求項4所述之裝置,其中每一振盪器級包含一反相器電路。
  6. 如請求項4所述之裝置,其中該至少一個產生器電路之各者進一步包含插入該迴路的一多工器,該多工器經配置以接收該控制訊號,使得當該控制訊號為設定時該迴路得以維持,且當該控制訊號為清除時,該多工器藉由繞過該等振盪器級之該子集而產生一次迴路。
  7. 如請求項4所述之裝置,其中該複數個振盪器級包含三個振盪器級,且該等振盪器級之該子集包含一單一振盪 器級。
  8. 如請求項1所述之裝置,其中:該至少一個產生器電路包含複數個產生器電路;且每一產生器電路在該第二操作模式下操作時所輸出之該現值形成一多位元隨機數之一不同位元。
  9. 如請求項8所述之裝置,其中該控制訊號產生器經配置以經由一分發路徑將該控制訊號輸出至該複數個產生器電路,該分發路徑經配置以使得該複數個產生器電路在不同時間點觀察到該控制訊號之值的轉變。
  10. 如請求項9所述之裝置,其中該分發路徑包含一系列緩衝元件,該系列緩衝元件用來延遲該控制訊號沿該分發路徑之傳播,且該等產生器電路之各者沿該分發路徑自一關聯位置接收該控制訊號,對於不同產生器電路該關聯位置不同。
  11. 如請求項9所述之裝置,其中該複數個產生器電路係置放在一資料處理裝置內之不同位置處,使得每一產生器電路之該分發路徑之長度取決於該產生器電路之位置。
  12. 一種操作一裝置以產生一隨機數之方法,該方法包含以下步驟: 提供至少一個產生器電路;配置該至少一個產生器電路之各者以提供一第一操作模式及一第二操作模式,在該第一操作模式下該至少一個產生器電路之各者以一振盪器的方式操作,且在該第二操作模式下該至少一個產生器電路之各者以一狀態保持元件的方式操作;產生一控制訊號,以用於輸入至該至少一個產生器電路之各者;回應於該輸入控制訊號係為一設定位準,在該第一操作模式下操作該至少一個產生器電路之各者,且回應於該輸入控制訊號係為一清除位準,在該第二操作模式下操作該至少一個產生器電路之各者;在該至少一個產生器電路之各者內,在該輸入控制訊號自該設定位準轉變至該清除位準時,在該狀態保持元件內擷取該振盪器之一現值,且輸出該現值以形成該隨機數之至少部分。
  13. 一種用於產生一隨機數之裝置,該裝置包含:至少一個產生器構件,該至少一個產生器構件之各者用於提供一第一操作模式及一第二操作模式,在該第一操作模式下該至少一個產生器構件之各者用於以一振盪器構件的方式操作,且在該第二操作模式下該至少一個產生器構件之各者用於以一狀態保持構件的方式操作; 一控制訊號產生構件,該控制訊號產生構件用於產生一控制訊號,以用於輸入至該至少一個產生器構件之各者;該至少一個產生器構件之各者用於回應於該輸入控制訊號係為一設定位準而在該第一操作模式下操作,且用於回應於該輸入控制訊號係為一清除位準而在該第二操作模式下操作,在該輸入控制訊號自該設定位準轉變至該清除位準時,該至少一個產生器構件之各者用於在該狀態保持構件內擷取該振盪器構件之一現值,且用於輸出該現值以形成該隨機數之至少部分。
TW101104744A 2011-03-07 2012-02-14 用於產生隨機數之裝置與方法 TWI520055B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US13/064,121 US8285767B2 (en) 2011-03-07 2011-03-07 Apparatus and method for generating a random number

Publications (2)

Publication Number Publication Date
TW201237744A TW201237744A (en) 2012-09-16
TWI520055B true TWI520055B (zh) 2016-02-01

Family

ID=45991772

Family Applications (1)

Application Number Title Priority Date Filing Date
TW101104744A TWI520055B (zh) 2011-03-07 2012-02-14 用於產生隨機數之裝置與方法

Country Status (4)

Country Link
US (1) US8285767B2 (zh)
JP (1) JP2012186809A (zh)
GB (1) GB2488875A (zh)
TW (1) TWI520055B (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8886692B2 (en) * 2009-02-09 2014-11-11 Samsung Electronics Co., Ltd. Apparatus for generating random number
KR20110060033A (ko) * 2009-11-30 2011-06-08 박옥희 해상 구조물용 커플링
KR20120101837A (ko) * 2011-03-07 2012-09-17 삼성전자주식회사 난수 발생 장치
US9141338B2 (en) * 2012-11-16 2015-09-22 Arm Limited Storage circuit with random number generation mode
US9015500B2 (en) 2013-01-16 2015-04-21 Qualcomm Incorporated Method and apparatus for using dynamic voltage and frequency scaling with circuit-delay based integrated circuit identification
US9047152B2 (en) * 2013-01-16 2015-06-02 Skymedi Corporation Delay device, method, and random number generator using the same
US8782722B1 (en) 2013-04-05 2014-07-15 Wowza Media Systems, LLC Decoding of closed captions at a media server
US9361066B2 (en) * 2013-04-30 2016-06-07 The United States Of America As Represented By The Secretary Of The Air Force. Random number generator using ring oscillators with initial delay
US11303461B2 (en) * 2013-09-02 2022-04-12 Samsung Electronics Co., Ltd. Security device having physical unclonable function
US9715965B2 (en) * 2014-09-17 2017-07-25 Arm Limited Electrical component with random electrical characteristic
KR102366809B1 (ko) * 2015-07-17 2022-02-23 삼성전자주식회사 애플리케이션 프로세서를 인증하기 위한 디스플레이 드라이버 집적 회로 그리고 이를 포함하는 모바일 장치
KR102077401B1 (ko) * 2018-10-15 2020-02-13 (주)라닉스 인버터 셀의 강도를 이용한 실난수 발생기
US10824396B2 (en) * 2019-01-28 2020-11-03 Nuvoton Technology Corporation Random number generator based on meta-stability of shorted back-to-back inverters
WO2022039671A1 (en) * 2020-08-21 2022-02-24 National University Of Singapore Method and apparatus for true random number generation within cryptographic hardware

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6771104B2 (en) 2002-07-25 2004-08-03 Koninklijke Philips Electronics N.V. Switching electronic circuit for random number generation
JP4248950B2 (ja) * 2003-06-24 2009-04-02 株式会社ルネサステクノロジ 乱数発生装置
GB2447364B (en) * 2005-10-27 2011-02-09 Fortress Gb Ltd A digital component deterministic pseudo-random clock and noise source device based on a random frequency modulated oscillator
US8676870B2 (en) * 2007-09-18 2014-03-18 Seagate Technology Llc Active test and alteration of sample times for a ring based random number generator
KR101481572B1 (ko) * 2007-10-19 2015-01-26 삼성전자주식회사 난수 발생 장치
JP5171315B2 (ja) * 2008-02-28 2013-03-27 株式会社東芝 乱数生成回路
JP5074359B2 (ja) 2008-11-12 2012-11-14 日本電信電話株式会社 乱数生成回路
US8886692B2 (en) * 2009-02-09 2014-11-11 Samsung Electronics Co., Ltd. Apparatus for generating random number
KR20110060033A (ko) * 2009-11-30 2011-06-08 박옥희 해상 구조물용 커플링

Also Published As

Publication number Publication date
US20120233233A1 (en) 2012-09-13
US8285767B2 (en) 2012-10-09
GB201203345D0 (en) 2012-04-11
TW201237744A (en) 2012-09-16
GB2488875A (en) 2012-09-12
JP2012186809A (ja) 2012-09-27

Similar Documents

Publication Publication Date Title
TWI520055B (zh) 用於產生隨機數之裝置與方法
Anandakumar et al. FPGA-based true random number generation using programmable delays in oscillator-rings
Petura et al. A survey of AIS-20/31 compliant TRNG cores suitable for FPGA devices
Johnson et al. An improved DCM-based tunable true random number generator for Xilinx FPGA
Epstein et al. Design and implementation of a true random number generator based on digital circuit artifacts
Gong et al. True random number generators using electrical noise
Vasyltsov et al. Fast digital TRNG based on metastable ring oscillator
Wang et al. High-throughput portable true random number generator based on jitter-latch structure
Liu et al. A bias-bounded digital true random number generator architecture
US9047152B2 (en) Delay device, method, and random number generator using the same
US20120213358A1 (en) Digital Random Number Generator Based on Digitally-Controlled Oscillators
US7664807B2 (en) Apparatus for providing a random bit stream
KR20160012121A (ko) 난수 생성기에 대한 피드백 제어의 동적 튜닝을 위한 시스템 및 방법
Frustaci et al. A high-speed FPGA-based true random number generator using metastability with clock managers
Varchola et al. New universal element with integrated PUF and TRNG capability
Günay et al. IC random number generator exploiting two simultaneous metastable events of tetrahedral oscillators
Danger et al. Fast true random generator in FPGAs
Lee et al. Implementing a phase detection ring oscillator PUF on FPGA
Wei et al. A perspective of using frequency-mixing as entropy in random number generation for portable hardware cybersecurity ip
Zhang et al. A High Throughput STR-based TRNG by Jitter Precise Quantization Superposing
Sreekumar et al. Selection of an optimum entropy source design for a true random number generator
Stanchieri et al. An fpga-based architecture of true random number generator for network security applications
JP2014102833A (ja) 乱数生成モードを備える記憶回路
JP5356362B2 (ja) 乱数生成回路
Kaysici et al. Random number generator based on metastabilities of ring oscillators and irregular sampling