TW201430699A - 用於亂數產生器之延遲裝置及方法及其亂數產生器 - Google Patents

用於亂數產生器之延遲裝置及方法及其亂數產生器 Download PDF

Info

Publication number
TW201430699A
TW201430699A TW102111978A TW102111978A TW201430699A TW 201430699 A TW201430699 A TW 201430699A TW 102111978 A TW102111978 A TW 102111978A TW 102111978 A TW102111978 A TW 102111978A TW 201430699 A TW201430699 A TW 201430699A
Authority
TW
Taiwan
Prior art keywords
delay
random
signal
number generator
random number
Prior art date
Application number
TW102111978A
Other languages
English (en)
Inventor
Feng-Shen Chu
Original Assignee
Skymedi Corp
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 Skymedi Corp filed Critical Skymedi Corp
Publication of TW201430699A publication Critical patent/TW201430699A/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/582Pseudo-random number generators
    • 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K3/00Circuits for generating electric pulses; Monostable, bistable or multistable circuits
    • H03K3/84Generating pulses having a predetermined statistical distribution of a parameter, e.g. random pulse generators

Abstract

一種用於一亂數產生器中的延遲裝置,用來產生一訊號以提供予一隨機元件,該延遲裝置包含有一延遲模組,用來產生複數個延遲訊號,其中每一延遲訊號具有一延遲時間,且該延遲時間不同於其它延遲訊號之延遲時間;一多工器,耦接於該延遲模組,用來輸出該複數個延遲訊號中一延遲訊號作為一延遲觸發訊號,以控制該隨機元件產生一隨機位元值;以及一延遲選擇裝置,耦接於該多工器,用來產生一選擇訊號,該選擇訊號控制該多工器選擇輸出該延遲訊號作為該延遲觸發訊號。

Description

