TWI801742B - 熵產生器及產生增強熵的方法 - Google Patents

熵產生器及產生增強熵的方法 Download PDF

Info

Publication number
TWI801742B
TWI801742B TW109121045A TW109121045A TWI801742B TW I801742 B TWI801742 B TW I801742B TW 109121045 A TW109121045 A TW 109121045A TW 109121045 A TW109121045 A TW 109121045A TW I801742 B TWI801742 B TW I801742B
Authority
TW
Taiwan
Prior art keywords
entropy
signal
dynamic
frequency
source
Prior art date
Application number
TW109121045A
Other languages
English (en)
Other versions
TW202105919A (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 熵碼科技股份有限公司
Publication of TW202105919A publication Critical patent/TW202105919A/zh
Application granted granted Critical
Publication of TWI801742B publication Critical patent/TWI801742B/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/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/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/544Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
    • G06F7/5443Sum of products
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03LAUTOMATIC CONTROL, STARTING, SYNCHRONISATION OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES
    • H03L7/00Automatic control of frequency or phase; Synchronisation
    • H03L7/06Automatic control of frequency or phase; Synchronisation using a reference signal applied to a frequency- or phase-locked loop
    • H03L7/08Details of the phase-locked loop
    • H03L7/099Details of the phase-locked loop concerning mainly the controlled oscillator of the loop
    • H03L7/0991Details of the phase-locked loop concerning mainly the controlled oscillator of the loop the oscillator being a digital oscillator, e.g. composed of a fixed oscillator followed by a variable frequency divider
    • H03L7/0994Details of the phase-locked loop concerning mainly the controlled oscillator of the loop the oscillator being a digital oscillator, e.g. composed of a fixed oscillator followed by a variable frequency divider comprising an accumulator
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
    • H04L9/3278Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response using physically unclonable functions [PUF]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Stabilization Of Oscillater, Synchronisation, Frequency Synthesizers (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Manipulation Of Pulses (AREA)
  • Pharmaceuticals Containing Other Organic And Inorganic Compounds (AREA)

Abstract

一種熵產生器,包含靜態熵源、動態熵源及熵增強引擎。靜態熵源用以提供真正隨機靜態熵。動態熵源用以產生動態熵。熵增強引擎耦接於靜態熵源及動態熵源,及用以依據真正隨機靜態熵及動態熵產生增強熵。

Description

熵產生器及產生增強熵的方法
本發明關於亂數產生,特別是一種熵產生器及使用真正隨機靜態熵產生增強熵的方法。
亂數被廣泛應用於資安及統計抽樣等領域。亂數產生係用以產生符合預定分布之獨立且不可預測的數字序列。偽亂數產生器(pseudo-random number generator)使用稱為種子(seed)的熵(entropy)輸入來產生數字序列。種子的隨機性不足會導致產生的序列不夠隨機。因此,選擇足夠隨機的種子對於產生隨機序列而言至關重要,其可確保資安應用程序中的資料安全,並可確保統計採樣應用程序中之採樣結果的正確性。
本發明實施例提出一種熵產生器,包含靜態熵源、動態熵源及熵增強引擎。靜態熵源用以提供真正隨機靜態熵。動態熵源用以產生動態熵。熵增強引擎耦接於靜態熵源及動態熵源,及用以依據真正隨機靜態熵及動態熵產生增強熵。
本發明實施例另提出一種增強熵產生方法,包含藉由靜態熵源提供真正隨機靜態熵,藉由動態熵源產生動態熵,及藉由熵增強引擎依據真正隨機靜態熵及動態熵產生增強熵。
1:熵產生器
10:靜態熵源
12(1)至12(N),12(n):動態熵源
14:熵增強引擎
20:第一振盪器
22:第二振盪器
24,44:結合電路
240:正反器
3:環形振盪器
30:反及閘
32(1)至32(M):反相器
440,520,620:互斥或閘
50,60:初始熵源
52,62:累積電路
622:多工器
624:計數器
626:選擇電路
628:更新電路
800:增強熵產生方法
S802至S806:步驟
a至e:資料
CLK:時脈訊號
cnt:計數訊號
Eac:累積熵
Eac’:新累積熵
Eini:初始熵
Eini(1)至Eini(P):熵位元
EN:致能訊號
Es:真正隨機靜態熵
Ed(1)至Ed(N),Ed(n):動態熵
Eout:增強熵
OSC:振盪訊號
OSC1:第一振盪訊號
OSC2:第二振盪訊號
Sel:選擇訊號
Sr:隨機訊號
t0至t5:時間
第1圖係為本發明實施例中一種熵產生器之方塊圖。
第2圖係為第1圖中之熵產生器的動態熵源之方塊圖。
第3圖係為第2圖中之動態熵源的環形振盪器之方塊圖。
第4圖係為第1圖中之熵產生器的另一種動態熵源之方塊圖。
第5圖係為第1圖中之熵產生器的另一種動態熵源之方塊圖。
第6圖係為第1圖中之熵產生器的另一種動態熵源之方塊圖。
第7圖係為第6圖中之動態熵源的時序圖。
第8圖係為本發明實施例中之一種增強熵產生方法之流程圖。
在本說明書中使用的術語“真正隨機”指的是位元流之漢明權重(hamming weight)及設備間漢明距離(inter-device hamming distance)實質上為50%,且最小熵(min-entropy)實質上為1。漢明權重用於測量位元流中非零符元的期望值,以百分比形式表示。設備間漢明距離測量響應於相同詰問(challenge)而由兩個靜態熵源產生的兩個靜態熵位元流之間的漢明距離。最小熵是位元流之熵值下限,測量位元流的不可預測性。
第1圖係為本發明實施例中一種熵產生器1之方塊圖。熵產生器1可響應於外部電路的請求而提供增強熵Eout。例如,熵產生器1可在確定性隨機位元產生器(deterministic random bit generator)的請求下提供增強熵Eout,用以作為確定性隨機位元產生器的”種子(seed)”。增強熵Eout可以是真正隨機的,並且可由 混合真正隨機靜態熵Es及多個動態熵Ed(1)至Ed(N)來產生。真正隨機靜態熵Es可以是真正隨機位元流,動態熵Ed(1)至Ed(N)可以是也可以不是真正隨機位元流。由於將真正亂數與任一亂數混合會產生真正亂數,所以無論動態熵Ed(1)到Ed(N)是否為真正亂數,增強熵Eout都可為真正亂數。
熵產生器1可包含靜態熵源10、動態熵源12(1)至12(N)及熵增強引擎14。靜態熵源10及動態熵源12(1)至12(N)可耦接於熵增強引擎14,N是正整數。例如,對於熵產生器1中的兩個動態熵源12(1)和12(2)來說,N為2。雖然本實施例中使用了一個靜態熵源10及多個動態熵源12(1)至12(N),但本發明的範圍也包含在熵產生器1中採用二或多個靜態熵源10及/或一個動態熵源12(1)。
靜態熵源10可提供真正隨機靜態熵Es。動態熵源12(1)至12(N)可分別產生動態熵Ed(1)至Ed(N)。熵增強引擎14依據真正隨機靜態熵Es及動態熵Ed(1)至Ed(N)產生增強熵Eout。具體而言,熵增強引擎14可按位元(bitwise)方式將真正隨機靜態熵Es及動態熵Ed(1)至Ed(N)混合以產生增強熵Eout。舉例而言,真正隨機靜態熵Es及動態熵Ed(1)至Ed(N)中之每一者的長度可以是16位元,且熵增強引擎14可對真正隨機靜態熵Es及動態熵Ed(1)到Ed(N)的對應位元執行互斥或運算,以產生增強熵Eout中之相應位元,從而產生16位元的增強熵Eout。熵增強引擎14可包含互斥或(XOR)閘,或採用資料加密標準(data encryption standard,DES)算法、高級加密標準(advanced encryption standard,AES)算法或哈希函數來執行混合的處理器。在一些實施例中,熵增強引擎14可另包含偽亂數產生器。偽亂數產生器可以是線性回饋移位暫存器,且可將互斥或閘或處理器的輸出作為種子以產生增強熵Eout。
靜態熵源10可以是物理不可複製功能(physically unclonable function,PUF),非揮發性記憶體或包含多個真正隨機靜態熵位元的固定邏輯電路。例如,物理不可複製功能可以是32位元乘32位元的記憶體單元,包含熵位元池,且記憶體單元的每一行、每一列或對角線都可包含真正的隨機熵位元。熵位元池可包含複數個熵位元,複數個熵位元具有固定值,且對於採用熵產生器1的每個裝置來說各自的複數個熵位元都不相同。物理不可複製功能可依據預定的選定演算法輸出真正隨機靜態熵Es。例如,物理不可複製功能可以預定的列順序從多列記憶體單元中選擇熵位元,以作為真正隨機靜態熵Es。在一些實施例中,靜態熵源10可以為產生真正隨機靜態熵Es的偽亂數產生器(pseudo random number generator,PRNG)(稱為確定性隨機位元產生器(deterministic random bit generator,DRBG))。
動態熵源12(1)至12(N)可分別即時產生動態熵Ed(1)至Ed(N)。第2圖係為熵產生器1的動態熵源12(n)之方塊圖,n是介於1及N之間的整數。動態熵源12(n)可包含第一振盪器20,第二振盪器22及結合電路24。結合電路24可包含正反器240。第一振盪器20和第二振盪器22可耦接於正反器240。
第一振盪器20可產生第一振盪訊號OSC1,第一振盪訊號OSC1以第一頻率振盪。第二振盪器22可產生第二振盪訊號OSC2,第二振盪訊號OSC2以第二頻率振盪。結合電路24可根據第一振盪訊號OSC1及第二振盪訊號OSC2產生動態熵Ed(n)。第一振盪器20及第二振盪器22可為環形振盪器。
在一些實施例中,正反器240可使用第二振盪訊號OSC2對第一振盪訊號OSC1進行採樣,以產生動態熵Ed(n)。在一些實施例中,第一頻率和第二頻 率可不同,且第一頻率及第二頻率可為質數的倍數,即第一振盪訊號OSC1及第二振盪訊號OSC2的準位切換未對齊。例如第一頻率可以是3MHz,第二頻率可以是5MHz。由於一質數不能被另一質數完全整除,因此正反器240可以依序產生動態熵Ed(n)。在其他實施例中,第一頻率及第二頻率可實質上相等,例如第一頻率及第二頻率都可以是3MHz。由於第一振盪器20及第二振盪器22的元件、繞線、電壓及工作溫度環境可不完全相同,因此第一振盪訊號OSC1及第二振盪訊號OSC2可持續互相競爭以搶先到達正反器240,從而依序產生隨機的邏輯準位“0”或邏輯準位“1”作為動態熵Ed(n)。
第一振盪器20及第二振盪器22可由第3圖中之環形振盪器3實現。環形振盪器3可包含反及閘30及反相器32(1)至32(M),M是偶數。反及(NAND)閘30可耦接於第一反相器32(1),反相器32(1)至32(M)可依順序彼此耦接,且最後的反相器32(M)可耦接於反及閘30。
反及閘30可接收致能訊號EN以啟動環形振盪器3並輸出反及輸出。當致能訊號EN被設置於邏輯準位“0”時,環形振盪器3被停用以停止產生振盪訊號OSC。當致能訊號EN被設置於邏輯準位“1”時,環形振盪器3被啟動以產生振盪訊號OSC。振盪訊號OSC的頻率可由反相器32(1)至32(M)的總延遲來判定。反相器32(1)至32(M)的總數增加會造成總延遲增加,從而降低振盪訊號OSC的頻率。
第4圖係為熵產生器1的另一種動態熵源12(n)之方塊圖。第4圖及第2圖中之動態熵源12(n)相似,但第4圖中之結合電路44另包含互斥或閘440。互斥或閘440耦接於第一振盪器20、第二振盪器22及正反器240。第一振盪訊號OSC1 的第一頻率及第二振盪訊號OSC2的第二頻率可不同,且第一頻率及第二頻率都可為質數的倍數。互斥或閘440可對第一振盪訊號OSC1及第二振盪訊號OSC2執行互斥或運算以產生隨機訊號Sr。正反器240可使用時脈訊號CLK對隨機訊號Sr進行採樣以產生動態熵Ed(n)。時脈訊號CLK可由熵產生器1內部或外部的另一振盪器產生。
第5圖係為熵產生器1的另一種動態熵源12(n)之方塊圖。動態熵源12(n)可包含初始熵源50及耦接於初始熵源50的累積電路52。
初始熵Eini可以是一位元流,該位元流以時間順序排列的序列,包含熵位元Eini(1)至Eini(P),P為正整數,例如P可以是4。初始熵源50可以由第2圖中的第一振盪器20、第二振盪器22及結合電路24,或第4圖中的第一振盪器20、第二振盪器22及結合電路44來實現。
累積電路52可將熵位元Eini(1)至Eini(P)結合成動態熵Ed(n)中的位元。累積電路52可包含耦接於初始熵源50的互斥或閘520。互斥或閘520可獲取預定的時段(例如4個時脈週期)中的熵位元Eini(1)至Eini(P),且對熵位元Eini(1)至Eini(P)執行互斥或運算以產生動態熵Ed(n)中的位元。即累積電路52可在每預定時段後產生一位元。相較於第2圖及第4圖,第5圖中的動態熵源12(n)可以更增加動態熵Ed(n)的最小熵。
第6圖係為熵產生器1的另一種動態熵源12(n)之方塊圖。動態熵源12(n)可包含初始熵源60及耦接於初始熵源60的累積電路62。初始熵源60可產生攜帶熵位元序列的隨機訊號Sr。累積電路62可結合預定的時段(例如四個時脈週 期)中的熵位元的序列以在動態熵Ed(n)中產生位元。
初始熵源60可包含第一振盪器20、第二振盪器22及互斥或閘440。第一振盪器20、第二振盪器22及互斥或閘440的配置及操作與第4圖相似,在此不再贅述。累積電路62可包含互斥或閘620、多工器622、計數器624、選擇電路626、正反器240及更新電路628。互斥或閘620可耦接於互斥或閘440。計數器624可耦接於選擇電路626。多工器622可耦接於互斥或閘440、互斥或閘620及選擇電路626。正反器240可具有輸入資料端D,耦接於多工器622;時脈端,用以接收時脈訊號CLK;及輸出資料端Q。更新電路628可耦接於選擇電路626及正反器240的輸出資料端Q。
互斥或閘620可將隨機訊號Sr中的熵位元與累積熵Eac相加以產生新累積熵Eac'。累積熵Eac可包含在預定時段之內的累積熵位元。多工器622可從選擇電路626接收選擇訊號sel,以從隨機訊號Sr及新累積熵Eac'中選擇一者以產生多工器輸出訊號。在一些實施例中,當選擇訊號sel被設置為邏輯準位“0”時,多工器622可選擇新累積熵Eac'作為多工器輸出訊號。當選擇訊號sel被設置為邏輯準位“1”時,多工器622可選擇隨機訊號Sr作為多工器輸出訊號。正反器240可對多工器輸出訊號進行採樣以產生累積熵Eac。
更新電路628可在預定時段的第一時脈週期依據累積熵Eac來更新動態熵Ed(n)。在一些實施例中,更新電路628可為開關,依據選擇訊號sel在更新電路628之內部的累積熵Eac和動態熵Ed(n)之間進行選擇以產生動態熵Ed(n)。當選擇訊號sel被設置至邏輯準位“1”時,更新電路628可選擇累積熵Eac以更新動態熵Ed(n),並且當選擇訊號sel被設置為邏輯準位“0”時,更新電路628可維持動態熵 Ed(n)中的電壓準位而不進行更新。以這種方式,更新電路628可在每預定時間週期更新動態熵Ed(n)。
計數器624可由致能訊號EN致能,並且可以是環形計數器,於時脈訊號CLK的每個時脈脈衝更新計數訊號cnt。計數訊號cnt可對預定時段進行計數。選擇電路626可依據計數訊號cnt產生選擇訊號sel。在預定時段的第一時脈週期時,選擇電路626可將選擇訊號sel設置為邏輯準位“1”,以便重置累積熵Eac及更新動態熵Ed(n)。相較於第2圖及第4圖,第6圖中的動態熵源12(n)可以更增加動態熵Ed(n)的最小熵。
第7圖係為第6圖中之動態熵源12(n)的時序圖,顯示時脈訊號CLK、第一振盪訊號OSC1、第二振盪訊號OSC2、計數訊號cnt、選擇訊號sel及累積熵Eac的波形。
在時間t0,計數訊號cnt從資料狀態“0”開始,選擇訊號sel被設置為邏輯準位“1”,以選擇隨機訊號Sr作為多工器輸出訊號。在時間t1,計數訊號cnt進入資料狀態“1”,隨機訊號Sr具有第一資料“a”,“a”是第一振盪訊號OSC1及第二振盪訊號OSC2的值之和。在時間t1,正反器240對多工器輸出訊號中的第一資料“a”進行採樣以更新累積熵Eac,然後將選擇訊號sel設置為邏輯準位“0”以選擇新累積熵Eac’作為多工器輸出訊號。在時間t2,計數訊號cnt進入資料狀態“2”,新累積熵Eac’具有第二資料“a+b”,“b”是第一振盪訊號OSC1及第二振盪訊號OSC1在時刻t2的值之和,正反器240對多工器輸出訊號中的第二資料“a+b”進行採樣以更新累積熵Eac,然後將選擇訊號sel保持在邏輯準位“0”以選擇新累積熵Eac'作為多工器輸出訊號。在時間t3,計數訊號cnt進入資料狀態“3”,新累積熵Eac'具有 第三資料“a+b+c”,“c”是第一振盪訊號OSC1及第二振盪訊號OSC1在時刻t3的值之和,正反器240對多工器輸出訊號中的第三資料“a+b+c”進行採樣以更新累積熵Eac,然後選擇訊號sel保持在邏輯準位“0”以選擇新累積熵Eac'作為多工器輸出訊號。在時間t4,計數訊號cnt再循環到資料狀態“0”,新累積熵Eac'具有第四資料“a+b+c+d”,“d”是第一振盪訊號OSC1及第二振盪訊號OSC1在時刻t4的值之和,正反器240對多工器輸出訊號中的第四資料“a+b+c+d”進行採樣,以更新累積熵Eac,然後將選擇訊號sel設置為邏輯準位“1”以選擇隨機訊號Sr作為多工器輸出訊號。在時間t5,計數訊號cnt進入資料狀態“1”,隨機訊號Sr具有第五資料“e”,正反器240在多工器輸出訊號中採樣第五資料“e”以更新累積熵Eac,然後將選擇訊號sel設置為邏輯準位“0”,以選擇新累積熵Eac'作為多工器輸出訊號。
熵產生器1利用真正隨機靜態熵Es及動態熵Ed(1)至Ed(N)來提供增強熵Eout的真正隨機性及動態隨機性,從而為使用熵產生器1的裝置提供資料安全性。
第8圖係為本發明實施例中一種增強熵產生方法800之流程圖。增強熵產生方法800包含步驟S802至S806,使用真正隨機靜態熵Es及動態熵Ed(n)產生增強熵Eout。任何合理的步驟改變或調整都在本公開的範圍內。步驟S802至S806說明如下:步驟S802:靜態熵源10提供真正隨機靜態熵Es;步驟S804:動態熵源12(n)產生動態熵Ed(n);步驟S806:熵增強引擎14依據真正隨機靜態熵Es及動態熵Ed(n)產生增強熵Eout。
方法800的細節已經在前面的段落中解釋,在此不再贅述。方法800利用真正隨機靜態熵Es及動態熵Ed(n)來提供增強熵Eout的真正隨機性及動態隨機性,從而為安全裝置提供資料安全性。以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。
1:熵產生器
10:靜態熵源
12(1),12(N):動態熵源
14:熵增強引擎
Es:真正隨機靜態熵
Ed(1),Ed(N):動態熵
Eout:增強熵

Claims (10)

  1. 一種熵產生器,包含:一靜態熵源,用以提供一真正隨機靜態熵;一動態熵源,用以產生一動態熵,該動態熵源包含:一初始熵源,包含一輸入端用以產生以時序排列之一熵位元序列;一累積電路,耦接於該初始熵源,用以將以時序排列之該熵位元序列結合為該動態熵之一位元,該累積電路包含:一計數器,包含一時脈端,用以接收一時脈訊號,及一輸出端,用以依據該時脈訊號產生一計數訊號;一選擇電路,包含一輸入端,耦接於該計數器的該輸出端,及一輸出端,用以依據該計數訊號輸出一選擇訊號;一互斥或閘,包含一第一輸入端,一第二輸入端,耦接於該初始熵源的該輸出端,及一輸出端,用以產生一新累積熵;一多工器,包含一第一輸入端,耦接於該初始熵源的該輸出端,一第二輸入端,耦接於該互斥或閘的該輸出端,一選擇端,耦接於該選擇電路的該輸出端,及一輸出端,用以依據該選擇訊號選擇該熵位元序列之一位元及該新累積熵中之一者以輸出一多工器輸出訊號;一正反器,包含一輸入資料端,耦接於該多工器的該輸出端,一時脈端,用以接收該時脈訊號,及一輸出端,耦接於該互斥或閘的該第一輸入端,用以依據該多工器輸出訊號輸出一累積熵:及一更新電路,包含一輸入端,耦接於該正反器的該輸出端,及一輸出端,用以於每個預定時段依據該累積熵產生該動態熵之 該位元;及一熵增強引擎,耦接於該靜態熵源及該動態熵源,及用以依據該真正隨機靜態熵及該動態熵產生一增強熵;其中該真正隨機靜態熵具有實質上50%的一漢明權重(hamming weight),實質上50%的一字串間漢明距離(inter-hamming distance)及實質上為1的一最小熵(min-entropy);及該增強熵係為動態的。
  2. 如請求項1所述之熵產生器,其中:該初始熵源包含:一第一振盪器,用以產生一第一振盪訊號,該第一振盪訊號以一第一頻率振盪;一第二振盪器,用以產生一第二振盪訊號,該第二振盪訊號以一第二頻率振盪;一結合電路,耦接於該第一振盪器及該第二振盪器,用以根據該第一振盪訊號及該第二振盪訊號依序產生該熵位元序列。
  3. 如請求項2所述之熵產生器,其中該第一頻率及該第二頻率相異。
  4. 如請求項2所述之熵產生器,其中該第一頻率及該第二頻率相同。
  5. 如請求項1所述之熵產生器,其中該靜態熵源係由一物理不可複製功能(physically unclonable function)產生。
  6. 一種增強熵產生方法,於一裝置內使用,該增強熵產生方法包含:藉由一靜態熵源提供一真正隨機靜態熵;藉由一初始熵源產生以時序排列之一熵位元序列;藉由一計數器依據一時脈訊號產生一計數訊號;藉由一選擇電路依據該計數訊號輸出一選擇訊號;藉由一互斥或閘依據該熵位元序列產生一新累積熵;藉由一多工器依據該選擇訊號選擇該熵位元序列之一位元及該新累積熵中之一者以輸出一多工器輸出訊號;藉由一正反器依據該多工器輸出訊號輸出一累積熵;藉由一更新電路於每個預定時段依據該累積熵產生該動態熵之該位元;及藉由一熵增強引擎依據該真正隨機靜態熵及該動態熵產生一增強熵;其中該真正隨機靜態熵具有實質上50%的一漢明權重,實質上50%的一字串間漢明距離及實質上為1的一最小熵;及該增強熵係為動態的。
  7. 如請求項6所述之方法,其中:產生以時序排列之該熵位元序列包含:藉由一第一振盪器產生一第一振盪訊號,該第一振盪訊號以一第一頻率振盪;藉由一第二振盪器產生一第二振盪訊號,該第二振盪訊號以一第二頻率振盪,該第一頻率及該第二頻率相異;及藉由一結合電路根據該第一振盪訊號及該第二振盪訊號依序產生該熵位元序列。
  8. 如請求項7所述之方法,其中該第一頻率及該第二頻率相異。
  9. 如請求項7所述之方法,其中該第一頻率及該第二頻率相同。
  10. 如請求項6所述之方法,其中該靜態熵源係由一物理不可複製功能產生。
TW109121045A 2019-07-25 2020-06-22 熵產生器及產生增強熵的方法 TWI801742B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201962878725P 2019-07-25 2019-07-25
US62/878,725 2019-07-25
US16/858,710 US20210026602A1 (en) 2019-07-25 2020-04-27 Entropy Generator and Method of Generating Enhanced Entropy Using Truly Random Static Entropy
US16/858,710 2020-04-27

Publications (2)

Publication Number Publication Date
TW202105919A TW202105919A (zh) 2021-02-01
TWI801742B true TWI801742B (zh) 2023-05-11

Family

ID=70736742

Family Applications (1)

Application Number Title Priority Date Filing Date
TW109121045A TWI801742B (zh) 2019-07-25 2020-06-22 熵產生器及產生增強熵的方法

Country Status (5)

Country Link
US (1) US20210026602A1 (zh)
EP (1) EP3770750A1 (zh)
JP (1) JP2021021937A (zh)
CN (1) CN112306456B (zh)
TW (1) TWI801742B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113377337B (zh) * 2021-07-07 2022-11-04 山东方寸微电子科技有限公司 一种真随机数发生器及芯片
US20240126509A1 (en) * 2022-10-11 2024-04-18 Analog Devices International Unlimited Company Random number generation

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100031065A1 (en) * 2006-11-06 2010-02-04 Yuichi Futa Information security apparatus
WO2012014291A1 (ja) * 2010-07-28 2012-02-02 学校法人立命館 耐タンパ性メモリ集積回路およびそれを利用した暗号回路
JP2019016321A (ja) * 2017-07-11 2019-01-31 株式会社吉川アールエフセミコン 乱数生成回路
EP3503079A1 (en) * 2013-12-31 2019-06-26 ICTK Holdings Co., Ltd. Apparatus and method for processing random number extracted from pufs

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4694412A (en) * 1982-09-22 1987-09-15 Intel Corporation Random number generator for use in an authenticated read-only memory
US5963104A (en) * 1996-04-15 1999-10-05 Vlsi Technology, Inc. Standard cell ring oscillator of a non-deterministic randomizer circuit
US7047262B2 (en) * 2002-08-21 2006-05-16 Koninklijke Philips Electronics N.V. Entropy estimation and decimation for improving the randomness of true random number generation
US8010587B2 (en) * 2007-09-06 2011-08-30 Intel Corporation Random number generator
US9383969B2 (en) * 2011-04-05 2016-07-05 Intrinsic Id B.V. Random number generating system based on memory start-up noise
US9846568B2 (en) * 2013-05-23 2017-12-19 Synopsys, Inc. System and method for dynamic tuning feedback control for random number generator
KR20170019702A (ko) * 2015-08-12 2017-02-22 삼성전자주식회사 난수 발생 장치
US10031723B1 (en) * 2016-03-08 2018-07-24 Secturion Systems, Inc. Systolic random number generator
JP7013447B2 (ja) * 2016-08-19 2022-01-31 オラクル・インターナショナル・コーポレイション 多様なソースからのエントロピの収集
US10917251B2 (en) * 2018-03-30 2021-02-09 Intel Corporation Apparatus and method for generating hybrid static/dynamic entropy physically unclonable function
US11294640B2 (en) * 2019-03-13 2022-04-05 Ememory Technology Inc. Random number generator

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100031065A1 (en) * 2006-11-06 2010-02-04 Yuichi Futa Information security apparatus
WO2012014291A1 (ja) * 2010-07-28 2012-02-02 学校法人立命館 耐タンパ性メモリ集積回路およびそれを利用した暗号回路
EP3503079A1 (en) * 2013-12-31 2019-06-26 ICTK Holdings Co., Ltd. Apparatus and method for processing random number extracted from pufs
JP2019016321A (ja) * 2017-07-11 2019-01-31 株式会社吉川アールエフセミコン 乱数生成回路

Also Published As

Publication number Publication date
US20210026602A1 (en) 2021-01-28
TW202105919A (zh) 2021-02-01
CN112306456B (zh) 2024-06-25
EP3770750A1 (en) 2021-01-27
CN112306456A (zh) 2021-02-02
JP2021021937A (ja) 2021-02-18

Similar Documents

Publication Publication Date Title
US7376687B2 (en) Pseudo-random number generator
EP1782181B1 (en) Method and apparatus for generating random data
CN111694545B (zh) 随机数产生器
US8410857B2 (en) Apparatus and method for generating a random bit sequence
JP7006887B2 (ja) 乱数発生器及び出力乱数を生成する方法
US9047152B2 (en) Delay device, method, and random number generator using the same
JP2006139756A (ja) 乱数発生器および乱数を発生する方法
KR101987141B1 (ko) 난수 발생기
TWI801742B (zh) 熵產生器及產生增強熵的方法
US20190012148A1 (en) Random number generator
Yakut et al. Secure and efficient hybrid random number generator based on sponge constructions for cryptographic applications
WO2022042065A1 (zh) 随机数生成器及随机数生成方法
TWI579763B (zh) 具有亂數產生模式的儲存電路
Lee et al. Implementing a phase detection ring oscillator PUF on FPGA
Justin et al. FPGA implementation of high quality random number generator using LUT based shift registers
Gudla et al. Design and implementation of digital clock manager based pseudo-true random number generator
KR102197744B1 (ko) 무작위 천이 규칙을 적용한 셀룰러 오토마타 기반 참 난수 생성 장치
US20230333818A1 (en) Entropy Generator and Method of Generating Enhanced Entropy Using Truly Random Static Entropy
Anchana et al. Design of PUF Based Chaotic Random Number Generator
Mao et al. Zero-bias true random number generator using LFSR-based scrambler
Generator et al. Linear Circuit PRNGs
BS et al. A Low Power Dual-CLCG for Pseudorandom Bit Generation.
TW200414027A (en) Device and method for generating a pseudorandom sequence of numbers
Singh et al. LFSR Base Random Number Generator Design in 50nm Technology
Jessa A digital true random number generator implemented in different Xilinx FPGAs