TW202034158A - 隨機數產生器 - Google Patents

隨機數產生器 Download PDF

Info

Publication number
TW202034158A
TW202034158A TW109106417A TW109106417A TW202034158A TW 202034158 A TW202034158 A TW 202034158A TW 109106417 A TW109106417 A TW 109106417A TW 109106417 A TW109106417 A TW 109106417A TW 202034158 A TW202034158 A TW 202034158A
Authority
TW
Taiwan
Prior art keywords
random number
signal
circuit
terminal
shift register
Prior art date
Application number
TW109106417A
Other languages
English (en)
Other versions
TWI758688B (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 TW202034158A publication Critical patent/TW202034158A/zh
Application granted granted Critical
Publication of TWI758688B publication Critical patent/TWI758688B/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
    • G06F7/584Pseudo-random number generators using finite field arithmetic, e.g. using a linear feedback shift 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

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)
  • Tests Of Electronic Circuits (AREA)
  • Logic Circuits (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Pinball Game Machines (AREA)
  • Dram (AREA)

Abstract

一種隨機數產生器,包括一位址產生器、一靜態亂數源、一計數值產生器與一處理電路。計數值產生器產生一第一隨機數。位址產生器產生一位址信號。靜態亂數源連接至該位址產生器以接收該位址信號,並產生一第二隨機數。處理電路連接至該靜態亂數源與該計數值產生器,用以接收該第一隨機數與該第二隨機數。該處理電路對該第一隨機數與該第二隨機數進行一邏輯運算後產生一輸出隨機數。

Description

隨機數產生器
本發明是有關於一種隨機數產生器(random number generator,簡稱RNG),且特別是有關於一種運用物理不可複製技術(physically unclonable function,簡稱PUF技術)的隨機數產生器。
請參照第1A圖,其所繪示為習知隨機數產生器示意圖。隨機數產生器100包括一動態亂數源(dynamic entropy source)110。動態亂數源110可產生不可預測的(unpredictable)輸出資料(output data)作為隨機數(random number)。
動態亂數源110可利用本身的不確定性(uncertainty)來產生隨機數。也就是說,動態亂數源110可產生一連串無法預測的邏輯"0"與邏輯"1"來作為隨機數。
一般來說,第1A圖的隨機數產生器100,其輸出資料的隨機度完全依賴動態亂數源110的品質。當動態亂數源110的品質不佳時,動態亂數源110會產生隨機度不佳(bad randomness)的輸出資料。
為了改善隨機度不佳的情況發生。請參照第1B圖,其所繪示為習知另一隨機數產生器示意圖。隨機數產生器150包括一動態亂數源110、一處理電路120以及一健康測試電路(health test circuit)130。
動態亂數源110產生一生成資料(generated data)並輸入處理電路120。處理電路120再將生成資料進行運算後,產生輸出資料作為隨機數。基本上,處理電路120可以將生成資料進行特定演算法,並產生隨機度較佳的輸出資料作為隨機數。舉例來說,處理電路120可為安全散列算法電路(SHA circuit)、高級加密標準電路(AES circuit)等等。因此,在隨機數產生器150中,利用處理電路120對生成資料進一步處理後,可產生隨機度較佳的輸出資料。
另外,健康測試電路130接收動態亂數源110輸出的生成資料,並對生成資料進行評估。當健康測試電路130判斷出生成資料的隨機度不佳時,健康測試電路130產生警告信號(alarm)。舉例來說,動態亂數源110輸出的生成資料中,邏輯"1"連續出現的數目過多時,健康測試電路130產生警告信號。或者,動態亂數源110產生的生成資料中,相同的圖樣(pattern)連續出現時,健康測試電路130也會產生警告信號。
由於第1A圖與第1B圖的隨機數產生器100與150利用動態亂數源110來產生隨機數,所以稱之為真隨機數產生器(true random number generator,簡稱TRNG)。
物理不可複製技術(physically unclonable function,簡稱PUF技術)是一種利用半導體晶片的製造變異(manufacturing variation)來獲得獨特的隨機數。亦即,就算有精確的製程步驟可以製作出半導體晶片,但是其隨機數幾乎不可能被複製(duplicate)。因此,具有PUF技術的半導體晶片通常被運用於高安全防護的應用(applications with high security requirements)。
美國專利號US 9,613,714揭露一種具反熔絲電晶體型態記憶胞(antifuse transistor type memory cell)的隨機數產生器。由於反熔絲電晶體型態記憶胞的製程變異,對反熔絲記憶胞進行編程動作(program)後,並無法預測反熔絲記憶胞的儲存狀態,亦即無法預測反熔絲型記憶胞中儲存的邏輯準位。因此,反熔絲記憶胞即可視為一種PUF記憶胞。其中,編程動作又可稱為註冊動作(enrollment)。
另外,將多個PUF記憶胞組成一PUF記憶胞陣列(PUF cell array)後,對PUF記憶胞陣列中的所有PUF記憶胞進行註冊動作後,將使得每個PUF記憶胞中儲存特定的邏輯準位。
由於每個PUF記憶胞中的邏輯準位無法預測,所以必須對PUF憶胞陣列進行讀取動作後,才可確認每個反熔絲記憶胞中的邏輯準位,並作為隨機數。基本上,記憶胞陣列進行註冊動作(enrollment)後,雖然無法預測PUF記憶胞所儲存的邏輯準位,但是每個PUF記憶胞所儲存的邏輯準位已經決定了,且無法再更改。利用此特性所實現的隨機數產生器稱為偽隨機數產生器(pseudo random number generator,簡稱PRNG)。
而利用PUF記憶胞組成的記憶胞陣列來製造出真隨機數產生器(TRNG)為本發明所欲達成的目的。
本發明係有關於一種隨機數產生器,包括:一計數值產生器,產生一第一隨機數;一位址產生器,產生一位址信號;一靜態亂數源,連接至該位址產生器以接收該位址信號,並產生一第二隨機數;以及一處理電路,連接至該靜態亂數源與該計數值產生器,用以接收該第一隨機數與該第二隨機數,其中該處理電路對該第一隨機數與該第二隨機數進行一邏輯運算後產生一輸出隨機數。
本發明係有關於一種隨機數產生器,包括:一第一動態亂數源,產生一觸發信號;一第二動態亂數源,產生一第一種子信號與一第二種子信號;一計數值產生器,連接至該第二動態源用以接收該第一種子信號並產生一第一隨機數;一位址產生器,連接至該第二動態源用以接收該第二種子信號,並產生一位址信號;一靜態亂數源,連接至該位址產生器用以接收該位址信號,並產生一第二隨機數;一處理電路,連接至該靜態亂數源與該計數值產生器,用以接收該第一隨機數與該第二隨機數,其中該處理電路對該第一隨機數與該第二隨機數進行一邏輯運算後產生一輸出隨機數;一控制電路,連接至該第一動態亂數源用以接收該觸發信號,其中當該觸發信號動作時,該控制電路選擇性地產生一第一再種子信號至該計數值產生器。
為了對本發明之上述及其他方面有更佳的瞭解,下文特舉較佳實施例,並配合所附圖式,作詳細說明如下:
根據本發明的實施例,隨機數產生器中包括由多個PUF記憶胞所組成的PUF記憶胞陣列,作為靜態亂數源(static entropy source)。如第2圖所示,其為靜態亂數源的一實施例。靜態亂數源為PUF記憶胞陣列200,PUF記憶胞陣列200共有128×32個PUF記憶胞c0,0~c127,31,共可儲存4Kbits的隨機位元。
也就是說,對PUF記憶胞陣列200中的所有PUF記憶胞c0,0~c127,31進行註冊動作(enrollment)後,將使得每個PUF記憶胞c0,0~c127,31中儲存一個特定邏輯準位,亦即隨機位元。由於每個PUF記憶胞c0,0~c127,31中的邏輯準位無法預測,所以必須對PUF憶胞陣列c0,0~c127,31進行讀取動作後,才可確認每個反熔絲記憶胞中的邏輯準位,並作為隨機數。
再者,PUF記憶胞陣列200中包括128(亦即,27 )條字元線(word line,WL0~WL127),每條字元線對應地連接至32個PUF記憶胞。舉例來說,字元線WL0連接至32個PUF記憶胞c0,0~c0,31,共可儲存32位元的隨機位元(random bits)。
另外,當PUF記憶胞陣列接收到的位址信號為"0"時,則字元線WL0動作,且對應的32個PUF記憶胞c0,0~c0,31中的隨機位元會經由對應的位元線BL0~BL31傳遞至感測放大器210,並輸出一組32位元的隨機數D。同理,當PUF記憶胞陣列接收到的位址信號為"127"時,則字元線WL127動作,且對應的32個PUF記憶胞c127,0~c127,31中的隨機位元會經由對應的位元線BL0~BL31傳遞至感測放大器210,並輸出一組32位元的隨機數D。
請參照第3圖,其所繪示為本發明隨機數產生器的第一實施例。隨機數產生器300包括一位址產生器(address generator)305、一靜態亂數源310、一計數值產生器(counting value generator)320以及一處理電路(processing circuit)330。其中,將PUF記憶胞陣列進行註冊動作(enrollment)後,PUF記憶胞陣列即可作為靜態亂數源310。
根據本發明的第一實施例,計數值產生器320產生第一隨機數D1至處理電路330。靜態亂數源310連接至位址產生器305。根據位址產生器輸出的一位址信號A,靜態亂數源310產生第二隨機數D2至處理電路330。再者,處理電路330處理第一隨機數D1與第二隨機數D2後,產生一輸出隨機數Dout。如此,隨機數產生器300可產生隨機度較佳的輸出隨機數Dout。
舉例來說,靜態亂數源310產生32位元(32bits)的第二隨機數D2,計數值產生器320產生32位元的第一隨機數D1,處理電路330將第一隨機數D1與第二隨機數D2進行一邏輯運算(logical operation)後,產生32位元的輸出隨機數Dout。
上述的邏輯運算可為互斥或運算(exclusive or operation,XOR operation)。亦即,第一隨機數D1的最高位元(most significant bit,MSB)與第二隨機數D2的最高位元進行互斥或運算後,產生最高位元的輸出隨機數Dout。依此類推,第一隨機數D1的最低位元(least significant bit,LSB)與第二隨機數D2的最低位元進行互斥或運算後,產生最低位元的輸出隨機數Dout。
再者,計數值產生器320可由一般的計數器(counter)或者線性回饋移位暫存器(linear feedback shift register,簡稱LFSR)來實現。以下介紹線性回饋移位暫存器。
線性位移暫存器包括一移位暫存器(shift register)以及一連接多項式(connection polynomial)。經過適當的設計連接多項式後,線性回饋移位暫存器可在多個狀態之間重複循環。
請參照第4A圖與第4B圖,其所繪示為3位元的線性回饋移位暫存器以及相關運作示意圖。線性位移暫存器400包括一移位暫存器410以及一互斥或閘(XOR gate)420。其中,移位暫存器410的b2位元與b1位元分別輸入互斥或閘410的二個輸入端,互斥或閘420的輸出端則輸入移位暫存器410的位元b0。因此,連接多項式g(x)即為,g(x)=x2 +x1 +1。
移位暫存器410可接收一種子信號(seed signal)seed,並儲存至移位暫存器410。之後,移位暫存器410即根據連接多項式g(x)來達成多個狀態之間重複循環的目的。
舉例來說,假設輸入移位暫存器410的種子信號seed為"101",則線性回饋移位暫存器400的初始狀態即為"101"。如第4B圖所示,線性回饋移位暫存器400會由初始"101"狀態依序改變為"110"狀態、"111"狀態、"011"狀態、"001"狀態、"100"狀態、"010"狀態。之後,再次回到"101"狀態並繼續重複循環。亦即,線性回饋移位暫存器400會在7個狀態之間重複循環。
再者,如果線性回饋移位暫存器400在運作的過程中,另外將另一種子信號seed,例如"011",載入移位暫存器410時,則不論線性回饋移位暫存器400處在何種狀態,線性回饋移位暫存器400會直接跳至"011"狀態,並開始在7個狀態之間重複循環。舉例來說,假設線性回饋移位暫存器400在"010"狀態時接收到"011"的種子信號seed,則線性回饋移位暫存器400會直接跳至"011"狀態,並且依序改變為"001"狀態、"100"狀態、"010"狀態、"101"狀態、"110"狀態、"111"狀態,並在7個狀態之間重複循環。
基本上,種子信號seed不可以是"000",亦即線性回饋移位暫存器400不可出現"000"狀態。而經由適當地設計連接多項式g(x),可使得三位元的線性回饋移位暫存器400在7個(23 -1)狀態之間重複循環。
同理,n位元的線性回饋移位暫存器將可在(2n -1)個狀態之間重複循環。例如,當n=7時,7位元的線性回饋移位暫存器將可在127(27 -1)個狀態之間重複循環。當n=32時,32位元的線性回饋移位暫存器將可在(232 -1)個狀態之間重複循環。
再者,第一實施例隨機數產生器中的計數值產生器320以及位址產生器305皆可利用線性回饋移位暫存器來實現。
請參照第5圖,其所繪示為本發明隨機數產生器的第二實施例。隨機數產生器500包括一第一線性回饋移位暫存器520、一靜態亂數源310、一第二線性回饋移位暫存器505以及一處理電路330。其中,將PUF記憶胞陣列進行註冊動作(enrollment)後,PUF記憶胞陣列即可作為靜態亂數源310。
再者,第二線性回饋移位暫存器505的狀態即作為位址信號A,輸入靜態亂數源310。靜態亂數源310根據位址信號A,產生第二隨機數D2至處理電路330。再者,第一線性回饋移位暫存器520的狀態即作為第一隨機數D1,可輸入處理電路330。再者,處理電路330處理第一隨機數D1與第二隨機數D2後,產生一輸出隨機數Dout。
舉例來說,靜態亂數源310為一PUF記憶胞陣列包括128×32個PUF記憶胞,PUF記憶胞陣列儲存4Kbits的隨機位元(random bits),並作為靜態亂數源310。因此,第二線性回饋移位暫存器505可為7位元線性回饋移位暫存器,可產生7位元的位址信號A至靜態亂數源310,並使得靜態亂數源310產生32位元的第二隨機數D2。另外,第一線性回饋移位暫存器520可為32位元線性回饋移位暫存器,可產生32位元的第一隨機數D1。
根據本發明的第二實施例,於隨機數產生器500開始運作時,提供一第一初始種子信號seed1至第一線性回饋移位暫存器520,提供第二初始種子信號seed2至第二線性回饋移位暫存器505。因此,第一線性回饋移位暫存器520將可在(232 -1)個狀態之間重複循環,並產生第一隨機數D1,第二線性回饋移位暫存器505可在127(27 -1)個狀態之間重複循環,並產生位址信號A。
於前一狀態時,靜態亂數源310根據位址信號A產生32位元的第二隨機數D2,第一線性回饋移位暫存器520產生32位元的第一隨機數D1,處理電路330將第一隨機數D1與第二隨機數D2進行一邏輯運算(logical operation)後,產生32位元的輸出隨機數Dout。
之後,在另外一個狀態時,靜態亂數源310根據另一個位址信號A產生另一個32位元的第二隨機數D2,第一線性回饋移位暫存器520產生另一個32位元的第一隨機數D1。而處理電路330將另一第一隨機數D1與另一第二隨機數D2進行邏輯運算後,產生另一個32位元的輸出隨機數Dout。
依此類推,每當隨機數產生器500改變狀態時,隨機數產生器500即可產生一個32位元的輸出隨機數Dout。相較於第一實施例,利用上述方式運作的第二實施例隨機數產生器500,可產生隨機度較佳的輸出隨機數Dout。
在第二實施例的隨機數產生器500中,由於第一線性回饋移位暫存器520與第二線性回饋移位暫存器505會根據固定循環方式在多個狀態之間重複循環。因此,修改第二實施例,並利用一動態亂數源與一控制電路來產生一再種子信號(reseed signal)載入(load to)線性回饋移位暫存器,用以更改線性回饋移位暫存器的狀態,進而產生隨機度更佳的輸出隨機數Dout。
請參照第6圖 ,其所繪示為本發明隨機數產生器的第三實施例。隨機數產生器600包括一第一線性回饋移位暫存器520、一靜態亂數源310、一第二線性回饋移位暫存器505、一處理電路330、一第一動態亂數源610以及一控制電路620。基本上,一第一線性回饋移位暫存器520、一靜態亂數源310、一第二線性回饋移位暫存器505的運作方式相同於第二實施例,此處不再贅述。
於隨機數產生器600正常運作時,第一動態亂數源610會隨機地產生一觸發信號Tgr至控制電路620。舉例來說,第一動態亂數源610可產生1位元觸發信號Tgr。當觸發信號Tgr為高邏輯準位時,代表觸發信號Tgr動作。當觸發信號Tgr為低邏輯準位時,代表觸發信號Tgr不動作。
因此,根據觸發信號Tgr,控制電路620可選擇性地產生第一再種子信號reseed1載入第一線性回饋移位暫存器520,用以更新第一線性回饋移位暫存器520的狀態,並改變第一線性回饋移位暫存器520的狀態循環方式,並在下一狀態改變第一隨機數D1 。
舉例來說,在第6圖中,控制電路620接收前一狀態的32位元第一隨機數D1 與7位元位址信號A後,組合成32位元的第一再重子信號reseed1。另外,當觸發信號Tgr動作時,控制電路620將第一再種子信號reseed1載入第一線性回饋移位暫存器520,用以改變第一線性回饋移位暫存器520的狀態,並改變第一線性回饋移位暫存器520的狀態循環方式。
當然,在上述的第三實施例中,控制電路620僅產生一個第一再種子信號seed1至第一線性回饋移位暫存器520。在此領域的技術人員也可以設計控制電路620另外產生第二再種子信號seed2(未繪示)至第二線性回饋移位暫存器505,用以改變線性回饋移位暫存器520的狀態,或者設計控制電路620僅產生一個第二再種子信號seed2(未繪示)至第二線性回饋移位暫存器505。
請參照第7A圖與第7B圖,其所繪示為第三實施例中動態亂數源電路圖。第一動態亂數源610包括一第一環振盪器(ring oscillator)612、第二環振盪器614、互斥或閘616與栓鎖器(latch)618。
第一環振盪器612中包括n級(n stage)延遲元件(delay unit)的環狀連接。第二環振盪器614中包括m級(m stage)延遲元件的環狀連接。其中,延遲元件可為反閘(NOT gate),n與m為奇數,且m不等於n。因此,第一環振盪器612可產生第一振盪信號Osc1,第二環振盪器614可產生第二振盪信號Osc2。
再者,互斥或閘616的二輸入端分別接收第一振盪信號Osc1與第二振盪信號Osc2,並產生輸出信號X至栓鎖器618。栓鎖器618可根據時脈信號 CLK來取樣互斥或閘616的輸出信號 X,並產生觸發信號Tgr。
如第7B圖所示,由於m不等於n,所以第一振盪信號Osc1與第二振盪信號Osc2的頻率相異。當第一振盪信號Osc1與第二振盪信號Osc2的準位相同時,互斥或閘616的輸出信號 X為低邏輯準位。當第一振盪信號Osc1與第二振盪信號Osc2的準位不相同時,互斥或閘616的輸出信號 X為高邏輯準位。因此,於時間點t1、t2的時脈信號CLK上升緣,栓鎖器618產生低邏輯準位的觸發信號Tgr。於時間點t3、t4、t5的時脈信號CLK上升緣,栓鎖器618產生高邏輯準位的觸發信號Tgr。
請參照第8A圖與第8B圖,其所繪示為第三實施例中控制電路的二個範例。
如第8A圖所示,控制電路620中包括一開關元件(switching device)SW1,開關元件 SW1的控制端接收觸發信號Tgr,其中開關元件SW1可由傳輸閘(transmission gate)來實現。再者,控制電路620中,將一部分的位址信號A以及一部分的第一隨機數D1 組合成為32位元的結合信號(combination signal)Y,並傳遞至開關元件SW1的第一端。開關元件SW1的第二端產生再種子信號reseed1。
由第8A圖可知,由7位元的位址信號A中選取其中6個位元A>5:0>,並且由32位元的第一隨機數D1 中選取其中26個位元D1>25:0>,組合成為32位元的結合信號Y。當觸發信號Tgr未動作(例如低邏輯準位)時,開關元件SW1第一端與第二端為開路狀態(opened state),開關元件 SW1未輸出再種子信號reseed1。另外,當觸發信號Tgr動作(例如高邏輯準位)時,開關元件SW1第一端與第二端為閉路狀態(closed state),開關元件 SW1輸出再種子信號reseed1。
另外,本發明並未限定控制電路620中位址信號A、第一隨機數D1 與再種子信號reseed1之間的關係。在此領域的技術人員也可以設計控制電路620不接收位址信號A、第一隨機數D1 ,並於觸發信號Tgr動作時,控制電路620內部自行產生32位元的再種子信號reseed1。或者,在此領域的技術人員也可以設計控制電路620接收第一隨機數D1、第二隨機數D2、位址信號 A、輸出隨機數Dout,並選擇性的組合成32位元的再重子信號reseed1。
在第8B圖的另一控制電路個範例中,開關元件SW1的控制端連接至互斥或閘622的輸出端。而互斥或閘622的輸入端則接收觸發信號Tgr以及另一部分的第一隨機數D1 。舉例來說,互斥或閘622的輸入端接收觸發信號 Tgr以及6位元的第一隨機數D1 >31:26>。當互斥或閘622的輸出端產生低邏輯準位時,開關元件SW1第一端與第二端為開路狀態(opened state),開關元件 SW1未輸出再種子信號reseed1。另外,當互斥或閘622的輸出端產生高邏輯準位時,開關元件SW1第一端與第二端為閉路狀態(closed state),開關元件 SW1輸出再種子信號reseed1。
在第二實施例與第三實施例中的隨機數產生器500、600中,當隨機數產生器500、600開始運作之前,需要提供第一種子信號seed1與第二種子信號seed2至第一線性回饋移位暫存器520與第二線性回饋移位暫存器505。如果第一種子信號seed1與第二種子信號seed2具有不可預測性(unpredictable),則隨機數產生器可產生隨機度更佳的輸出隨機數Dout。
請參照第9圖,其所繪示為本發明隨機數產生器的第四實施例。相較於第三實施例,隨機數產生器700更包括一第二動態亂數源710。當隨機數產生器700開始運作時,第二動態亂數源710產生不可預測的第一種子信號seed1與第二種子信號seed2至第一線性回饋移位暫存器520與第二線性回饋移位暫存器505。其中,第二動態亂數源710為亞穩態電路(meta-stability circuit)。
請參照第10A圖與第10B圖,其所繪示為第二動態亂數源與亞穩態元件(meta-stability device)示意圖。第二動態亂數源710為一亞穩態電路, 包括多個亞穩態元件721a~721x、722a~722y,每一個亞穩態元件的構造相同,其中x與y為正整數。再者,每一個亞穩態電路可以產生一位元的信號,因此x個亞穩態元件721a~721x可產生x位元的第一種子信號seed1,y個亞穩態元件722a~722y可產生y位元的第二種子信號seed2。亦即, 32個亞穩態元件可產生32位元的第一種子信號seed1,7個亞穩態元件可產生7位元的第二種子信號seed2。
請參照第10B圖,其所繪示為亞穩態元件示意圖。以亞穩態電路721a為例,亞穩態電路721a包括一第一反相器730、第二反相器740與開關元件SW2、SW3。其中,第一反相器730與第二反相器740皆連接至操作於電源電壓Vdd與接地電壓GND。因此,第一反相器730與第二反相器740的高邏輯準位為電源電壓Vdd,低邏輯準位為接地電壓GND。
開關元件SW2與開關元件SW3的控制端接收一起始信號Str,用以選擇性地提供一半的電源電壓Vdd/2至第一反相器730與第二反相器740的輸入端。再者,第一反相器730的輸出端連接至第二反相器740的輸入端,第二反相器740的輸出端連接至第一反相器730的輸入端,第一反相器730的輸出端產生最低位元(LSB)的第一種子信號seed1>0>。
當隨機數產生器700開始運作之前時,起始信號Str未動作,開關元件SW2與開關元件SW3為閉路狀態(closed state),第一反相器730與第二反相器740的輸入端被固定在一半的電源電壓Vdd/2。當隨機數產生器700開始運作時,起始信號Str動作,開關元件SW2與開關元件SW3為開路狀態(opened state)。此時,第一反相器730與第二反相器740之間開始競爭(fighting)。最後,第一反相器730與第二反相器740其中之一輸出端產生高邏輯準位,第一反相器730與第二反相器740的另一輸出端產生低邏輯準位。
舉例來說,經過競爭之後,第二反相器740的輸出端產生低邏輯準位,第一反相器730的輸出端產生高邏輯準位,則最低位元(LSB)的第一種子信號seed1>0>即為高邏輯準位。或者,經過競爭之後,第二反相器740的輸出端產生高邏輯準位,第一反相器730的輸出端產生低邏輯準位,最低位元(LSB)的第一種子信號seed1>0>即為低邏輯準位。由於無法預測第一反相器730與第二反相器740的競爭結果,因此無法預測最低位元(LSB)的第一種子信號seed1>0>的邏輯準位。
換言之,當隨機數產生器700開始運作時,第二動態亂數源710即產生不可預測的第一種子信號seed1與第二種子信號seed2至第一線性回饋移位暫存器520與第二線性回饋移位暫存器505。
另外,第四實施例隨機數產生器700中的處理電路330也可以進一步的修改,使得隨機數產生器可產生隨機度最佳的輸出隨機數Dout。
請參照第11圖,其所繪示為本發明隨機數產生器的第五實施例。隨機數產生器900包括一第一線性回饋移位暫存器920、一第二線性回饋移位暫存器905、一靜態亂數源310、處理電路950、控制電路930、第一動態亂數源610與第二動態亂數源710。其中,第一線性回饋移位暫存器920為可視為一計數值產生器(counting value generator),第二線性回饋移位暫存器905為可視為一位址產生器(address generator)。再者,靜態亂數源310為一PUF記憶胞陣列包括128×32個PUF記憶胞,將PUF記憶胞陣列進行註冊動作(enrollment)後,PUF記憶胞陣列即儲存4Kbits的隨機位元(random bits),並作為靜態亂數源310。
當隨機數產生器900開始運作時,第二動態亂數源710產生第一種子信號seed1至第一線性回饋移位暫存器920。再者,第二動態亂數源710產生第二種子信號seed2至第二線性回饋移位暫存器905。因此,第二線性回饋移位暫存器905根據第一時脈信號CLK1以及第二種子信號seed2,持續地產生位址信號A至靜態亂數源310,使得靜態亂數源310持續地產生第二隨機數 D2。 同理,第一線性回饋移位暫存器920 根據第一時脈信號CLK1與第一種子信號seed1,持續地產生第一隨機數D1 。
於隨機數產生器900運作的過程中,第一動態亂數源610隨機地產生觸發信號Tgr至控制電路930,而控制電路930根據觸發信號Tgr選擇性地產生第一再種子信號reseed1至第一線性回饋移位暫存器920,用以改變輸出的第一隨機數D1。當然,控制電路930也可以根據觸發信號Tgr選擇性地產生第二再種子信號reseed2(未繪示)至第二線性回饋移位暫存器905,用以改變輸出的位址信號A,並改變第二隨機數D2。另外,控制電路930可將部分的位址信號 A與部分的第一隨機數D1結合成為第一再選擇信號reseed1。
再者,處理電路950包括第一互斥或電路952、第一栓鎖電路954、第二互斥或電路962與第二栓鎖電路964。第一互斥或電路952的第一輸入端連接至靜態亂數源310的輸出端,第一互斥或電路952的第二輸入端連接至第一線性回饋移位暫存器的輸出端,第一互斥或電路952的輸出端連接至第一栓鎖電路954的資料輸入端D。第一栓鎖電路954的時脈輸入端接收控制電路930輸出的第二時脈信號CLK2。第二互斥或電路962的第一輸入端連接至靜態亂數源310的輸出端,第二互斥或電路962的第二輸入端連接至第一栓鎖電路954的輸出端Q,第二互斥或電路962的輸出端連接至第二栓鎖電路964的資料輸入端D。第二栓鎖電路964的時脈輸入端接收控制電路930輸出的第三時脈信號CLK3,第二栓鎖電路964的輸出端產生輸出隨機數Dout。
根據本發明的第五實施例,先前狀態所產生的第一隨機數D1與第二隨機數D2先輸入第一互斥或電路952,使得第一互斥或電路952輸出第三隨機數D3,並且儲存至第一栓鎖電路954。另外,之後狀態所產生的第二隨機數D2與第三隨機數D3輸入第二互斥或電路962 ,使得第一互斥或電路962產生輸出隨機數Dout,並且儲存至第二栓鎖電路964,並使得第二栓鎖電路964產生輸出隨機數Dout。
請參照第12A圖與第12B圖 ,其所繪示為本發明第五實施例隨機數產生器的時序圖。在第12A圖的時序圖中,第一動態亂數源610未動作觸發信號Tgr。在第12B圖的時序圖中,第一動態亂數源610動作觸發信號Tgr。其中,根據第一時脈信號CLK1可區分為多個時間區間(time period)。
如第12A圖所示,當隨機數產生器900開始運作時,於時間區間T1,第一隨機數D1的內容D1_T1 由第一種子信號seed1決定,位址信號A的內容A_T1 由第二種子信號seed2決定。而根據位址信號A的內容A_T1 ,靜態亂數源310產生第二隨機數D2的內容D2_T1
於後續的時間區間T2~T8,第一線性回饋移位暫存器920會自行產生不同內容D1_T2 ~D1_T8 的第一隨機數D1,第二線性回饋移位暫存器905會自行產生不同內容A_T2 ~A_T8 的位址信號A,使得靜態亂數源310產生不同內容D2_T2 ~D2_T8 的第二隨機數D2。另外,由於第一動態亂數源610未動作觸發信號Tgr,所以第一隨機數D1的內容D1_T2 ~D1_T8 不會被更新。
再者,於時間區間T2時,第二時脈信號CLK2動作,第一互斥或電路952對第一隨機數D1的內容D1_T2 與第二隨機數D2的內容D2_T2 進行互斥或運算後,產生的內容D3_T2 成為第三隨機數D3並儲存於第一栓鎖電路954。
再者,於時間區間T5時,第三時脈信號CLK3動作,第二互斥或電路962對第三隨機數D3的內容D3_T2 與第二隨機數D2的內容D2_T5 進行互斥或運算後,即產生的內容Dout_T5 即為輸出隨機數Dout並儲存於第二栓鎖電路964。
相同地,於時間區間T6時,第二時脈信號CLK2動作,第一互斥或電路952對第一隨機數D1的內容D1_T6 與第二隨機數D2的內容D2_T6 進行互斥或運算後,產生的內容D3_T6 成為第三隨機數D3並儲存於第一栓鎖電路954。
如第12B圖所示,觸發信號Tgr於時間區間T3時動作時,第一再種子信號reseed1即會載入第一線性回饋移位暫存器920。因此,於時間區間T4,第一隨機數D1的內容D1'_T1 由第一再種子信號reseed1決定。而於後續的時間區間T6~T8,第一線性回饋移位暫存器920會自行產生不同內容D1'_T6 ~D1'_T8 的第一隨機數D1。
另外,於時間區間T2、時間區間T5,處理電路950的運作流程相同於第12A圖。
再者,於時間區間T6時,第二時脈信號CLK2動作,第一互斥或電路952對第一隨機數D1的內容D1'_T6 與第二隨機數D2的內容D2_T6 進行互斥或運算後,產生的內容D3_T6 成為第三隨機數D3並儲存於第一栓鎖電路954。之後,當第三時脈信號CLK3動作時,第二栓鎖電路964產生的輸出隨機數Dout即會異於第12A圖的輸出隨機數Dout。
由以上的說明可知,本發明提出一種隨機碼產生器,本發明利用PUF記憶胞組成的記憶胞陣列來作為靜態亂數源,並利用處理電路、第一動態亂數源、第二動態亂數源來擾亂其產生的隨機數,使其成為具備最佳隨機度的輸出隨機數Dout的真隨機數產生器(TRNG)。
綜上所述,雖然本發明已以較佳實施例揭露如上,然其並非用以限定本發明。本發明所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可作各種之更動與潤飾。因此,本發明之保護範圍當視後附之申請專利範圍所界定者為準。
100,  150, 300, 500, 600, 700, 900:隨機數產生器 110, 610, 710:動態亂數源 120, 330, 950:處理電路 130:建康測試電路 200:PUF記憶胞陣列 210:感測放大器 305:位址產生器 310:靜態亂數源 320:計數值產生器 400, 505, 520, 905, 920:線性位移暫存器 410:移位暫存器 420, 616:互斥或閘 612, 614:環振盪器 618:栓鎖器 620, 930:控制電路 721a~721x, 722a~722y:亞穩態元件 730, 740:反相器 952, 962:互斥或電路 954, 964:栓鎖電路
第1A圖與第1B圖為習知隨機數產生器。 第2圖為靜態亂數源的一實施例。 第3圖為本發明隨機數產生器的第一實施例。 第4A圖與第4B圖為3位元的線性回饋移位暫存器以及相關運作示意圖。 第5圖為本發明隨機數產生器的第二實施例。 第6圖為本發明隨機數產生器的第三實施例。 第7A圖與第7B圖為第三實施例中動態亂數源電路圖。 第8A圖與第8B圖為第三實施例中控制電路的二個範例。 第9圖為本發明隨機數產生器的第四實施例。 第10A圖與第10B圖為第二動態亂數源與亞穩態元件示意圖。 第11圖為本發明隨機數產生器的第五實施例。 第12A圖與第12B圖為本發明第五實施例隨機數產生器的時序圖。
300:隨機數產生器
305:位址產生器
310:靜態亂數源
320:計數值產生器
330:處理電路

Claims (20)

  1. 一種隨機數產生器,包括: 一計數值產生器,產生一第一隨機數; 一位址產生器,產生一位址信號; 一靜態亂數源,連接至該位址產生器以接收該位址信號,並產生一第二隨機數;以及 一處理電路,連接至該靜態亂數源與該計數值產生器,用以接收該第一隨機數與該第二隨機數,其中該處理電路對該第一隨機數與該第二隨機數進行一邏輯運算後產生一輸出隨機數。
  2. 如請求項1所述之隨機數產生器,其中該靜態亂數源包括一PUF記憶胞陣列,該PUF記憶胞陣列由複數個PUF記憶胞所組成,且該PUF記憶胞經過一註冊動作後,該PUF記憶胞陣列儲存複數個隨機位元。
  3. 如請求項2所述之隨機數產生器,其中該計數值產生器為一第一線性回饋移位暫存器,該位址產生器為一第二線性回饋移位暫存器,該第一線性回饋移位暫存器接收一第一種子信號,且該第二線性回饋移位暫存器接收一第二種子信號。
  4. 如請求項3所述之隨機數產生器,更包括一控制電路與一第一動態亂數源,該第一動態亂數源連接至該控制電路,其中當該第一動態亂數源動作一觸發信號時,該控制電路選擇性地產生一第一再種子信號至該第一線性回饋移位暫存器。
  5. 如請求項4所述之隨機數產生器,其中該控制電路接收該位址信號與該第一隨機數,將一第一部分的該位址信號與一第一部分的該第一隨機數結合成該第一再種子信號,當該第一動態亂數源動作該觸發信號時,該控制電路將該第一再種子信號傳遞該第一線性回饋移位暫存器。
  6. 如請求項4所述之隨機數產生器,其中該控制電路接收該位址信號與該第一隨機數,將一第一部分的該位址信號與一第一部分的該第一隨機數結合成該第一再種子信號;其中該控制電路將該觸發信號與一第二部分的該第一隨機數進行一邏輯運算後,根據該邏輯運算的結果,該控制電路選擇性地將該第一再種子信號傳遞該第一線性回饋移位暫存器。
  7. 如請求項4所述之隨機數產生器,其中當該第一動態亂數源動作該觸發信號時,該控制電路選擇性地產生一第二再種子信號至該第二線性回饋移位暫存器。
  8. 如請求項4所述之隨機數產生器,其中該第一動態亂數源包括: 一第一環振盪器,包括環狀連接的n級延遲元件,產生一第一振盪信號; 一第二環振盪器,包括環狀連接的m級延遲元件,產生一第二振盪信號,其中n與m為奇數,且m不等於n; 一互斥或閘,接收該第一振盪信號與該第二振盪信號,並產生一輸出信號;以及 一栓鎖器,接收該輸出信號,並根據一第一時脈信號來栓鎖該輸出信號,並產生該觸發信號。
  9. 如請求項3所述之隨機數產生器,更包括一第二動態亂數源,產生該第一種子信號至該第一線性回饋移位暫存器,且產生該第二種子信號至該第二線性回饋移位暫存器。
  10. 如請求項9所述之隨機數產生器,其中該第二動態亂數源為一亞穩態電路,該亞穩態電路包括: x個亞穩態元件,每一該亞穩態產生1位元的隨機信號,於一起始信號動作時,該x個亞穩態元件產生x位元的該第一種子信號;以及 y個亞穩態元件,每一該亞穩態產生1位元的隨機信號,於該起始信號動作時,該y個亞穩態元件產生y位元的該第二種子信號; 其中,x與y為正整數。
  11. 如請求項10所述之隨機數產生器,其中該x個亞穩態元件中的一第一亞穩態元件包括: 一第一開關元件,該第一開關元件的一第一端接收一第一電壓,該第一開關元件的一控制端接收該起始信號; 一第二開關元件,該第二開關元件的一第一端接收該第一電壓,該第二開關元件的一控制端接收該起始信號; 一第一反相器,操作於一電源電壓與一接地電壓之間,該第一反相器的一輸入端連接至該第一開關元件的一第二端,該第一反相器的一輸出端連接至該第二開關元件的一第二端;以及 一第二反相器,操作於該電源電壓與該接地電壓之間,該第二反相器的一輸入端連接至該第二開關元件的該第二端,該第二反相器的一輸出端連接至該第一開關元件的該第二端; 其中,該第一電壓為該電源電壓的一半,當該起始信號未動作時,該第一開關元件與該第二開關元件為一閉路狀態;且當該起始信號動作時,該第一開關元件與該第二開關元件為一開路狀態。
  12. 一種隨機數產生器,包括: 一第一動態亂數源,產生一觸發信號; 一第二動態亂數源,產生一第一種子信號與一第二種子信號; 一計數值產生器,連接至該第二動態源用以接收該第一種子信號並產生一第一隨機數 ; 一位址產生器,連接至該第二動態源用以接收該第二種子信號,並產生一位址信號; 一靜態亂數源,連接至該位址產生器用以接收該位址信號,並產生一第二隨機數; 一處理電路,連接至該靜態亂數源與該計數值產生器,用以接收該第一隨機數與該第二隨機數,其中該處理電路對該第一隨機數與該第二隨機數進行一邏輯運算後產生一輸出隨機數; 一控制電路,連接至該第一動態亂數源用以接收該觸發信號,其中當該觸發信號動作時,該控制電路選擇性地產生一第一再種子信號至該計數值產生器。
  13. 如請求項12所述之隨機數產生器,其中該靜態亂數源包括一PUF記憶胞陣列,該PUF記憶胞陣列由複數個PUF記憶胞所組成,且該PUF記憶胞經過一註冊動作後,該PUF記憶胞陣列儲存複數個隨機位元。
  14. 如請求項13所述之隨機數產生器,其中該計數值產生器為一第一線性回饋移位暫存器,該位址產生器為一第二線性回饋移位暫存器,該第一線性回饋移位暫存器接收該第一種子信號,且該第二線性回饋移位暫存器接收該第二種子信號。
  15. 如請求項14所述之隨機數產生器,其中該控制電路接收該位址信號與該第一隨機數,將一第一部分的該位址信號與一第一部分的該第一隨機數結合成該第一再種子信號,當該動態亂數源動作該觸發信號時,該控制電路將該第一再種子信號傳遞該第一線性回饋移位暫存器。
  16. 如請求項14所述之隨機數產生器,其中該控制電路接收該位址信號與該第二隨機數,將一第一部分的該位址信號與一第一部分的該第一隨機數結合成該第一再種子信號;其中該控制電路將該觸發信號與一第二部分的該第一隨機數進行一邏輯運算後,根據該邏輯運算的結果該控制電路選擇性地將該第一再種子信號傳遞該第一線性回饋移位暫存器。
  17. 如請求項12所述之隨機數產生器,其中當該第一動態亂數源包括: 一第一環振盪器,包括環狀連接的n級延遲元件,產生一第一振盪信號; 一第二環振盪器,包括環狀連接的m級延遲元件,產生一第二振盪信號,其中n與m為奇數,且m不等於n; 一互斥或閘,接收該第一振盪信號與該第二振盪信號,並產生一輸出信號;以及 一栓鎖器,接收該輸出信號,並根據一第一時脈信號來栓鎖該輸出信號,並產生該觸發信號。
  18. 如請求項12所述之隨機數產生器,其中該第二動態亂數源為一亞穩態電路,該亞穩態電路包括: x個亞穩態元件,每一該亞穩態產生1位元的隨機信號,於一起始信號動作時,該x個亞穩態元件產生x位元的該第一種子信號;以及 y個亞穩態元件,每一該亞穩態產生1位元的隨機信號,於該起始信號動作時,該y個亞穩態元件產生y位元的該第二種子信號; 其中,x與y為正整數。
  19. 如請求項18所述之隨機數產生器,其中該些亞穩態元件中的一第一亞穩態元件包括: 一第一開關元件,該第一開關元件的一第一端接收一第一電壓,該第一開關元件的一控制端接收該起始信號; 一第二開關元件,該第二開關元件的一第一端接收該第一電壓,該第二開關元件的一控制端接收該起始信號; 一第一反相器,操作於一電源電壓與一接地電壓之間,該第一反相器的一輸入端連接至該第一開關元件的一第二端,該第一反相器的一輸出端連接至該第二開關元件的一第二端;以及 一第二反相器,操作於該電源電壓與該接地電壓之間,該第二反相器的一輸入端連接至該第二開關元件的該第二端,該第二反相器的一輸出端連接至該第一開關元件的該第二端; 其中,該第一電壓為該電源電壓的一半,當該起始信號未動作時,該第一開關元件與該第二開關元件為一閉路狀態;且當該起始信號動作時,該第一開關元件與該第二開關元件為一開路狀態。
  20. 如請求項12所述之隨機數產生器,其中該處理電路包括: 一第一互斥或電路,該第一互斥或電路的一第一輸入端連接至該靜態亂數源用以接收該第二隨機數,該第一互斥或電路的一第二輸入端連接至該計數值產生器用以接收該第一隨機數; 一第一栓鎖電路,該第一栓鎖電路的一資料輸入端連接至該第一互斥或電路的一輸出端,該第一栓鎖電路的一時脈輸入端接收該控制電路產生的一第二時脈信號,該第一栓鎖電路的一資料輸出端產生一第三隨機數; 一第二互斥或電路,該第二互斥或電路的一第一輸入端連接至該靜態亂數源用以接收該第二隨機數 ,該第二互斥或電路的一第二輸入端連接至該第一栓鎖電路的該資料輸出端用以接收該第三隨機數;以及 一第二栓鎖電路,該第二栓鎖電路的一資料輸入端連接至該第二互斥或電路的一輸出端,該第二栓鎖電路的一時脈輸入端接收該控制電路產生的一第三時脈信號,該第二栓鎖電路的一資料輸出端產生該輸出隨機數。
TW109106417A 2019-03-13 2020-02-27 隨機數產生器 TWI758688B (zh)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US201962817568P 2019-03-13 2019-03-13
US62/817,568 2019-03-13
US201962847246P 2019-05-13 2019-05-13
US62/847,246 2019-05-13
US16/784,739 2020-02-07
US16/784,739 US11294640B2 (en) 2019-03-13 2020-02-07 Random number generator

Publications (2)

Publication Number Publication Date
TW202034158A true TW202034158A (zh) 2020-09-16
TWI758688B TWI758688B (zh) 2022-03-21

Family

ID=69742646

Family Applications (1)

Application Number Title Priority Date Filing Date
TW109106417A TWI758688B (zh) 2019-03-13 2020-02-27 隨機數產生器

Country Status (4)

Country Link
US (1) US11294640B2 (zh)
EP (1) EP3709157B1 (zh)
CN (1) CN111694545B (zh)
TW (1) TWI758688B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI778557B (zh) * 2021-03-26 2022-09-21 新唐科技股份有限公司 真實亂數產生器及真實亂數產生方法

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210026602A1 (en) * 2019-07-25 2021-01-28 PUFsecurity Corporation Entropy Generator and Method of Generating Enhanced Entropy Using Truly Random Static Entropy
US11907684B2 (en) * 2021-02-16 2024-02-20 Cassy Holdings Llc High clock-efficiency random number generation system and method
US20220261221A1 (en) * 2021-02-18 2022-08-18 PUFsecurity Corporation Random number generator
CN113672199B (zh) * 2021-08-27 2023-07-14 太原理工大学 一种具备物理不可克隆函数功能的多熵源随机数发生器
US20230124622A1 (en) * 2021-10-14 2023-04-20 Arm Limited Alarm Systems and Circuits
US20230273772A1 (en) * 2022-02-02 2023-08-31 Cassy Holdings Llc High clock-efficiency random number generation system and method
CN114584305B (zh) * 2022-04-28 2022-07-26 苏州云途半导体有限公司 一种随机数发生器、电子电路和系统级芯片
CN117579268B (zh) * 2023-11-27 2024-06-28 浙江大学 一种基于熵源选择原理的trng与puf一体化模块

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015031683A1 (en) * 2013-08-28 2015-03-05 Stc.Unm Systems and methods for leveraging path delay variations in a circuit and generating error-tolerant bitstrings
KR102186475B1 (ko) * 2013-12-31 2020-12-03 주식회사 아이씨티케이 홀딩스 랜덤한 디지털 값을 생성하는 장치 및 방법
US9696965B2 (en) 2014-12-16 2017-07-04 Nuvoton Technology Corporation Input-dependent random number generation using memory arrays
JP6587188B2 (ja) * 2015-06-18 2019-10-09 パナソニックIpマネジメント株式会社 乱数処理装置、集積回路カード、および乱数処理方法
US9613714B1 (en) 2016-01-19 2017-04-04 Ememory Technology Inc. One time programming memory cell and memory array for physically unclonable function technology and associated random code generating method
CN106020771B (zh) * 2016-05-31 2018-07-20 东南大学 一种基于puf的伪随机序列发生器
US10511451B2 (en) 2016-11-04 2019-12-17 Taiwan Semiconductor Manufacturing Company Ltd. Physically unclonable function (PUF) device and method of extending challenge/response pairs in a PUF device
US11362845B2 (en) * 2016-11-30 2022-06-14 Taiwan Semiconductor Manufacturing Co., Ltd. Secure communication between server device and clients utilizing strong physical unclonable functions
CN106775584B (zh) * 2016-12-08 2019-06-04 上海爱信诺航芯电子科技有限公司 一种抵抗侵入式攻击的真随机数发生器
CN107688755B (zh) * 2017-08-03 2020-12-01 宁波大学 一种双胞胎存储型的多值物理不可克隆函数电路
CN110018810B (zh) * 2018-01-10 2021-05-18 力旺电子股份有限公司 随机码产生器

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US11294640B2 (en) 2022-04-05
CN111694545B (zh) 2023-05-30
US20200293287A1 (en) 2020-09-17
TWI758688B (zh) 2022-03-21
CN111694545A (zh) 2020-09-22
EP3709157B1 (en) 2022-05-04
EP3709157A1 (en) 2020-09-16

Similar Documents

Publication Publication Date Title
TWI758688B (zh) 隨機數產生器
US10511451B2 (en) Physically unclonable function (PUF) device and method of extending challenge/response pairs in a PUF device
JP4353435B2 (ja) 乱数発生方法と半導体集積回路装置及び電子装置
US6954770B1 (en) Random number generator
US11568116B2 (en) Flip-flop based true random number generator (TRNG) structure and compiler for same
JP3696209B2 (ja) シード生成回路、乱数生成回路、半導体集積回路、icカード及び情報端末機器
JP2006139756A (ja) 乱数発生器および乱数を発生する方法
US10579339B2 (en) Random number generator that includes physically unclonable circuits
JPS63501609A (ja) ランダム・シ−ケンス発生装置と方法
JP2019121403A (ja) ランダムコード発生装置
Uddin et al. Memristor crossbar PUF based lightweight hardware security for IoT
US20090204656A1 (en) Pseudo random number generator and method for generating a pseudo random number bit sequence
US10922055B2 (en) Random number generator and method for generating random numbers
Tseng et al. ReRAM-based pseudo-true random number generator With high throughput and unpredictability characteristics
TWI801742B (zh) 熵產生器及產生增強熵的方法
TWI579763B (zh) 具有亂數產生模式的儲存電路
JP2005044090A (ja) 乱数発生装置
US20070150531A1 (en) Apparatus and method for generating random number using digital logic
US11586418B2 (en) Random number generator, random number generating circuit, and random number generating method
Gudla et al. Design and implementation of digital clock manager based pseudo-true random number generator
TWI662471B (zh) 真實隨機數產生裝置及其產生方法
Anchana et al. Design of PUF Based Chaotic Random Number Generator
TWI696111B (zh) 隨機碼產生器
US20220261221A1 (en) Random number generator
Lokhande et al. Comparative Analysis of Delay-Based and Memory-Based Physical Unclonable Functions