用於亂數產生器之延遲裝置及方法及其亂數產生器
本發明係指一種用於一亂數產生器之延遲裝置及方法及其亂數產生器,尤指一種可產生延遲的輸入訊號以提供予隨機元件,進而提升隨機性之延遲裝置及方法及其亂數產生器。
亂數產生器普遍應用於密碼學中,用來提供隨機的數值或不定值,以產生可用於同步或非同步加密演算法之隨機數、亂數或金鑰。習知亂數產生器之亂數源(entropy source)具有數個相同或不同的隨機元件,而每一隨機元件之輸出值可相互結合,進而產生一隨機的輸出結果。
習知隨機元件可分為二種類型:延遲變異型(jitter-based)及亞穩態型(metastability-based),此二類型之隨機元件皆可用來產生隨機位元值。一般來說,隨機位元值之隨機性會受到環境因素的影響,如製程、電壓及溫度等。舉例來說,製程的偏移會影響隨機性。由於製程偏移造成隨機元件出現某種程度的一致性,使得隨機元件所輸出的隨機位元值因此偏離真正的隨機。在某些情況下,此一致性可能造成隨機元件持續產生相同的位元值輸出(如一連串的1或一連串的0),抑或輸出的隨機位元值具有週期性。如此一來,亂數產生器之隨機性會降低。
為達到較高的隨機性,習知亂數產生器之亂數源往往使用大量的 隨機元件並結合這些隨機元件的輸出結果。然而,大量的隨機元件會消耗大量的電能並佔據大幅電路面積。除此之外,隨機元件通常是透過製程上的標準邏輯單元(standard logic cell)電路來實現,而每一標準邏輯單元皆具有某種程度的一致性,因此,將這些具有同質性的隨機元件之輸出值結合,所產生的結果往往不具有令人滿意的隨機性。再者,用於隨機元件的觸發訊號通常來自於同一個系統時脈,而系統時脈的週期性使得不同隨機元件可能具有相似的觸發結果。有鑑於此,習知技術實有改善之必要。
因此,本發明之主要目的即在於提供一種可產生延遲的輸入訊號以提供予隨機元件,進而提升隨機性之延遲裝置及方法及其亂數產生器。
本發明揭露一種用於一亂數產生器中的延遲裝置,用來產生一訊號以提供予一隨機元件,該延遲裝置包含有一延遲模組,用來產生複數個延遲訊號,其中每一延遲訊號具有一延遲時間,且該延遲時間不同於其它延遲訊號之延遲時間;一多工器,耦接於該延遲模組,用來輸出該複數個延遲訊號中一延遲訊號作為一延遲觸發訊號,以控制該隨機元件產生一隨機位元值;以及一延遲選擇裝置,耦接於該多工器,用來產生一選擇訊號,該選擇訊號控制該多工器選擇輸出該延遲訊號作為該延遲觸發訊號。
本發明另揭露一種亂數產生器,包含有一隨機元件;以及一延遲裝置,用來產生一訊號以提供予該隨機元件。該延遲裝置包含有一延遲模組,用來產生複數個延遲訊號,其中每一延遲訊號具有一延遲時間,且該延遲時間不同於其它延遲訊號之延遲時間;一多工器,耦接於該延遲模組,用來輸出該複數個延遲訊號中一延遲訊號作為一延遲觸發訊號,以控制該隨機元件產生一隨機位元值;以及一延遲選擇裝置,耦接於該多工器,用來產生一選擇訊號,該選擇訊號控制該多工器選擇輸出該延遲訊號作為該延遲觸發訊號。
本發明另揭露一種亂數產生器,包含有複數個隨機元件;以及一延遲裝置,用來產生一訊號以提供予該複數個隨機元件中每一隨機元件。該延遲裝置包含有一延遲模組,用來產生複數個延遲訊號,其中每一延遲訊號具有一延遲時間,且該延遲時間不同於其它延遲訊號之延遲時間;複數個多工器,其中每一多工器皆耦接於該延遲模組,用來輸出該複數個延遲訊號中一延遲訊號作為一延遲觸發訊號,以控制該複數個隨機元件中每一隨機元件產生一隨機位元值;以及一延遲選擇裝置,耦接於該複數個多工器,用來產生一選擇訊號,該選擇訊號控制該複數個多工器中每一多工器選擇輸出該延遲訊號作為該延遲觸發訊號。
本發明另揭露一種於一亂數產生器中產生一訊號以提供予一隨機元件之方法,包含有產生複數個延遲訊號,其中每一延遲訊號具有一延遲時間,且該延遲時間不同於其它延遲訊號之延遲時間;以及產生一選擇訊號,該選擇訊號選擇輸出該複數個延遲訊號中一延遲訊號作為一延遲觸發訊號,以控制該隨機元件產生一隨機位元值。
10‧‧‧亞穩態型隨機元件
100、102‧‧‧反相器
110、112‧‧‧延遲單元
120、122‧‧‧多工器
Q‧‧‧輸出訊號
TRIG‧‧‧觸發訊號
TRIG_D‧‧‧延遲觸發訊號
60‧‧‧亂數產生器
600‧‧‧延遲裝置
602‧‧‧延遲模組
604‧‧‧多工器
606‧‧‧延遲選擇裝置
SDL‧‧‧選擇訊號
Nd_1~Nd_N‧‧‧延遲訊號
70‧‧‧流程
700~712‧‧‧步驟
80‧‧‧流程
800~814‧‧‧步驟
90‧‧‧亂數產生器
900‧‧‧延遲裝置
902‧‧‧延遲模組
904_1~904_X‧‧‧多工器
906‧‧‧延遲選擇裝置
910‧‧‧亂數產生器控制單元
950_1~950_X‧‧‧隨機元件
TRIG_D1~TRIG_DX‧‧‧延遲觸發訊號
1000‧‧‧亂數產生器
1002‧‧‧延遲模組
1004_1~1004_X‧‧‧多工器
1006‧‧‧延遲選擇裝置
1010‧‧‧延遲裝置
1050_1~1050_X‧‧‧隨機元件
FF_1~FF_X‧‧‧正反器
1100‧‧‧亂數源
RC_1~RC_Y‧‧‧隨機元件
1150‧‧‧亂數源
RC_1’~RC_X’‧‧‧隨機元件
1152‧‧‧延遲裝置
第1圖為本發明實施例一亞穩態型隨機元件之示意圖。
第2A圖為亞穩態型隨機元件於振盪模式時之等效電路示意圖。
第2B圖為亞穩態型隨機元件於解析模式時之等效電路示意圖。
第3圖為本發明實施例亞穩態型隨機元件之波形示意圖。
第4A圖為使用延遲觸發訊號之亞穩態型隨機元件之波形示意圖。
第4B圖為第4A圖之波形的細部示意圖。
第5圖為本發明實施例一亞穩態之示意圖。
第6圖為本發明實施例一延遲裝置搭配隨機元件之示意圖。
第7圖為本發明實施例一隨機數值產生流程之示意圖。
第8圖為本發明另一實施例一隨機數值產生流程之示意圖。
第9A圖為本發明實施例一亂數產生器之示意圖。
第9B圖為第9A圖所示之延遲觸發訊號的詳細說明之示意圖。
第10圖為本發明另一實施例一亂數產生器之示意圖。
第11A圖為習知一亂數產生器之一亂數源之示意圖。
第11B圖為本發明實施例具有一亂數源搭配一延遲裝置之一亂數產生器之示意圖。
本發明的實施例主要應用於隨機元件。在上述二類型之隨機元件中,由於亞穩態型(metastability-based)隨機元件使用較少電路元件且耗電量較低,相較於須使用環式振盪器(ring oscillator)的延遲變異型(jitter-based)隨機元件來說,亞穩態型隨機元件更容易實現。因此,較佳地,亞穩態型隨機元件可實施於亂數產生器中作為亂數源(entropy source)。請參考第1圖,第1圖為本發明實施例一亞穩態型隨機元件10之示意圖。亞穩態型隨機元件10係透過一雙重單反相器交互回授電路(dual single-inverter cross-feedback circuit)來實現,其包含有反相器100、102、延遲單元110、112及多工器120、122。如第1圖所示,延遲單元110之輸入端耦接於反相器100之輸出端,而延遲單元112之輸入端耦接於反相器102之輸出端。多工器120、122皆具有二輸入端、一輸出端及一控制端。於多工器120中,一輸入端耦接於延遲單元110之輸出端,另一輸入端耦接於反相器102之輸出端,輸出端耦接於反相器100之輸入端,以及控制端接收一觸發訊號TRIG。於多工器122中,一輸入端耦接於延遲單元112之輸出端,另一輸入端耦接於反相器100之輸出端,輸出端耦接於反相器102之輸入端,以及控制端接收觸發訊號TRIG。
請繼續參考第1圖。觸發訊號TRIG同時控制多工器120、122,使隨機元件10可於一振盪模式(oscillation mode)及一解析模式(resolution mode)之間切換。舉例來說,當觸發訊號TRIG為“1”時,多工器120會控制延遲單元110之輸出端耦接至反相器100之輸入端,而多工器122會控制延遲單元112之輸出端耦接至反相器102之輸入端,使隨機元件10處於振盪模式。請參考第2A圖,第2A圖為亞穩態型隨機元件10於振盪模式時之等效電路示意圖。如第2A圖所示,隨機元件10可簡化為二振盪器。一輸出訊號Q可產生於反相器100、102其中之一的輸出端,於振盪模式中,輸出訊號Q係於“1”與“0”之間振盪。另一方面,當觸發訊號TRIG為“0”時,多工器120會控制反相器102之輸出端耦接至反相器100之輸入端,而多工器122會控制反相器100之輸出端耦接至反相器102之輸入端,使隨機元件10處於解析模式。請參考第2B圖,第2B圖為亞穩態型隨機元件10於解析模式時之等效電路示意圖。如第2B圖所示,隨機元件10可簡化為二個以交互回授方式連接之反相器。於解析模式中,輸出訊號Q會隨機趨向於一輸出值“1”或“0”。
請參考第3圖,第3圖為本發明實施例亞穩態型隨機元件10之波形示意圖。如第3圖所示,當觸發訊號TRIG為“1”時,隨機元件10處於振盪模式,且輸出訊號Q為振盪的狀態。當觸發訊號TRIG轉換為“0”時,多工器120、122同時被觸發訊號TRIG所觸發,而隨機元件10進入解析模式,使得輸出訊號Q趨向於一輸出值“1”或“0”。接著,一取樣時脈對輸出訊號Q進行取樣,以輸出取樣結果作為隨機元件10之一隨機位元值。如第3圖所示,輸出訊號Q係於隨機元件10進入解析模式且經過一個時脈之後被取樣,但於其它實施例中,只要隨機元件10仍落在解析模式且輸出訊號Q為穩定狀態,取樣時脈可於任何時間對輸出訊號Q進行取樣,而不限於此。
然而,如上所述,隨機元件之隨機性會受到環境因素(如製程、 電壓及溫度)影響,使得隨機元件所輸出的隨機位元值偏離真正的隨機。為提升亂數產生器的隨機性,可將觸發訊號TRIG延遲不同時間,以在不同時間點對多工器120、122進行觸發。使用延遲的觸發訊號TRIG_D之亞穩態型隨機元件10之波形繪示於第4A圖。如第4A圖所示,延遲觸發訊號TRIG_D在不同時間點由“1”改變至“0”,亦即,延遲觸發訊號TRIG_D在不同時間點對隨機元件10進行觸發,使得隨機元件10在不同時間點由振盪模式切換至解析模式,因此,輸出訊號Q可在不同條件之下由振盪的狀態轉換為固定輸出值“1”或“0”,進而提升輸出訊號Q數值之隨機性。
更具體而言,請參考第4B圖,第4B圖繪示第4A圖之波形的細部。第4B圖包含取樣時脈、延遲觸發訊號TRIG_D及輸出訊號Q之詳細波形。如第4B圖所示,延遲觸發訊號TRIG_D可將原始的觸發訊號TRIG延遲一段時間,進而在一個時序區間內的不同時間點觸發隨機元件10,使其由振盪模式轉換至解析模式。若隨機元件10在某一點A被觸發,此時由於輸出訊號Q振盪至一較高電壓,隨機元件10較可能傾向於輸出“1”。若隨機元件10在某一點B被觸發,此時由於輸出訊號Q振盪至一較低電壓,隨機元件10較可能傾向於輸出“0”。若隨機元件10在某一點C被觸發,此時由於輸出訊號Q振盪至一中間電壓,則隨機元件10輸出“1”或“0”的機率相近。當輸出訊號Q位於點C時可視為亞穩態,其詳細原理繪示於第5圖中。當隨機元件10在點C被觸發時,其呈現的狀態如同放置於一鐘形曲線頂端之一顆球。這顆球可能會在鐘的頂端停留一段時間,接著隨機地往右側(邏輯“1”)或左側(邏輯“0”)落下。因此,上述實施例之高隨機性不僅來自於觸發點在時序區間內的不確定性,同時也來自於亞穩態狀況下的不確定性。
延遲觸發訊號TRIG_D之不同延遲時間可透過一延遲裝置來實現。請參考第6圖,第6圖為本發明實施例一延遲裝置600搭配隨機元件10 之示意圖。延遲裝置600所產生之訊號可用於隨機元件10,其包含有一延遲模組602、一多工器604及一延遲選擇裝置606。延遲模組602可用來產生N個延遲訊號Nd_1~Nd_N,其中N可為大於1的任意正整數。每一延遲訊號Nd_1~Nd_N具有大於或等於零之延遲時間,且每一延遲時間皆不同於其它延遲訊號之延遲時間。多工器604耦接於延遲模組602,用來輸出延遲訊號Nd_1~Nd_N中任一延遲訊號作為一延遲觸發訊號TRIG_D,以控制隨機元件10產生一隨機位元值。延遲選擇裝置606耦接於多工器604,用來產生一選擇訊號SDL,選擇訊號SDL控制多工器604選擇輸出任一延遲訊號作為延遲觸發訊號TRIG_D。
詳細來說,當隨機元件10欲產生一隨機位元值時,觸發訊號TRIG不直接觸發隨機元件10,而是先由延遲裝置600中的延遲模組602所接收。延遲模組602接收觸發訊號TRIG之後,將觸發訊號TRIG分別延遲一段不同的時間,以產生延遲訊號Nd_1~Nd_N,其中每一延遲時間皆大於或等於零且不同於其它延遲訊號之延遲時間。接著,延遲訊號Nd_1~Nd_N分別由多工器604之N個輸入端所接收。延遲選擇裝置606並產生選擇訊號SDL以控制多工器604選擇任一延遲訊號Nd_1~Nd_N並將其輸出,作為延遲觸發訊號TRIG_D。隨機元件10接收到延遲觸發訊號TRIG_D之後,再由振盪模式轉換為解析模式,以產生隨機位元值。由於延遲觸發訊號TRIG_D可能的延遲時間具有一定的變異程度,因此隨機位元值也會具有一定的隨機性。
於部分實施例中,由於延遲裝置600搭配隨機元件10輸出的隨機位元值已具有足夠的隨機性,其足以構成一亂數產生器60。在系統應用上,亂數產生器60係用來產生具有一預設長度之隨機位元值序列。因此,可在亂數產生器60中利用一判斷單元來來判斷亂數產生器60所產生之隨機位元值的數量是否已達到預設長度(即欲產生之隨機位元值數量)。每當系統需要一 串隨機位元值序列時,觸發訊號TRIG經由延遲裝置600的延遲,產生具有任意延遲時間的延遲觸發訊號TRIG_D,以觸發隨機元件10由振盪模式轉換至解析模式,進而產生一隨機位元值。接著,判斷單元判斷亂數產生器60所產生之隨機位元值的數量是否達到預設長度。若判斷單元判斷亂數產生器60所產生之隨機位元值的數量未達到預設長度時,觸發訊號TRIG再次被延遲,以產生下一次的延遲觸發訊號TRIG_D來觸發隨機元件10,進而產生下一個隨機位元值。若判斷單元判斷亂數產生器60所產生之隨機位元值的數量已達到預設長度時,即完成隨機位元值序列的產生流程。
為了產生具有較高隨機性之隨機位元值序列,延遲訊號Nd_1~Nd_N的數量必須夠大。具體來說,數量N必須足以提供延遲選擇裝置606進行選擇,以確保隨機位元值序列中每一隨機位元值皆可對應至延遲訊號Nd_1~Nd_N中的不同延遲訊號,進而達到較高的隨機性。一般來說,當延遲訊號Nd_1~Nd_N之數量愈大,隨機性就會愈高。換句話說,若亂數產生器60欲產生之隨機位元值序列的長度愈長,則亂數產生器60需要更多延遲訊號Nd_1~Nd_N來達到較高的隨機性。
對一串隨機位元值序列而言,延遲選擇裝置606可控制多工器604依任何順序選擇延遲訊號Nd_1~Nd_N。舉例來說,多工器604可依直接順序選擇延遲訊號Nd_1~Nd_N,即Nd_1、Nd_2、Nd_3...。此方式可透過一計數器來實現,例如上數/下數計數器(up/down counter)、環形計數器(ring counter)、強生計數器(Johnson counter)或格雷碼計數器(Gray-code counter)。計數器可用於延遲選擇裝置606中,以根據計數器之類型,依序產生選擇訊號SDL。選擇訊號SDL可透過具有log2(N)位元的二進位訊號來實現,其可控制多工器604在N個延遲訊號之間進行選擇。若延遲選擇裝置606透過一計數器來實現時,選擇訊號SDL可視為計數器之輸出訊號,使得延遲訊號Nd_1 ~Nd_N可根據計數器之類型,依照一特定順序進行選擇。一般來說,計數器之結構較為簡單,可降低延遲裝置600的耗電及電路面積。
若欲產生具有更高隨機性之隨機位元值序列,延遲訊號Nd_1~Nd_N之選擇可透過更複雜的方式進行。舉例來說,延遲訊號Nd_1~Nd_N可依照一虛擬隨機(pseudo random)之順序進行選擇。此選擇方式可透過一線性回授位移暫存器(Linear Feedback Shift Register,LFSR)來實現,線性回授位移暫存器係用於延遲選擇裝置606中,以產生虛擬隨機順序的選擇訊號SDL。於部分實施例中,亂數產生器60另包含一亂數產生器控制單元(未繪示)。亂數產生器控制單元會產生一種子值,種子值可用來輸入延遲選擇裝置606,進而產生選擇訊號SDL,亂數產生器控制單元並產生觸發訊號TRIG以提供予延遲模組602。種子值可針對用於延遲選擇裝置606之計數器或線性回授位移暫存器進行啟始化。每當系統需要一隨機位元值序列而啟動亂數產生器60時,亂數產生器控制單元可產生不同種子值,用以啟始化計數器或線性回授位移暫存器,進而提升亂數產生器60之隨機性。
上述關於亂數產生器60之運作可歸納為一隨機數值產生流程70。如第7圖所示,隨機數值產生流程70包含以下步驟:步驟700:開始。
步驟702:產生一種子值,以對延遲選擇裝置606進行啟始化。
步驟704:產生觸發訊號TRIG,以提供予延遲模組602。
步驟706:延遲模組602延遲觸發訊號TRIG以產生延遲訊號Nd_1~Nd_N,其中每一延遲訊號Nd_1~Nd_N具有一延遲時間,且每一延遲訊號Nd_1~Nd_N之延遲時間互不相同。
步驟708:延遲選擇裝置606產生選擇訊號SDL,以控制多工器604選擇輸出延遲訊號Nd_1~Nd_N中一延遲訊號作為延遲觸發訊號 TRIG_D,延遲觸發訊號TRIG_D則控制隨機元件10產生一隨機位元值。
步驟710:判斷單元判斷亂數產生器60所產生之隨機位元值的數量是否達到欲產生之一預設數量。若是,則執行步驟712;若否,則執行步驟704。
步驟712:結束。
於部分實施例中,延遲訊號Nd_1~Nd_N的選擇可由亂數產生器60先前輸出的隨機位元值或其它亂數源進行控制。此選擇方式可依據亂數產生器60先前輸出的一隨機位元值或數個隨機位元值的結合來決定,或透過其它亂數源來決定。舉例來說,亂數產生器控制單元或延遲選擇裝置606可接收隨機元件10之輸出訊號Q,並根據先前接收的一輸出訊號Q或部分輸出訊號Q的結合來產生選擇訊號SDL。如此一來,選擇訊號SDL可依照真正隨機的順序來控制多工器604選擇延遲訊號Nd_1~Nd_N,可更進一步提升亂數產生器60之隨機性。
上述關於亂數產生器60根據先前的隨機位元值選擇延遲訊號Nd_1~Nd_N之運作可歸納為一隨機數值產生流程80。隨機數值產生流程80與隨機數值產生流程70略有不同。如第8圖所示,隨機數值產生流程80包含以下步驟:步驟800:開始。
步驟802:產生一種子值,以根據亂數產生器60先前輸出的隨機位元值,對延遲選擇裝置606進行啟始化。
步驟804:產生觸發訊號TRIG,以提供予延遲模組602。
步驟806:延遲模組602延遲觸發訊號TRIG以產生延遲訊號Nd_1~Nd_N,其中每一延遲訊號Nd_1~Nd_N具有一延遲時間,且每一延遲訊號Nd_1~Nd_N之延遲時間互不相同。
步驟808:延遲選擇裝置606產生選擇訊號SDL,以控制多工器604選擇輸出延遲訊號Nd_1~Nd_N中一延遲訊號作為延遲觸發訊號TRIG_D,延遲觸發訊號TRIG_D則控制隨機元件10產生一隨機位元值。
步驟810:亂數產生器控制單元接收隨機元件10所輸出的隨機位元值。
步驟812:判斷單元判斷亂數產生器60所產生之隨機位元值的數量是否達到欲產生之一預設數量。若是,則執行步驟814;若否,則執行步驟802。
步驟814:結束。
為達到更高的隨機性,一亂數產生器可使用多個隨機元件搭配一延遲裝置來實現,多個隨機元件產生的每一隨機位元值可相互結合(如使用互斥或(exclusive-or)邏輯閘),以產生具有更高隨機性的另一隨機位元值。請參考第9圖,第9圖為本發明另一實施例一亂數產生器90之示意圖。亂數產生器90包含一延遲裝置900及隨機元件950_1~950_X。延遲裝置900包含一延遲模組902、多工器904_1~904_X及一延遲選擇裝置906。延遲模組902及延遲選擇裝置906之架構及功能分別與延遲模組602及延遲選擇裝置606相似,且每一多工器904_1~904_X之架構及功能亦相似於多工器604,因此,用於這些模組的相同訊號皆以相同符號表示。實際上,具有多個隨機元件之亂數產生器亦可藉由複製多個亂數產生器60來實現。然而,多個亂數產生器的結合可能造成更多耗電及更大的電路面積。相較之下,亂數產生器90僅使用一個延遲模組902及一個延遲選擇裝置906,使得耗電及電路面積大幅降低。
亂數產生器90與亂數產生器60的主要差異在於亂數產生器90具有X個隨機元件950_1~950_X。由於每一隨機元件皆必須接收一延遲觸發 訊號,因此須使用X個多工器904_1~904_X來產生X個延遲觸發訊號,以分別提供於X個隨機元件950_1~950_X。此外,亂數產生器90另包含一亂數產生器控制單元910,用來產生一種子值,以對延遲選擇裝置906進行啟始化,進而產生選擇訊號SDL。亂數產生器控制單元910可能另產生觸發訊號TRIG以提供予延遲模組902。
詳細來說,當亂數產生器90欲產生一隨機位元值時,觸發訊號TRIG先由延遲模組902所接收。延遲模組902接收觸發訊號TRIG之後,將觸發訊號TRIG分別延遲一段不同的時間,以產生延遲訊號Nd_1~Nd_N,其中每一延遲時間皆大於或等於零且不同於其它延遲訊號之延遲時間。接著,延遲訊號Nd_1~Nd_N同時由每一多工器904_1~904_X之輸入端所接收。延遲選擇裝置906利用選擇訊號SDL來控制每一多工器904_1~904_X選擇任一延遲訊號Nd_1~Nd_N,接著,每一多工器904_1~904_X輸出所選擇的延遲訊號,以分別作為延遲觸發訊號TRIG_D1~TRIG_DX中相對應的延遲觸發訊號。每一隨機元件950_1~950_X可接收延遲觸發訊號TRIG_D1~TRIG_DX中相對應的延遲觸發訊號,從而由振盪模式轉換為解析模式,以產生隨機位元值。由於延遲觸發訊號TRIG_D可能的延遲時間具有一定的變異程度,因此隨機位元值也會具有一定的隨機性。除此之外,隨機元件950_1~950_X所產生的X個隨機位元值亦可相互結合(如使用互斥或邏輯閘),以產生具有更高隨機性之另一隨機位元值作為亂數產生器90之輸出隨機位元值,進而提升亂數產生器90之隨機性。
值得注意的是,不同延遲觸發訊號TRIG_D1~TRIG_DX可由每一多工器904_1~904_X依照不同方式選擇而得。於部分實施例中,多工器904_1~904_X可依照不同方式耦接於延遲模組902,以依照不同方式選擇延遲觸發訊號TRIG_D1~TRIG_DX。換句話說,延遲模組902與不同多工器 904_1~904_X之間可具有不同的接線方式。舉例來說,延遲模組902與多工器904_1之輸入端之間的接線可能依照延遲訊號Nd_1、Nd_2、Nd_3...、Nd_N之順序連接,延遲模組902與多工器904_2之輸入端之間的接線可能依照延遲訊號Nd_2、Nd_3...、Nd_N、Nd_1之順序連接,延遲模組902與多工器904_3之輸入端之間的接線可能依照延遲訊號Nd_3、Nd_4...、Nd_N、Nd_1、Nd_2之順序連接等等。不同接線方式使得多工器904_1~904_X接收到相同選擇訊號SDL時,可選擇具有不同延遲時間之不同延遲訊號Nd_1~Nd_N,如此更大幅提升亂數產生器90之隨機性。於部分實施例中,延遲模組902與多工器904_1~904_X中任一多工器之間的接線可透過其它方式配置甚至以打亂方式配置。此外,選擇不同延遲觸發訊號TRIG_D1~TRIG_DX的方式亦可藉由使用不同類型的多工器或使多工器904_1~904_X接收不同選擇訊號來實現,而不限於此。
請參考第9B圖,第9B圖係關於第9A圖所示之延遲觸發訊號TRIG_D1~TRIG_DX的詳細說明,其繪示亂數產生器90之隨機性如何被提升。詳細來說,亂數產生器90於延遲訊號Nd_1~Nd_N中選擇一延遲訊號,以產生每一延遲觸發訊號TRIG_D1~TRIG_DX,因此,存在於每一延遲觸發訊號TRIG_D1~TRIG_DX之延遲時間位於延遲訊號Nd_1~Nd_N延遲的時間範圍內且具有一定程度的變異性,因而具有一定程度的隨機性。對每一延遲觸發訊號TRIG_D1~TRIG_DX而言,隨機性來自於延遲不同時間長度的觸發點所造成的不確定性。除此之外,更高的隨機性亦可來自於延遲模組902及不同多工器904_1~904_X之間的接線差異,使得不同多工器904_1~904_X在接收到相同的選擇訊號SDL時,選擇具有不同延遲時間之不同延遲訊號Nd_1~Nd_N,進而產生具有不同延遲時間的延遲觸發訊號TRIG_D1~TRIG_DX。更進一步地,X個隨機位元值輸出可相互結合並產生一具有較高隨機性之隨機位元值。在此情況下,若水平線代表根據延遲時間之不確定性 所產生的隨機性且垂直線代表根據不同接線所產生的隨機性時,更高的隨機性即來自於對應於水平線及垂直線之兩種隨機性的結合。換句話說,對應於水平線的隨機性以及對應於垂直線的隨機性可相互結合,進而產生一種對應於面的更高隨機性。
值得注意的是,本發明之主要精神在於提供一種用於一亂數產生器之延遲裝置及方法,以產生用於亂數產生器中之隨機元件的延遲輸入訊號,進而提升亂數產生器之隨機性。本領域具通常知識者當可據以修飾或變化,而不限於此。換句話說,只要亂數產生器之隨機性可藉由延遲其觸發訊號的時間來提升,皆屬於本發明之範疇,其任何修飾或變化皆可根據系統需求進行調整。舉例來說,一亂數產生器可根據系統對隨機性之需求,使用任何數量之隨機元件,而不限於此。
除此之外,上述實施例中的隨機元件亦可藉由環式振盪器來實現。請參考第10圖,第10圖為本發明另一實施例一亂數產生器1000之示意圖。如第10圖所示,亂數產生器1000包含一延遲裝置1010、隨機元件1050_1~1050_X及正反器(flip-flop)FF_1~FF_X。延遲裝置1010包含一延遲模組1002、多工器1004_1~1004_X及一延遲選擇裝置1006。延遲模組1002、多工器1004_1~1004_X及延遲選擇裝置1006之架構及功能皆分別與延遲模組902、多工器904_1~904_X及延遲選擇裝置906相似,因此,相關於這些模組的相同訊號皆以相同符號表示。亂數產生器1000與亂數產生器90之間的主要差異在於亂數產生器1000使用延遲變異型隨機元件1050_1~1050_X(即環式振盪器)作為亂數源。隨機元件1050_1~1050_X之輸出分別由正反器FF_1~FF_X進行取樣,以產生X個隨機位元值。正反器FF_1~FF_X分別接收延遲裝置1010所產生的延遲觸發訊號TRIG_D1~TRIG_DX作為取樣時脈,以分別對隨機元件1050_1~1050_X的輸出進行取樣。如此一來, 隨機元件1050_1~1050_X之輸出可透過具有不同延遲時間的延遲取樣時脈來進行取樣,進而提升亂數產生器1000之隨機性。除此之外,每一隨機元件1050_1~1050_X亦可使用不同數量之反相器,以進一步提升隨機性。關於亂數產生器1000及延遲裝置1010之詳細運作方式已詳述於前文,於此不再贅述。
根據本發明之上述實施例,使用少量隨機元件即可達到一定的隨機性,然而,在習知技術中,同樣程度的隨機性必須使用更多隨機元件才能達到。請參考第11A圖及第11B圖,其中第11A圖為一習知亂數產生器之一亂數源1100之示意圖,而第11B圖為本發明實施例具有一亂數源1150搭配一延遲裝置1152之一亂數產生器之示意圖。亂數源1100包含Y個隨機元件RC_1~RC_Y,同時亂數源1150包含X個隨機元件RC_1’~RC_X’。假設所有隨機元件RC_1~RC_Y及RC_1’~RC_X’皆相同,若亂數源1100之隨機性與亂數源1150相等時,隨機元件RC_1~RC_Y之數量必須大於隨機元件RC_1’~RC_X’之數量(即Y>X)。如此一來,相較於習知亂數產生器,本發明上述實施例之亂數產生器使用較少隨機元件即可達到相同的隨機性,因而大幅節省耗電及電路面積,有時還可節省產生隨機位元值須耗費的時間。舉例來說,若系統需要32個隨機位元值時,亂數源1100可使用32個隨機元件(即Y=32),並結合32個隨機元件的隨機輸出值(如使用互斥或邏輯閘)來實現,因此每一週期可產生具有足夠隨機性之一隨機位元值,接著,亂數源1100可於32個週期中重複同樣的流程32次,以產生所需的32個隨機位元值。相較之下,亂數源1150僅須使用一隨機元件(即X=1),即可在每一週期產生具有足夠隨機性之一隨機位元值,接著,亂數源1150可於32個週期中重複同樣的流程32次,以產生所需的32個隨機位元值。於其它實施例中,亂數源1150亦可使用32個隨機元件(即X=32),直接產生32個具有足夠隨機性的隨機位元值。如此一來,產生隨機位元值所花費的時間可大幅降低。
於習知技術中,習知亂數產生器之亂數源往往使用大量的隨機元件並結合這些隨機元件的輸出結果以達到較高的隨機性,此大量的隨機元件會消耗大量的電能並佔據大幅電路面積。此外,每一標準邏輯單元皆具有某種程度的一致性,因此,將這些具有同質性的隨機元件之輸出值結合,所產生的結果往往不具有令人滿意的隨機性。相較之下,本發明提供一種用於亂數產生器之延遲裝置及方法,其可產生延遲的輸入訊號以提供予亂數產生器中的隨機元件。因此,相較於習知亂數產生器而言,透過本發明實施例,僅須使用較少隨機元件即可達到相同的隨機性,進而節省耗電及電路面積,產生隨機位元值所花費的時間亦可大幅降低。
60‧‧‧亂數產生器
600‧‧‧延遲裝置
602‧‧‧延遲模組
604‧‧‧多工器
606‧‧‧延遲選擇裝置
SDL‧‧‧選擇訊號
Nd_1~Nd_N‧‧‧延遲訊號
TRIG‧‧‧觸發訊號
TRiG_D‧‧‧延遲觸發訊號

