TWI778557B - 真實亂數產生器及真實亂數產生方法 - Google Patents

真實亂數產生器及真實亂數產生方法 Download PDF

Info

Publication number
TWI778557B
TWI778557B TW110111082A TW110111082A TWI778557B TW I778557 B TWI778557 B TW I778557B TW 110111082 A TW110111082 A TW 110111082A TW 110111082 A TW110111082 A TW 110111082A TW I778557 B TWI778557 B TW I778557B
Authority
TW
Taiwan
Prior art keywords
signal
sampling
delay
count value
generate
Prior art date
Application number
TW110111082A
Other languages
English (en)
Other versions
TW202238365A (zh
Inventor
鄭令宜
謝志明
Original Assignee
新唐科技股份有限公司
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 新唐科技股份有限公司 filed Critical 新唐科技股份有限公司
Priority to TW110111082A priority Critical patent/TWI778557B/zh
Priority to CN202111038211.0A priority patent/CN115129296A/zh
Priority to US17/573,917 priority patent/US11757450B2/en
Application granted granted Critical
Publication of TWI778557B publication Critical patent/TWI778557B/zh
Publication of TW202238365A publication Critical patent/TW202238365A/zh

Links

Images

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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/17704Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form the logic functions being realised by the interconnection of rows and columns
    • H03K19/17708Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form the logic functions being realised by the interconnection of rows and columns using an AND matrix followed by an OR matrix, i.e. programmable logic arrays
    • H03K19/17716Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form the logic functions being realised by the interconnection of rows and columns using an AND matrix followed by an OR matrix, i.e. programmable logic arrays with synchronous operation, i.e. using clock signals, e.g. of I/O or coupling register
    • 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
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/01Modifications for accelerating switching
    • H03K19/017Modifications for accelerating switching in field-effect transistor circuits
    • H03K19/01728Modifications for accelerating switching in field-effect transistor circuits in synchronous circuits, i.e. by using clock signals
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/20Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits characterised by logic function, e.g. AND, OR, NOR, NOT circuits
    • H03K19/21EXCLUSIVE-OR circuits, i.e. giving output if input signal exists at only one input; COINCIDENCE circuits, i.e. giving output only if all input signals are identical
    • 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K5/00006Changing the frequency

Abstract

一種真實亂數產生器,用以產生一隨機變數。一第一延遲電路延遲一輸入信號,用以產生一第一延遲信號。一第二延遲電路延遲第一延遲信號,用以產生一第二延遲信號。一第一取樣電路根據一時脈信號,取樣輸入信號,用以產生一第一取樣信號。一第二取樣電路根據時脈信號,取樣第一延遲信號,用以產生一第二取樣信號。一第三取樣電路根據時脈信號,取樣第二延遲信號,用以產生一第三取樣信號。一運算電路根據第一、第二及第三取樣信號,產生隨機變數,並調整一計數值。運算電路根據計數值,調整時脈信號。

Description

真實亂數產生器及真實亂數產生方法
本發明係有關於一種亂數產生器,特別是有關於一種真實亂數產生器。
隨著電子裝置的發展,亂數(random number)被應用於電腦安全防護等領域,特別在電腦安全防護的領域上。然而,當亂數出現的規則被預測出時,將會影響電腦內部資料的安全性。
本發明之一實施例提供一種真實亂數產生器,用以產生一隨機變數,並包括一第一延遲電路、一第二延遲電路、一第一取樣電路、一第二取樣電路、一第三取樣電路以及一運算電路。第一延遲電路延遲一輸入信號,用以產生一第一延遲信號。第二延遲電路延遲第一延遲信號,用以產生一第二延遲信號。第一取樣電路根據一時脈信號,取樣輸入信號,用以產生一第一取樣信號。第二取樣電路根據時脈信號,取樣第一延遲信號,用以產生一第二取樣信號。第三取樣電路根據時脈信號,取樣第二延遲信號,用以產生一第三取樣信號。運算電路根據第一、第二及第三取樣信號,產生隨機變數並調整一計數值。運算電路根據計數值,調整時脈信號。
本發明另提供一種真實亂數產生方法,用以產生一隨機變數,並包括:延遲一輸入信號,用以產生一第一延遲信號;延遲第一延遲信號,用以產生一第二延遲信號;根據一時脈信號,取樣輸入信號,用以產生一第一取樣信號;根據時脈信號,取樣第一延遲信號,用以產生一第二取樣信號;根據時脈信號,取樣第二延遲信號,用以產生一第三取樣信號;根據第一、第二及第三取樣信號,產生隨機變數,並調整一計數值;以及根據計數值,調整時脈信號。
本發明之真實亂數產生方法可經由本發明之真實亂數產生器來實作,其為可執行特定功能之硬體或韌體,亦可以透過程式碼方式收錄於一紀錄媒體中,並結合特定硬體來實作。當程式碼被電子裝置、處理器、電腦或機器載入且執行時,電子裝置、處理器、電腦或機器變成用以實行本發明之真實亂數產生器。
為讓本發明之目的、特徵和優點能更明顯易懂,下文特舉出實施例,並配合所附圖式,做詳細之說明。本發明說明書提供不同的實施例來說明本發明不同實施方式的技術特徵。其中,實施例中的各元件之配置係為說明之用,並非用以限制本發明。另外,實施例中圖式標號之部分重覆,係為了簡化說明,並非意指不同實施例之間的關聯性。
第1圖為本發明之真實亂數產生器的示意圖。真實亂數產生器100用以產生一隨機變數(random variable)RN,並包括延遲電路D1~DN、取樣電路S1~SN以及一運算電路110。延遲電路D1~DN串接在一起。由於延遲電路D1~DN的特性相同,故以下僅說明延遲電路D1及D2。在本實施例中,延遲電路D1延遲一輸入信號X 0,用以產生一延遲信號DS1。延遲電路D2延遲延遲信號DS1,用以產生一延遲信號DS2。在一可能實施例中,輸入信號X 0係為一亂數資料(random data)。
取樣電路S1~SN取樣延遲信號DS1~DS(N-1)。由於取樣電路S1~SN的特性相同,故以下僅說明取樣電路S1~S3。取樣電路S1根據一時脈信號CLK,取樣輸入信號X 0,用以產生一取樣信號X 1。取樣電路S2根據時脈信號CLK,取樣延遲信號DS1,用以產生一取樣信號X 2。取樣電路S3根據時脈信號CLK,取樣延遲信號DS2,用以產生一取樣信號X 3。本發明並不限定取樣電路S1~SN的種類。在一可能實施例中,取樣電路S1~SN係為正反器(如D型正反器)、閂鎖電路(latch)或是暫存器(register)。
運算電路110根據取樣信號X 1~X N,產生隨機變數RN並調整一計數值CT。在一可能實施例中,運算電路110具有一亞穩態偵測電路(未顯示)。亞穩態偵測電路根據取樣信號X 1~X N的位準,判斷是否發生一亞穩態(metastable)現象。以取樣電路S4為例,當亞穩態現象未發生時,取樣信號X 4的位準相同於延遲信號DS3的位準。然而,當亞穩態現象發生時,取樣信號X 4的位準不等於延遲信號DS3的位準。此時,取樣信號X 4的位準無法預測,可能為一高位準或是一低位準。
在一可能實施例中,當發生亞穩態現象時,運算電路110調整計數值CT。在此例中,當亞穩態現象發生的次數過低時,運算電路110調整(如增加)時脈信號CLK的頻率,用以增加亞穩態現象發生的次數。在另一可能實施例中,當亞穩態現象發生的次數過多時,運算電路110調整(如減少)時脈信號CLK的頻率,用以減少亞穩態現象發生的次數。
在其它實施例中,運算電路110根據取樣信號X 1~X N的位準,決定是否調整計數值CT。舉例而言,當取樣信號X 1~X N之一者的位準不同於取樣信號X 1~X N之另一者的位準時,運算電路110調整計數值CT。當取樣信號X 1~X N具有相同的位準時,運算電路110不調整計數值CT。
在一些實施例中,運算電路110判斷計數值CT達一預設值的時間。當計數值CT達一預設值的時間大於一第一預設時間(如5秒)時,表示亞穩態現象發生的次數過低。因此,運算電路110增加時脈信號CLK的頻率。然而,當計數值CT達一預設值的時間小於一第二預設時間(如1秒)時,表示亞穩態現象發生的次數過高。因此,運算電路110減少時脈信號CLK的頻率。
在其它實施例中,在運算電路110接收到取樣信號X 1~X N後,運算電路110致能一計時器(未顯示)。當計時器執行一計時操作的時間達一第三預設時間(如10秒)時,計時器可能發出一中斷信號(未顯示)。在此例中,在接收到中斷信號後,運算電路110判斷計數值CT是否等於一預設值。當計數值CT不等於預設值時,運算電路110增加時脈信號CLK的頻率。
本發明並不限定運算電路110如何調整時脈信號CLK。在一可能實施例中,運算電路110根據計數值CT,產生一調整信號AD1予一時脈產生電路120。時脈產生電路120根據調整信號AD1,調整時脈信號CLK的頻率。在一些實施例中,時脈產生電路120係為一高頻振盪器(high frequency oscillator)。在本實施例中,時脈產生電路120整合於真實亂數產生器100之中。在其它實施例中,時脈產生電路120可能獨立於真實亂數產生器100之外,或是整合於運算電路110之中。
在一些實施例中,運算電路110根據計數值CT,調整延遲電路D1~DN的延遲時間。在此例中,運算電路110根據計數值CT,產生一調整信號AD2。延遲電路D1~DN根據不同的調整信號AD2,設定一延遲時間,再根據該延遲時間,延遲輸入信號X 0及延遲信號DS1~DS(N-1)。在一些實施例中,當亞穩態現象發生的次數過低時,運算電路110可能透過調整信號AD2,增加延遲電路D1~DN的延遲時間。當亞穩態現象發生的次數過高時,運算電路110可能透過調整信號AD2,減少延遲電路D1~DN的延遲時間。在本實施例中,運算電路110提供調整信號AD2予延遲電路D1~DN,但並非用以限制本發明。在其它實施例中,運算電路110可能提供調整信號AD2予部分的延遲電路。在一些實施例中,運算電路110可能提供不同的調整信號予不同的延遲電路。因此,延遲電路D1~DN之一者的延遲時間不同於延遲電路D1~DN之另一者的延遲時間。
在其它實施例中,在運算電路110接收到取樣信號X 1~X N後,運算電路110致能一計時器(未顯示)。當計時器執行一計時操作的時間達一第三預設時間時,計時器可能發出一中斷信號(未顯示)。在此例中,在接收到中斷信號後,運算電路110判斷計數值CT是否等於一預設值。當計數值CT不等於預設值時,運算電路110增加延遲電路D1~DN的延遲時間。
本發明並不限定運算電路110產生調整信號AD1及AD2的順序。在一可能實施例中,當亞穩態現象發生的次數過低時,運算電路110只產生調整信號AD1,而不產生調整信號AD2。在此例中,當時脈信號CLK的頻率達一最大頻率時,如果亞穩態現象發生的次數仍然過低時,運算電路110更產生調整信號AD2。在另一可能實施例中,當亞穩態現象發生的次數過低時,運算電路110只產生調整信號AD2,而不產生調整信號AD1。在此例中,當延遲電路D1~DN的延遲時間達一最大值時,如果亞穩態現象發生的次數仍然過低時,運算電路110才開始產生調整信號AD1。
由於亞穩態現象發生的時間點無法預測,並且亞穩態現象發生所引起的錯誤取樣信號的位準也無法預測,故當運算電路110根據取樣信號X 1~X N產生隨機變數RN時,則隨機變數RN也無法預測。因此,大幅提高隨機變數RN的安全性。舉例而言,當亞穩態現象未發生時,取樣信號X 1~X N均處於正確的位準。然而,當亞穩態現象發生時,取樣信號X 1~X N之至少一者係處於錯誤的位準。由於錯誤的位準無法預測,可能是高位準或低位準,故若運算電路110將具有錯誤位準的取樣信號作為隨機變數RN時,則可大幅降低隨機變數RN的可預測性(predictability)。
第2圖為本發明之運算電路的一可能示意圖。如圖所示,運算電路200包括一互斥或閘(XOR)210、一計數器(counter)220以及一處理器230。互斥或閘210接收取樣信號X 1~X N。當取樣信號X 1~X N之一者的位準不同於取樣信號X 1~X N之另一者時,互斥或閘210輸出一第一位準。當取樣信號X 1~X N具有相同的位準時,互斥或閘210輸出一第二位準。第二位準相對於第一位準。在一可能實施例中,第一位準為一高位準,第二位準係為一低位準。
計數器220耦接互斥或閘210,並根據互斥或閘210的輸出,調整計數值CT。在一可能實施例中,當互斥或閘210輸出第一位準時,計數器220調整(增加或減少)計數值CT。當互斥或閘210輸出第二位準時,計數器220不調整計數值CT。在本實施例中,計數值CT與亞穩態現象出現的次數有關。
處理器230耦接互斥或閘210及計數器220。在一可能實施例中,處理器230根據互斥或閘210的輸出,產生隨機變數RN。在此例中,處理器230直接將互斥或閘210的輸出作為隨機變數RN。在另一可能實施例中,處理器230接收取樣信號X 1~X N,並將具有錯誤位準的取樣信號作為隨機變數RN。在其它實施例中,處理器230耦接計數器220,用以讀取計數值CT。在此例中,處理器230根據計數值CT,產生調整信號AD1及AD2之至少一者。
第3圖為本發明之取樣信號X 1~X 4的示意圖。為方便說明,第3圖僅顯示取樣信號X 1~X 4。在時間點300,時脈信號CLK觸發取樣電路S1~S4。因此,取樣電路S1~S4產生取樣信號X 1~X 4。在此例中,由於取樣電路S4的建立時間及保持時間不適合,故在時間點300,取樣信號X 4的位準尚未穩定維持於一目標值。
第4圖為本發明之真實亂數產生方法。首先,接收並延遲一輸入信號,用以產生一第一延遲信號(步驟S411)。在一可能實施例中,步驟S411係使用一第一延遲電路。在此例中,第一延遲電路係根據一第一延遲時間,延遲輸入信號。在一些實施例中,輸入信號係為一亂數資料。
接著,延遲第一延遲信號,用以產生一第二延遲信號(步驟S412)。在一可能實施例中,步驟S412係使用一第二延遲電路。在此例中,第二延遲電路係根據一第二延遲時間,延遲第一延遲信號。在此例中,第二延遲電路串接第一延遲電路。第一延遲時間可能相同或不同於第二延遲時間。
根據一時脈信號,取樣輸入信號,用以產生一第一取樣信號 (步驟S413)。在一可能實施例中,步驟S413係使用一第一取樣電路,對輸入信號進行取樣。在一些實施例中,第一取樣電路可能是正反器、閂鎖器或是暫存器。
根據該時脈信號,取樣第一延遲信號,用以產生一第二取樣信號 (步驟S414)。在一可能實施例中,步驟S414係使用一第二取樣電路,對第一延遲信號進行取樣。在一些實施例中,第二取樣電路可能是正反器、閂鎖器或是暫存器。
根據該時脈信號,取樣第二延遲信號,用以產生一第三取樣信號(步驟S415)。在一可能實施例中,步驟S415係使用一第三取樣電路,對第二延遲信號進行取樣。在一些實施例中,第三取樣電路可能是正反器、閂鎖器或是暫存器。
根據第一、第二及第三取樣信號,產生一隨機變數並調整一計數值(步驟S416)。在一可能實施例中,步驟S416可能對第一、第二及第三取樣信號進行一互斥或運算,並將運算結果作為一隨機變數。在另一可能實施例中,步驟S416可能偵測第一、第二及第三取樣信號的位準。假設,第一取樣信號的位準不同於第二及第三取樣信號的位準。在此例中,步驟S416將第一取樣信號作為一隨機變數。
在其它實施例中,步驟S416根據第一、第二及第三取樣信號,判斷是否發生一亞穩態現象。當發生亞穩態現象時,步驟S416調整一計數值。然而,當亞穩態現象未發生時,步驟S416不調整計數值。在一些實施例中,當第一、第二及第三取樣信號之一者的位準不同於第一、第二及第三取樣信號之另一者時,步驟S416調整計數值。然而,當第一、第二及第三取樣信號具有相同的位準時,步驟S416停止調整計數值。
根據計數值,調整時脈信號(步驟S417)。在一可能實施例中,步驟S417係先偵測計數值達一預設值的時間。當計數值達一預設值的時間大於一第一預設時間時,步驟S417增加時脈信號的頻率。另外,當計數值達該預設值的時間小於一第二預設時間時,步驟S417減少時脈信號的頻率。
在其它實施例中,步驟S417係在一第三預設時間後,判斷計數值是否等於一預設值。當計數值不等於預設值時,步驟S417增加該時脈信號的頻率。在一些實施例中,步驟S417更調整第一及第二延遲信號之間的一延遲時間。在此例中,步驟S417係調整第一及第二延遲時間之至少一者。
本發明之真實亂數產生方法,或特定型態或其部份,可以以程式碼的型態存在。程式碼可儲存於實體媒體,如軟碟、光碟片、硬碟、或是任何其他機器可讀取(如電腦可讀取)儲存媒體,亦或不限於外在形式之電腦程式產品,其中,當程式碼被機器,如電腦載入且執行時,此機器變成用以參與本發明之真實亂數產生器。程式碼也可透過一些傳送媒體,如電線或電纜、光纖、或是任何傳輸型態進行傳送,其中,當程式碼被機器,如電腦接收、載入且執行時,此機器變成用以參與本發明之真實亂數產生器。當在一般用途處理單元實作時,程式碼結合處理單元提供一操作類似於應用特定邏輯電路之獨特裝置。
除非另作定義,在此所有詞彙(包含技術與科學詞彙)均屬本發明所屬技術領域中具有通常知識者之一般理解。此外,除非明白表示,詞彙於一般字典中之定義應解釋為與其相關技術領域之文章中意義一致,而不應解釋為理想狀態或過分正式之語態。雖然“第一”、“第二”等術語可用於描述各種元件及預設值,但這些元件及預設值不應受這些術語的限制。這些術語只是用以區分一個元件和另一個元件或是一個預設值和另一個預設值。
雖然本發明已以較佳實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可作些許之更動與潤飾。舉例來說,本發明實施例所述之系統、裝置或是方法可以硬體、軟體或硬體以及軟體的組合的實體實施例加以實現。因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。
100:真實亂數產生器
110、200:運算電路
120:時脈產生電路
RN:隨機變數
D1~DN:延遲電路
S1~SN:取樣電路
X 0:輸入信號
DS1~DS(N-1):延遲信號
X 1~X N:取樣信號
CT:計數值
CLK:時脈信號
AD1、AD2:調整信號
210:互斥或閘
220:計數器
230:處理器
300:時間點
S411~S417:步驟
第1圖為本發明之真實亂數產生器的示意圖。 第2圖為本發明之運算電路的一可能示意圖。 第3圖為本發明之取樣信號的示意圖。 第4圖為本發明之真實亂數產生方法的流程示意圖。
100:真實亂數產生器
110:運算電路
120:時脈產生電路
RN:隨機變數
D1~DN:延遲電路
S1~SN:取樣電路
X0:輸入信號
DS1~DS(N-1):延遲信號
X1~XN:取樣信號
CT:計數值
CLK:時脈信號
AD1、AD2:調整信號

Claims (15)

  1. 一種真實亂數產生器,用以產生一隨機變數,並包括:一第一延遲電路,延遲一輸入信號,用以產生一第一延遲信號;一第二延遲電路,延遲該第一延遲信號,用以產生一第二延遲信號;一第一取樣電路,根據一時脈信號,取樣該輸入信號,用以產生一第一取樣信號;一第二取樣電路,根據該時脈信號,取樣該第一延遲信號,用以產生一第二取樣信號;一第三取樣電路,根據該時脈信號,取樣該第二延遲信號,用以產生一第三取樣信號;以及一運算電路,根據該第一、第二及第三取樣信號,產生該隨機變數,並根據該第一、第二及第三取樣信號判斷是否發生一亞穩態現象,當發生該亞穩態現象時,該運算電路增加或減少一計數值;其中該運算電路根據該計數值到達一預設值的時間,增加或減少該時脈信號的頻率。
  2. 如請求項1之真實亂數產生器,其中該運算電路根據該計數值,調整該第一及第二延遲電路之至少一者的一延遲時間。
  3. 如請求項1之真實亂數產生器,其中當該第一、第二及第三取樣信號之一者的位準不同於該第一、第二及第三取樣信號之另一者時,該運算電路判斷發生該亞穩態現象。
  4. 如請求項3之真實亂數產生器,其中當該第一、第二及第三取樣信號具有相同的位準時,該運算電路判斷未發生該亞穩態現象。
  5. 如請求項4之真實亂數產生器,其中該運算電路包括:一互斥或閘,該互斥或閘接收該第一、第二及第三取樣信號;其中當該第一、第二及第三取樣信號之一者的位準不同於該第一、第二及第三取樣信號之另一者時,該互斥或閘輸出一第一位準,該第一、第二及第三取樣信號具有相同的位準時,該互斥或閘輸出一第二位準,該第二位準相對於該第一位準。
  6. 如請求項5之真實亂數產生器,其中該運算電路更包括:一計數器,耦接該互斥或閘;其中當該互斥或閘輸出該第一位準時,該計數器調整該計數值,當該互斥或閘輸出該第二位準時,該計數器不調整該計數值。
  7. 如請求項1之真實亂數產生器,其中當該計數值達該預設值的時間大於一第一預設時間時,該運算電路增加該時脈信號的頻率,其中當該計數值達該預設值的時間小於一第二預設時間時,該運算電路減少該時脈信號的頻率。
  8. 一種真實亂數產生器,用以產生一隨機變數,並包括:一第一延遲電路,延遲一輸入信號,用以產生一第一延遲信號;一第二延遲電路,延遲該第一延遲信號,用以產生一第二延遲信號;一第一取樣電路,根據一時脈信號,取樣該輸入信號,用以產生一第一取樣信號;一第二取樣電路,根據該時脈信號,取樣該第一延遲信號,用以產生一第二取樣信號;一第三取樣電路,根據該時脈信號,取樣該第二延遲信號,用以產生一第三取樣信號;以及 一運算電路,根據該第一、第二及第三取樣信號,產生該隨機變數,並根據該第一、第二及第三取樣信號判斷是否發生一亞穩態現象,當發生該亞穩態現象時,該運算電路增加或減少一計數值;其中在一預設時間後,該運算電路判斷該計數值是否等於一預設值,當該計數值不等於該預設值時,該運算電路增加該時脈信號的頻率。
  9. 一種真實亂數產生方法,用以產生一隨機變數,並包括:延遲一輸入信號,用以產生一第一延遲信號;延遲該第一延遲信號,用以產生一第二延遲信號;根據一時脈信號,取樣該輸入信號,用以產生一第一取樣信號;根據該時脈信號,取樣該第一延遲信號,用以產生一第二取樣信號;根據該時脈信號,取樣該第二延遲信號,用以產生一第三取樣信號;根據該第一、第二及第三取樣信號,產生該隨機變數;根據該第一、第二及第三取樣信號判斷是否發生一亞穩態現象;根據是否發生該亞穩態現象調整一計數值;以及根據該計數值到達一預設值的時間,增加或減少該時脈信號的頻率;其中,根據是否發生該亞穩態現象調整該計數值的步驟包括:當發生該亞穩態現象時,增加或減少該計數值;以及當未發生該亞穩態現象時,停止增加或減少該計數值。
  10. 如請求項9之真實亂數產生方法,更包括:根據該計數值,調整該第一及第二延遲信號之間的一延遲時間。
  11. 如請求項9之真實亂數產生方法,其中根據該第一、第二及第三取樣信號,調整該計數值的步驟包括:偵測該第一、第二及第三取樣信號的位準;以及當該第一、第二及第三取樣信號之一者的位準不同於該第一、第二及第三取樣信號之另一者時,判斷發生該亞穩態現象。
  12. 如請求項11之真實亂數產生方法,其中根據該第一、第二及第三取樣信號,調整該計數值的步驟更包括:當該第一、第二及第三取樣信號具有相同的位準時,判斷未發生該亞穩態現象。
  13. 如請求項9之真實亂數產生方法,其中根據該計數值到達該預設值的時間,增加或減少該時脈信號的頻率的步驟包括:當該計數值達該預設值的時間大於一第一預設時間時,增加該時脈信號的頻率。
  14. 如請求項13之真實亂數產生方法,其中根據該計數值到達該預設值的時間,增加或減少該時脈信號的頻率的步驟更包括:當該計數值達該預設值的時間小於一第二預設時間時,減少該時脈信號的頻率。
  15. 一種真實亂數產生方法,用以產生一隨機變數,並包括:延遲一輸入信號,用以產生一第一延遲信號;延遲該第一延遲信號,用以產生一第二延遲信號;根據一時脈信號,取樣該輸入信號,用以產生一第一取樣信號;根據該時脈信號,取樣該第一延遲信號,用以產生一第二取樣信號;根據該時脈信號,取樣該第二延遲信號,用以產生一第三取樣信號; 根據該第一、第二及第三取樣信號,產生該隨機變數;根據該第一、第二及第三取樣信號判斷是否發生一亞穩態現象;根據是否發生該亞穩態現象調整一計數值;在一預設時間後,判斷該計數值是否等於一預設值;以及當該計數值不等於該預設值時,增加該時脈信號的頻率;其中,根據是否發生該亞穩態現象調整該計數值的步驟包括:當發生該亞穩態現象時,增加或減少該計數值;以及當未發生該亞穩態現象時,停止增加或減少該計數值。
TW110111082A 2021-03-26 2021-03-26 真實亂數產生器及真實亂數產生方法 TWI778557B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
TW110111082A TWI778557B (zh) 2021-03-26 2021-03-26 真實亂數產生器及真實亂數產生方法
CN202111038211.0A CN115129296A (zh) 2021-03-26 2021-09-06 真实随机数产生器及真实随机数产生方法
US17/573,917 US11757450B2 (en) 2021-03-26 2022-01-12 Random-number generator and random-number generating method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW110111082A TWI778557B (zh) 2021-03-26 2021-03-26 真實亂數產生器及真實亂數產生方法

Publications (2)

Publication Number Publication Date
TWI778557B true TWI778557B (zh) 2022-09-21
TW202238365A TW202238365A (zh) 2022-10-01

Family

ID=83362773

Family Applications (1)

Application Number Title Priority Date Filing Date
TW110111082A TWI778557B (zh) 2021-03-26 2021-03-26 真實亂數產生器及真實亂數產生方法

Country Status (3)

Country Link
US (1) US11757450B2 (zh)
CN (1) CN115129296A (zh)
TW (1) TWI778557B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116069295B (zh) * 2022-12-22 2023-10-20 海光集成电路设计(北京)有限公司 真随机数发生电路、方法及电子设备

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030037079A1 (en) * 2001-08-15 2003-02-20 Wilber Scott A. True random number generator and entropy calculation device and method
CN101620523A (zh) * 2009-07-29 2010-01-06 深圳国微技术有限公司 一种随机数发生器电路
US20100281088A1 (en) * 2009-04-29 2010-11-04 Psigenics Corporation Integrated true random number generator
TW201430699A (zh) * 2013-01-16 2014-08-01 Skymedi Corp 用於亂數產生器之延遲裝置及方法及其亂數產生器
CN105242903A (zh) * 2015-10-21 2016-01-13 昆腾微电子股份有限公司 随机数生成装置和方法
TW202028963A (zh) * 2019-01-28 2020-08-01 新唐科技股份有限公司 隨機亂數產生電子電路及其方法
TW202028962A (zh) * 2019-01-29 2020-08-01 睿寬智能科技有限公司 現場可編程閘陣列的真實隨機數產生裝置及方法
CN111538475A (zh) * 2020-03-25 2020-08-14 上海交通大学 基于fpga的真随机数发生器构建系统及方法
TW202034158A (zh) * 2019-03-13 2020-09-16 力旺電子股份有限公司 隨機數產生器

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9058228B2 (en) * 2013-02-19 2015-06-16 Raytheon Company Random number generator for generating truly random numbers
CN111258548A (zh) * 2018-11-30 2020-06-09 紫光同芯微电子有限公司 一种真随机数发生器
JP7389348B2 (ja) * 2020-03-12 2023-11-30 富士通株式会社 擬似乱数生成回路装置

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030037079A1 (en) * 2001-08-15 2003-02-20 Wilber Scott A. True random number generator and entropy calculation device and method
US20100281088A1 (en) * 2009-04-29 2010-11-04 Psigenics Corporation Integrated true random number generator
CN101620523A (zh) * 2009-07-29 2010-01-06 深圳国微技术有限公司 一种随机数发生器电路
TW201430699A (zh) * 2013-01-16 2014-08-01 Skymedi Corp 用於亂數產生器之延遲裝置及方法及其亂數產生器
CN105242903A (zh) * 2015-10-21 2016-01-13 昆腾微电子股份有限公司 随机数生成装置和方法
TW202028963A (zh) * 2019-01-28 2020-08-01 新唐科技股份有限公司 隨機亂數產生電子電路及其方法
TW202028962A (zh) * 2019-01-29 2020-08-01 睿寬智能科技有限公司 現場可編程閘陣列的真實隨機數產生裝置及方法
TW202034158A (zh) * 2019-03-13 2020-09-16 力旺電子股份有限公司 隨機數產生器
CN111538475A (zh) * 2020-03-25 2020-08-14 上海交通大学 基于fpga的真随机数发生器构建系统及方法

Also Published As

Publication number Publication date
US20220311443A1 (en) 2022-09-29
CN115129296A (zh) 2022-09-30
US11757450B2 (en) 2023-09-12
TW202238365A (zh) 2022-10-01

Similar Documents

Publication Publication Date Title
US11355457B2 (en) Fully digital glitch detection mechanism with process and temperature compensation
US6560716B1 (en) System for measuring delay of digital signal using clock generator and delay unit wherein a set of digital elements of clock generator identical to a set of digital elements of delay unit
US20180219539A1 (en) On-chip waveform measurement
JP4790023B2 (ja) デジタルdll回路
JP5577776B2 (ja) メモリ制御装置及びマスクタイミング制御方法
US9251906B1 (en) Data strobe signal generation for flash memory
TWI778557B (zh) 真實亂數產生器及真實亂數產生方法
JP2010119090A (ja) Dll回路、dll回路のアップデート制御装置、及びdll回路のアップデート方法
US5744992A (en) Digital phase shifter
US6654439B1 (en) High speed linear feedback shift register
US20150110123A1 (en) Limitation of serial link interference
US8008958B2 (en) Electronic device and method of correcting clock signal deviations in an electronic device
US20150145580A1 (en) Apparatus for controlling semiconductor chip characteristics
US20080069277A1 (en) Method and apparatus for modeling signal delays in a metastability protection circuit
JP4383353B2 (ja) ディジタルシステムパフォーマンス向上のシステムおよび方法
TWI638521B (zh) 時脈濾波器及時脈濾波方法
US6885228B2 (en) Non-iterative signal synchronization
TWI753732B (zh) 計數電路及操作系統
TWI811642B (zh) 亂數產生電路及亂數產生方法
US10911035B1 (en) Fixed-width pulse generator
JP3260483B2 (ja) 外部制御信号入力回路
US20060269030A1 (en) Phase lock loop jitter measurement
US8867698B2 (en) Counting circuit, delay value quantization circuit, and latency control circuit
WO2022253834A1 (en) Offset detection
JP2010206603A (ja) 遅延発生装置及びicテスタ

Legal Events

Date Code Title Description
GD4A Issue of patent certificate for granted invention patent