Claims (40)

  1. 一種用於一亂數產生器中的延遲裝置,用來產生一訊號以提供予一隨機元件,該延遲裝置包含有:一延遲模組,用來產生複數個延遲訊號,其中每一延遲訊號具有一延遲時間,且該延遲時間不同於其它延遲訊號之延遲時間;一多工器,耦接於該延遲模組,用來輸出該複數個延遲訊號中一延遲訊號作為一延遲觸發訊號,以控制該隨機元件產生一隨機位元值;以及一延遲選擇裝置,耦接於該多工器,用來產生一選擇訊號,該選擇訊號控制該多工器選擇輸出該延遲訊號作為該延遲觸發訊號。
  2. 如請求項1所述之延遲裝置,其中該亂數產生器另包含一亂數產生器控制單元,用來啟始化該延遲選擇裝置,並產生一觸發訊號以提供予該延遲模組,使得該延遲模組延遲該觸發訊號以產生該複數個延遲訊號。
  3. 如請求項1所述之延遲裝置,其中該隨機元件係一亞穩態型隨機元件。
  4. 如請求項1所述之延遲裝置,其中該隨機元件係一延遲變異型隨機元件。
  5. 如請求項1所述之延遲裝置,其中該延遲選擇裝置包含一計數器,以根據該計數器之類型,依序選擇該延遲訊號作為該延遲觸發訊號並輸出。
  6. 如請求項1所述之延遲裝置,其中該延遲選擇裝置包含一線性回授位移暫存器,用來依照一虛擬隨機之順序選擇該延遲訊號作為該延遲觸發訊號並輸出。
  7. 如請求項6所述之延遲裝置,其中該線性回授位移暫存器係根據一種子值進行啟始化。
  8. 如請求項7所述之延遲裝置,其中該種子值係由一亂數產生器控制單元或該隨機元件所產生。
  9. 如請求項1所述之延遲裝置,其中該亂數產生器另包含一判斷單元,用來判斷由該亂數產生器所產生之隨機位元值的數量是否達到欲產生之一預設數量。
  10. 如請求項9所述之延遲裝置,其中當該判斷單元判斷所產生之該隨機位元值的數量未達到該預設數量時,該延遲選擇裝置產生另一選擇訊號,來控制該多工器選擇輸出另一延遲訊號作為該延遲觸發訊號,以控制該隨機元件產生另一隨機位元值。
  11. 一種亂數產生器,包含有:一隨機元件;以及一延遲裝置,用來產生一訊號以提供予該隨機元件,該延遲裝置包含有:一延遲模組,用來產生複數個延遲訊號,其中每一延遲訊號具有一延遲時間,且該延遲時間不同於其它延遲訊號之延遲時間;一多工器,耦接於該延遲模組,用來輸出該複數個延遲訊號中一延遲訊號作為一延遲觸發訊號,以控制該隨機元件產生一隨機位元值;以及一延遲選擇裝置,耦接於該多工器,用來產生一選擇訊號,該選擇訊號控制該多工器選擇輸出該延遲訊號作為該延遲觸發訊號。
  12. 如請求項11所述之亂數產生器,另包含一亂數產生器控制單元,用來啟始化該延遲選擇裝置,並產生一觸發訊號以提供予該延遲模組,使得該延遲模組延遲該觸發訊號以產生該複數個延遲訊號。
  13. 如請求項11所述之亂數產生器,其中該隨機元件係一亞穩態型隨機元件。
  14. 如請求項11所述之亂數產生器,其中該隨機元件係一延遲變異型隨機元件。
  15. 如請求項11所述之亂數產生器,其中該延遲選擇裝置包含一計數器,以根據該計數器之類型,依序選擇該延遲訊號作為該延遲觸發訊號並輸出。
  16. 如請求項11所述之亂數產生器,其中該延遲選擇裝置包含一線性回授位移暫存器,用來依照一虛擬隨機之順序選擇該延遲訊號作為該延遲觸發訊號並輸出。
  17. 如請求項16所述之亂數產生器,其中該線性回授位移暫存器係根據一種子值進行啟始化。
  18. 如請求項17所述之亂數產生器,其中該種子值係由一亂數產生器控制單元或該隨機元件所產生。
  19. 如請求項11所述之亂數產生器,另包含一判斷單元,用來判斷由該亂數產生器所產生之隨機位元值的數量是否達到欲產生之一預設數量。
  20. 如請求項19所述之亂數產生器,其中當該判斷單元判斷所產生之該隨機位元值的數量未達到該預設數量時,該延遲選擇裝置產生另一選擇訊 號,來控制該多工器選擇輸出另一延遲訊號作為該延遲觸發訊號,以控制該隨機元件產生另一隨機位元值。
  21. 一種亂數產生器,包含有:複數個隨機元件;以及一延遲裝置,用來產生一訊號以提供予該複數個隨機元件中每一隨機元件,該延遲裝置包含有:一延遲模組,用來產生複數個延遲訊號,其中每一延遲訊號具有一延遲時間,且該延遲時間不同於其它延遲訊號之延遲時間;複數個多工器,其中每一多工器皆耦接於該延遲模組,用來輸出該複數個延遲訊號中一延遲訊號作為一延遲觸發訊號,以控制該複數個隨機元件中每一隨機元件產生一隨機位元值;以及一延遲選擇裝置,耦接於該複數個多工器,用來產生一選擇訊號,該選擇訊號控制該複數個多工器中每一多工器選擇輸出該延遲訊號作為該延遲觸發訊號。
  22. 如請求項21所述之亂數產生器,另包含一亂數產生器控制單元,用來啟始化該延遲選擇裝置,並產生一觸發訊號以提供予該延遲模組,使得該延遲模組延遲該觸發訊號以產生該複數個延遲訊號。
  23. 如請求項21所述之亂數產生器,其中該複數個隨機元件中每一隨機元件皆為一亞穩態型隨機元件。
  24. 如請求項21所述之亂數產生器,其中該複數個隨機元件中每一隨機元件皆為一延遲變異型隨機元件。
  25. 如請求項23所述之亂數產生器,其中該延遲選擇裝置包含一計數器,以根據該計數器之類型,依序選擇該延遲訊號作為該延遲觸發訊號並輸出。
  26. 如請求項21所述之亂數產生器,其中該延遲選擇裝置包含一線性回授位移暫存器,用來依照一虛擬隨機之順序選擇該延遲訊號作為該延遲觸發訊號並輸出。
  27. 如請求項26所述之亂數產生器,其中該線性回授位移暫存器係根據一種子值進行啟始化。
  28. 如請求項27所述之亂數產生器,其中該種子值係由一亂數產生器控制單元或該隨機元件所產生。
  29. 如請求項21所述之亂數產生器,其中該延遲觸發訊號係由該複數個多工器中每一多工器依照不同方式選擇而得,以控制該複數個隨機元件中每一隨機元件。
  30. 如請求項29所述之亂數產生器,其中該複數個多工器依照不同方式耦接於該延遲模組,使得該複數個多工器中每一多工器依照不同方式選擇該延遲觸發訊號,以控制該複數個隨機元件中每一隨機元件。
  31. 如請求項21所述之亂數產生器,另包含一判斷單元,用來判斷由該亂數產生器所產生之隨機位元值的數量是否達到欲產生之一預設數量。
  32. 如請求項31所述之亂數產生器,其中當該判斷單元判斷所產生之該隨機位元值的數量未達到該預設數量時,該延遲選擇裝置產生另一選擇訊號,來控制該複數個多工器中每一多工器選擇輸出另一延遲訊號作為該 延遲觸發訊號,以控制該複數個隨機元件中每一隨機元件產生另一隨機位元值。
  33. 一種於一亂數產生器中產生一訊號以提供予一隨機元件之方法,包含有:產生複數個延遲訊號,其中每一延遲訊號具有一延遲時間,且該延遲時間不同於其它延遲訊號之延遲時間;以及產生一選擇訊號,該選擇訊號選擇輸出該複數個延遲訊號中一延遲訊號作為一延遲觸發訊號,以控制該隨機元件產生一隨機位元值。
  34. 如請求項33所述之方法,另包含啟始化該延遲觸發訊號之選擇,並產生一觸發訊號,用來產生該複數個延遲訊號。
  35. 如請求項33所述之方法,其中產生該選擇訊號,以選擇輸出該複數個延遲訊號中該延遲訊號作為該延遲觸發訊號之步驟包含根據一計數器之類型產生該選擇訊號,以依序選擇該延遲訊號作為該延遲觸發訊號並輸出。
  36. 如請求項33所述之方法,其中產生該選擇訊號,以選擇輸出該複數個延遲訊號中該延遲訊號作為該延遲觸發訊號之步驟包含利用一線性回授位移暫存器產生該選擇訊號,以依照一虛擬隨機之順序選擇該延遲訊號作為該延遲觸發訊號並輸出。
  37. 如請求項36所述之方法,其中該線性回授位移暫存器係根據一種子值進行啟始化。
  38. 如請求項37所述之方法,其中該種子值係由一亂數產生器控制單元或該隨機元件所產生。
  39. 如請求項33所述之方法,另包含判斷由該亂數產生器所產生之隨機位元值的數量是否達到欲產生之一預設數量。
  40. 如請求項39所述之方法,其中當判斷所產生之該隨機位元值的數量未達到該預設數量時,產生另一選擇訊號來選擇輸出另一延遲訊號作為該延遲觸發訊號,以控制該隨機元件產生另一隨機位元值。
TW102111978A 2013-01-16 2013-04-02 用於亂數產生器之延遲裝置及方法及其亂數產生器 TW201430699A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US13/742,357 US9047152B2 (en) 2013-01-16 2013-01-16 Delay device, method, and random number generator using the same

Publications (1)

Publication Number Publication Date
TW201430699A true TW201430699A (zh) 2014-08-01

Family

ID=51145381

Family Applications (1)

Application Number Title Priority Date Filing Date
TW102111978A TW201430699A (zh) 2013-01-16 2013-04-02 用於亂數產生器之延遲裝置及方法及其亂數產生器

Country Status (3)

Country Link
US (1) US9047152B2 (zh)
CN (1) CN103927147A (zh)
TW (1) TW201430699A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI749654B (zh) * 2019-07-25 2021-12-11 熵碼科技股份有限公司 亂數產生器及產生亂數輸出的方法
TWI765479B (zh) * 2020-12-17 2022-05-21 國立中山大學 亂數產生器
TWI778557B (zh) * 2021-03-26 2022-09-21 新唐科技股份有限公司 真實亂數產生器及真實亂數產生方法

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9047152B2 (en) * 2013-01-16 2015-06-02 Skymedi Corporation Delay device, method, and random number generator using the same
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
KR101630628B1 (ko) * 2014-05-16 2016-06-15 주식회사 이노와이어리스 복수 fpga 사이의 동기 유지 장치
EP2966836B1 (en) * 2014-07-08 2017-09-06 Giesecke+Devrient Mobile Security GmbH Secure Element Causing a Delay for Use in a Network
CN104899005B (zh) * 2015-06-15 2017-12-12 北京联想核芯科技有限公司 一种随机数采集装置及密码芯片
CN106374884B (zh) * 2015-07-22 2021-05-07 恩智浦美国有限公司 扩频时钟发生器
KR102652735B1 (ko) 2016-11-24 2024-04-02 삼성전자주식회사 조절 가능한 메타-스테이블 전압을 이용하는 난수 생성기 및 난수 생성 방법
CN108196824A (zh) * 2018-01-12 2018-06-22 江苏华存电子科技有限公司 一种用以增强随机数产生器随机效果的装置和方法
TWI706320B (zh) * 2019-01-29 2020-10-01 睿寬智能科技有限公司 現場可編程閘陣列的真實隨機數產生裝置及方法
CN110069242A (zh) * 2019-04-26 2019-07-30 迅付信息科技有限公司 一种随机数发生器及电子券、动态支付码的生成方法
CN111900958A (zh) * 2020-06-19 2020-11-06 上海美仁半导体有限公司 随机数产生电路、芯片及家用电器

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6150863A (en) * 1998-04-01 2000-11-21 Xilinx, Inc. User-controlled delay circuit for a programmable logic device
US6963888B2 (en) * 2001-11-29 2005-11-08 Koninklijke Philips Electronics N.V. Method and apparatus for preventing noise from influencing a random number generator based on flip-flop meta-stability
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
EP1450250B1 (en) * 2003-02-11 2006-08-23 IP-First LLC Random number generator with selectable dual random bit string engines
US7325021B2 (en) * 2003-03-14 2008-01-29 Nxp B.V. VLSI implementation of metastability-based random number generator using delay ladders
US7356551B2 (en) * 2003-03-14 2008-04-08 Nxp B.V. Method and apparatus of retaining maximum speed of flip-flop metastability based random number generators
TW200802079A (en) * 2006-06-30 2008-01-01 Primax Electronics Ltd Random number generator and random number generating method
KR101481572B1 (ko) * 2007-10-19 2015-01-26 삼성전자주식회사 난수 발생 장치
US8131789B2 (en) * 2008-03-28 2012-03-06 Atmel Corporation True random number generator
KR20110060033A (ko) * 2009-11-30 2011-06-08 박옥희 해상 구조물용 커플링
US8285767B2 (en) * 2011-03-07 2012-10-09 Arm Limited Apparatus and method for generating a random number
JP6034153B2 (ja) * 2012-11-21 2016-11-30 株式会社東芝 乱数生成回路
US9047152B2 (en) * 2013-01-16 2015-06-02 Skymedi Corporation Delay device, method, and random number generator using the same

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI749654B (zh) * 2019-07-25 2021-12-11 熵碼科技股份有限公司 亂數產生器及產生亂數輸出的方法
US11876899B2 (en) 2019-07-25 2024-01-16 PUFsecurity Corporation Random number generator and method of generating output random number
TWI765479B (zh) * 2020-12-17 2022-05-21 國立中山大學 亂數產生器
TWI778557B (zh) * 2021-03-26 2022-09-21 新唐科技股份有限公司 真實亂數產生器及真實亂數產生方法
US11757450B2 (en) 2021-03-26 2023-09-12 Nuvoton Technology Corporation Random-number generator and random-number generating method

Also Published As

Publication number Publication date
CN103927147A (zh) 2014-07-16
US9047152B2 (en) 2015-06-02
US20140201253A1 (en) 2014-07-17

Similar Documents

Publication Publication Date Title
TW201430699A (zh) 用於亂數產生器之延遲裝置及方法及其亂數產生器
KR101481572B1 (ko) 난수 발생 장치
US8892616B2 (en) Device and method for generating a random bit sequence
JP5074359B2 (ja) 乱数生成回路
TWI520055B (zh) 用於產生隨機數之裝置與方法
JP6034153B2 (ja) 乱数生成回路
KR101579837B1 (ko) 난수 발생 장치 및 난수 발생 방법
KR20140110142A (ko) 난수 발생기
US10445068B2 (en) Random number generator
CN109117118B (zh) 基于环形振荡器结构真随机数发生器的随机数提取方法
CN114968179A (zh) 一种基于时钟抖动和亚稳态的真随机数产生电路
JP2018112861A (ja) 乱数生成装置、集積回路
Mei et al. A highly flexible lightweight and high speed true random number generator on FPGA
Cao et al. An energy-efficient true random number generator based on current starved ring oscillators
JP5465636B2 (ja) 乱数生成回路
TWI801742B (zh) 熵產生器及產生增強熵的方法
TWI579763B (zh) 具有亂數產生模式的儲存電路
Sakare A power and area efficient architecture of a PRBS generator with multiple outputs
Doshi et al. Lfsr counter implementation in cmos vlsi
JP6697776B2 (ja) 固有情報生成装置
JP5356362B2 (ja) 乱数生成回路
CN115373633A (zh) 一种真随机数生成器以及真随机数生成方法
CN109558111B (zh) 基于d触发器亚稳态特性的真随机数生成装置
JP6055867B2 (ja) 乱数発生器およびその乱数発生方法
WO2021142830A1 (zh) 随机数生成电路、随机数生成方法和电子设备