TWI781729B - 分散式亂數產生器及其亂數產生方法 - Google Patents
分散式亂數產生器及其亂數產生方法 Download PDFInfo
- Publication number
- TWI781729B TWI781729B TW110130446A TW110130446A TWI781729B TW I781729 B TWI781729 B TW I781729B TW 110130446 A TW110130446 A TW 110130446A TW 110130446 A TW110130446 A TW 110130446A TW I781729 B TWI781729 B TW I781729B
- Authority
- TW
- Taiwan
- Prior art keywords
- frequency clock
- random
- frequency
- random number
- low
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
- G06F7/582—Pseudo-random number generators
- G06F7/584—Pseudo-random number generators using finite field arithmetic, e.g. using a linear feedback shift register
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/58—Indexing scheme relating to groups G06F7/58 - G06F7/588
- G06F2207/581—Generating an LFSR sequence, e.g. an m-sequence; sequence may be generated without LFSR, e.g. using Galois Field arithmetic
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)
- Manipulation Of Pulses (AREA)
- Peptides Or Proteins (AREA)
- Transition And Organic Metals Composition Catalysts For Addition Polymerization (AREA)
Abstract
一種亂數產生器(Random-Number Generator;RNG),包含複數個高頻(High-Frequency;HF)時脈產生器、複數個低頻(Low-Frequency;LF)時脈產生器、複數個數位亂數產生器(Digital Random-Number Generator circuit;DRNG),及多工器(multiplexer)。高頻時脈產生器設置以產生在第一頻率範圍內的高頻時脈信號。低頻時脈產生器設置以產生在第二頻率範圍內、低於第一頻率範圍的低頻時脈信號。每一DRNG設置以從(i)高頻時脈信號中所提取的高頻時脈信號及(ii)高頻時脈信號中所提取的低頻時脈信號,取得亂數位元序列。多工器設置以從DRNG所產生的亂數位元序列,產生亂數位元之輸出序列。
Description
本發明主要涉及亂數產生,特別是涉及使用多個亂數產生器以產生亂數位元序列的方法及系統。
多種亂數產生的技術已為本領域所習知。舉例來說,美國專利4,905,176敘述一種亂數產生器,可阻絕加密攻擊(cryptographic attack)。該亂數產生器的運作原則是基於虛擬亂數產生器輸出的低頻取樣,該虛擬亂數產生器是以自由運轉的環式震盪器(ring oscillator)之變動頻率所運作。
在此所敘述的本發明之實施例提供一種亂數產生器(Random-Number Generator;RNG),包含複數個高頻(High-Frequency;HF)時脈產生器、複數個低頻(Low-Frequency;LF)時脈產生器、複數個數位亂數產生器(Digital Random-Number Generator circuit;DRNG),及多工器。高頻時脈產生器設置以產生在第一頻率範圍內的高頻時脈信號。低頻時脈產生器設置以產生在第二頻率範圍內、低於第一頻率範圍的低頻時脈信號。每一DRNG設置以(i)從高頻時脈信號中所提取的高頻時脈信號及(ii)從高頻時脈信號中所提取的低頻時脈信號,藉此取得亂數位元序列。多工器設置以從DRNG所產生的亂數位元序列,產生亂數位元之輸出序列。
在某些實施例中,一給定的DRNG包含:(i) 線性回饋移位暫存器(Linear Feedback Shift Register;LFSR),由高頻時脈信號所進行時脈控制;及(ii)正反器(Flip-Flop;FF),設置以根據低頻時脈信號,取樣LFSR之輸出。在各種實施例中,LFSR中的至少兩者在以下特徵中的一或多個會彼此不同:(i)初始的種值(seed)、(ii)回饋分接頭(feedback-tap)組態,及(iii)多個串聯正反器(cascaded Flip-Flop)。在一替代的實施例中,一給定的DRNG包含正反器,設置以根據低頻時脈信號,取樣高頻時脈信號。
在所揭露的實施例中,DRNG接收不同的輸入時脈信號對,每一對包含高頻時脈信號及低頻時脈信號。在一實施例中,高頻時脈產生器、低頻時脈產生器及DRNG,在空間上分散於積體電路(Integrated Circuit;IC)之某一區域上。在某些實施例中,亂數產生器更包含一或多個類比雜訊源(analog noise source),設置以添加類比雜訊至低頻時脈產生器及高頻時脈產生器中的一或多個。
在某些實施例中,多工器設置以執行在DRNG之間交替的多工順序,以多工傳輸亂數位元序列。在一範例實施例中,多工器設置以從亂數位元序列中的一或多個亂數位元序列之選定的位元,取得多工順序。
在一實施例中,高頻時脈產生器及該等低頻時脈產生器是以成對的方式所設置,每一對包含高頻時脈產生器及低頻時脈產生器。在另一實施例中,高頻時脈產生器中的至少兩者,設置以產生彼此之間不同頻率的高頻時脈信號。額外地或替代地,低頻時脈產生器中的至少兩者,可設置以產生彼此之間不同頻率的低頻時脈信號。更額外地或替代地,高頻時脈產生器中的至少兩者,可設置以在不同時間被觸發。在另一實施例中,低頻時脈產生器中的至少兩者,設置以在不同時間被觸發。
此外,根據本發明之實施例,更提供一種亂數產生的方法,包含:產生在第一頻率範圍內的複數個高頻時脈信號;產生在第二頻率範圍內、低於第一頻率範圍的複數個低頻時脈信號;取得複數個亂數位元序列,每一亂數位元序列是從(i)其中一個高頻時脈信號及(ii)其中一個低頻時脈信號,所取得;以及根據亂數位元序列,產生亂數位元之輸出序列。
概觀
在此所敘述的本發明之實施例提供改良的亂數產生方法及電路。所揭露的亂數產生器(Random-Number Generator;RNG)以高吞吐量及高隨機程度來產生亂數。所揭露的亂數產生器對於嘗試降低或削減亂數位元之輸出序列的隨機性的惡意攻擊,也具有高度的復原能力。
在某些實施例中,亂數產生器包括多個自由運轉的高頻時脈產生器,及多個自由運轉的低頻時脈產生器。高頻時脈產生器設置以產生在第一頻率範圍內(例如,約為百萬赫(MHz))的高頻時脈信號。低頻時脈產生器設置以產生在第二頻率範圍內、低於該第一頻率範圍(例如,約為千赫(KHz))的低頻時脈信號。在某些實施例中,可添加類比雜訊源(analog noise source)至任何的時脈產生器。這種雜訊的添加,對於低頻時脈產生器而言特別有效。
亂數產生器更包括多個數位亂數產生器(Digital Random-Number Generator circuit;DRNG)。每一DRNG具有選定的一對{高頻時脈信號,低頻時脈信號}作為輸入。通常,不同的DRNG具有不同配對的{高頻時脈信號,低頻時脈信號},即使任何獨立的時脈信號(高頻或低頻)可用以驅動不僅一個DRNG。
每一DRNG設置以使用其所具有的高頻時脈信號及低頻時脈信號,以產生亂數位元序列。在某些實施例中,每一DRNG包括由高頻時脈信號所進行時脈控制的線性回饋移位暫存器(Linear Feedback Shift Register;LFSR),以及根據低頻時脈信號取樣LFSR之輸出的正反器(Flip-Flop;FF)。由於LFSR之輸出是以遠低於實際的LFSR時脈頻率進行取樣,且由於低頻取樣時脈通常是帶有雜訊的,因此產出的亂數位元序列的確是高度隨機的。
亂數產生器更包括多工器,設置以從DRNG所產生的亂數位元序列,產生亂數位元之輸出序列。藉由多工傳輸(multiplexing)多個DRNG之輸出,所揭露的亂數產生器可提供高吞吐量的亂數。在某些實施例中,多工器更藉由使用在多個DRNG之間交替的多工順序,以強化其輸出之隨機性。
由於時脈產生器(高頻及低頻)是自由運作的,彼此之間並沒有同步,且又帶有雜訊,再加上由於每一DRNG具有不同配對的{高頻時脈信號,低頻時脈信號},因此不同的DRNG所產生的亂數位元序列彼此之間幾乎沒有或者完全沒有相關。如此一來,多工器所產生的位元之多工序列具有高度的隨機性。
藉由在不同的組合中重複使用相同的高頻時脈信號及低頻時脈信號,若干高頻時脈產生器及低頻時脈信產生器可用以驅動大量的DRNG,而毋須犧牲隨機性。此特徵降低了亂數產生器的成本、尺寸及耗電量。
在某些實施例中,亂數產生器是以部分的積體電路(Integrated Circuit;IC)所執行,且各種亂數產生器的元件(高頻時脈產生器、低頻時脈產生器,及DRNG)在空間上分散於IC區域上。因此,不同的時脈產生器負責改善具有不同統計數值的雜訊,協助降低不同時脈信號之間的相關性。此外,即使攻擊順利導致特定的DRNG輸出決定性的序列,但整體的亂數產生器仍會維持高度的隨機。當多工順序為隨機時,此特性更是得到強化。
在此敘述所揭露的亂數產生器之各種範例實施及變化。
系統敘述
第1圖是根據本發明之實施例所繪示,包括分散式亂數產生器(Random-Number Generator;RNG) 24的一種積體電路(Integrated Circuit;IC) 20之方塊圖。在各種實施例中,IC 20可包括例如安全的控制器、安全的記憶體裝置,或者利用亂數的任何其他種類的IC。出於明確性的考量,圖式中省略了RNG 24以外的電路。在其他實施例中,IC 20可專門用於產生亂數。
RNG 24包括兩個或更多個類比亂數產生器電路(ARNG) 28,在本範例中是以ARNG 28A及ARNG 28B表示兩個ARNG。每一ARNG設置以產生高頻(在第1圖中以HF表示)時脈信號及低頻(在第1圖中以LF表示)時脈信號。在某些實施例中,低頻時脈信號頻率約為千赫(KHz),而高頻時脈信號頻率約為百萬赫(MHz),惟可使用任何其他合適的頻率範圍。
RNG 24更包括兩個或更多個數位亂數產生器電路(DRNG) 32,在本範例中是以32A-32D表示四個DRNG。每一DRNG 32設置以從高頻時脈信號及低頻時脈信號取得亂數位元序列。提供給一給定的DRNG 32之高頻時脈信號及低頻時脈信號,可由相同的ARNG 28或不同的ARNG 28所產生。一給定的時脈信號(高頻時脈信號或低頻時脈信號)可提供給單獨的DRNG 32或者多個DRNG 32。通常,不同的DRNG 32具有不同配對的{高頻時脈信號,低頻時脈信號}。
RNG 24更包括多工器36,亦稱為組合器(combiner)。多工器36設置以多工傳輸DRNG 32所產生的亂數位元序列,以輸出亂數位元(在第1圖中以RNG OUT表示)之高頻率的序列。此序列被提供作為RNG 24之輸出。以下將解釋,多工器36通常並非是從多個輸入中擇其一的簡單的多工器,而是一種電路,將位元或位元群組進行串接以形成亂數位元流(random bit stream)。
位於第1圖底部的插圖繪示出ARNG 28及DRNG 32之內部結構。ARNG 28B及DRNG 32D被描繪作為範例;其他的ARNG及DRNG通常也分別具有類似的內部結構。
如左側的插圖所示,每一ARNG 28包括(i)高頻自由運作的時脈產生器40,產生高頻時脈信號(在第1圖中以HF OUT表示),及(ii)低頻自由運作的時脈產生器44,產生低頻時脈信號(在第1圖中以LF OUT表示)。通常,給定的ARNG 28中的時脈產生器40及時脈產生器44彼此之間並沒有同步,而且也並沒有與其他ARNG 28的時脈產生器40及時脈產生器44同步。
為了提升隨機性,在某些實施例中,類比雜訊(在第1圖中以NOISE表示)被添加至時脈產生器40及時脈產生器44中的其中一者或兩者。類比雜訊可刻意由專門為此目的之電路所產生。雜訊可被添加至時脈產生器之供給電壓(在第1圖中以VDD表示),或者添加在協助使時脈產生器輸出隨機化的任何其他點。又或者,時脈產生器可負責改善來自其周邊環境的類比雜訊,而毋須額外的電路。
如右側的插圖所示,每一DRNG 32包括線性回饋移位暫存器(Linear Feedback Shift Register;LFSR) 48,及取樣正反器(Flip-Flop;FF) 52。每一LFSR 48包括多個正反器的串聯,並帶有一或多個回饋分接頭(feedback-tap)。在每一DRNG中,LFSR 48是由提供給DRNG(以HF IN)的高頻時脈信號所進行時脈控制,且因此以高頻時脈信號之頻率輸出虛擬亂數序列。正反器52根據提供給DRNG(在第1圖中以LF IN表示)的低頻時脈信號,取樣出此頻率下的一部分LFSR 48之輸出。位於正反器52之輸出(在第1圖中以Q表示)的亂數位元序列被提供作為DRNG之輸出(在第1圖中以RN OUT表示)。RN OUT與低頻時脈信號(LF IN)的頻率相同。
多個DRNG 32所產生的多個RN OUT,被提供作為多工器36之輸入。多工器36多工傳輸多個RN OUT亂數位元序列,以產生高頻率的RNG OUT亂數位元序列。
在某些實施例中,ARNG 28及DRNG 32刻意不被放置在一起,而是在空間上分散於IC 20之區域上。此空間分配是有利的,其原因有很多。舉例來說,當在空間上分散時,不同的ARNG負責改善具有不同統計數值的類比雜訊,協助降低不同時脈信號(高頻或低頻)之間的相關性。如另一範例,對IC 20之特定區域的惡意攻擊不太可能對單獨的ARNG或DRNG除外的部分造成傷害。即使對ARNG或DRNG造成傷害而導致ARNG或DRNG輸出固定的或決定性的位元序列,但由於其他ARNG及DRNG仍正常運作,故整體RNG OUT序列之隨機性降低的可能性很小。
在各種實施例中,多工器36可用各種方式,多工傳輸DRNG 32所產生的亂數位元序列。請參考第1圖之設置,假設DRNG 32A-32D之輸出分別以stream1-stream4代表。在某些實施例中,多工器36以預先定義的、決定性的、循環的多工順序,多工傳輸亂數位元序列。舉例來說,多工器36可從stream1輸出n個位元(例如n=2),再從stream2輸出n個位元、從stream3輸出n個位元、從stream4輸出n個位元,然後再次從stream1輸出n個位元,依此類推。在替代的實施例中,可使用任何其他合適之決定性的多工順序。
在其他實施例中,多工器36可用在多個DRNG之間隨機交替的多工順序,多工傳輸DRNG 32所產生的亂數位元序列。在本情境中,「隨機交替」一詞意指(i)從一個亂數位元序列交替到另一個亂數位元序列的順序是隨機的,及/或(ii)從被訪問時之給定的亂數位元序列所提取的位元個數是隨機的。在另一實施例中,多工器36從一或多個亂數位元序列之選定的位元,取得亂數多工順序。舉例來說,多工器36可執行以下程序:
▓從stream1提取一個位元。若該位元值為"0”,則從stream2提取兩個位元、串接stream3的兩個位元、串接stream4的兩個位元、串接stream1的兩個位元。若該位元值為"1”,則從stream3提取兩個位元、串接stream1的兩個位元、串接stream2的兩個位元、串接stream4的兩個位元。
▓從stream2提取一個位元。若該位元值為"0”,則從stream1提取兩個位元、串接stream3的兩個位元、串接stream4的兩個位元、串接stream2的兩個位元。若該位元值為"1”,則從stream3提取兩個位元、串接stream2的兩個位元、串接stream4的兩個位元、串接stream1的兩個位元。
▓從stream3提取一個位元,然後以類似的方式繼續執行該程序。
以上給出的範例多工順序,僅作為示例。在替代的實施例中,多工器36可使用任何其他合適的多工順序,及任何其他合適的取得多工順序之程序,例如從一或多個DRNG 32所產生的亂數位元序列之選定的位元。
如第1圖所示的RNG 24及其元件,僅是為了概念上的明確性所描繪出的範例設置。在替代的實施例中,可使用任何其他合適的設置。舉例來說,RNG 24可包括任何其他合適數量的ARNG 28,及任何其他合適數量的DRNG 32。ARMG及DRNG之間的互連方案(即選擇將哪個高頻時脈信號即哪個低頻時脈信號提供給每一DRNG)亦可以任何其他合適的方式作設定。又或者,高頻時脈產生器40及低頻時脈產生器44並無必要被安排在組合配對中。更概括地說,高頻時脈產生器40之數量可異於低頻時脈產生器44之數量。
在某些實施例中,高頻時脈產生器40產生全部具有相同頻率的高頻時脈信號。在其他實施例中,高頻時脈產生器中的至少兩者產生彼此之間頻率相異的高頻時脈信號。相應地,在某些實施例中,低頻時脈產生器44產生全部具有相同頻率的低頻時脈信號。在其他實施例中,低頻時脈產生器中的至少兩者產生彼此之間頻率相異的低頻時脈信號。
在某些實施例中,為了提升隨機性,高頻時脈產生器40中的至少兩者設置以在不同的時間觸發。額外地或替代地,低頻時脈產生器44中的至少兩者可設置以在不同的時間觸發。
在某些實施例中,所有DRNG 32中的所有LFSR 48被初始為相同的種值(復歸值)。在其他實施例中,LFSR中的至少兩者(可能是所有的LFSR)被初始至不同的種值。在一範例實施例中,LFSR 48彼此之間獨立地被初始至相應的亂數值。亂數種值的初始化,可例如是藉由在無需重置邏輯的情況下執行LFSR之一或多個正反器所實施,使得這些正反器在重置時被設定為任意值。
在某些實施例中,所有DRNG 32中的所有LFSR 48具有相同的回饋分接頭組態(相同的序列產生多項式)。在其他實施例中,LFSR中的至少兩者(可能是所有的LFSR),彼此之間的回饋分接頭組態不同。在某些實施例中,所有DRNG 32中的所有LFSR 48具有相同數量的串接正反器。在其他實施例中,LFSR中的至少兩者(可能是所有的LFSR),彼此之間的串接正反器之數量不同。
在另一實施例中,DRNG 32中的至少一者中的LFSR 48可被完整地省略。在這種DRNG中,正反器52使用低頻時脈信號,直接對高頻時脈信號進行取樣。
在各種實施例中,RNG 24及其元件可使用任何合適的硬體來實作,像是特殊應用積體電路(Application-Specific Integrated Circuit;ASIC)或場域可程式化邏輯閘陣列(Field-Programmable Gate Array;FPGA)。在其他實施例中,可藉由通用處理器實施RNG 24的某些功能,通用處理器以軟體中的程式執行在此所述的功能。該軟體可以電子的形式,例如透過網路,而下載到處理器。或者,該軟體可替代地或額外地被提供及/或儲存在非暫態之有形媒體上,像是磁記憶體、光記憶體或電子記憶體。
亂數產生方法敘述
第2圖是根據本發明之實施例所繪示,使用IC 20中的RNG 24的一種分散式亂數產生的方法之流程圖。該方法起始於高頻時脈產生之步驟60,自由運作的高頻時脈產生器40產生多個高頻時脈信號。同時,於低頻時脈產生之步驟64,自由運作的低頻時脈產生器44產生多個帶有雜訊的低頻時脈信號。
於選擇之步驟68,選取多對{高頻時脈信號,低頻時脈信號}。於序列產生步驟之步驟72,每一DRNG 32使用其具有的{高頻時脈信號,低頻時脈信號}配對,產生一亂數位元序列。對於一給定的DRNG,使用高頻時脈信號來為LFSR 48進行時脈控制,使用低頻時脈信號來為正反器52進行時脈控制(即取樣LFSR輸出)。
於多工之步驟76,多工器36多工傳輸DRNG 32所產生的亂數位元序列,並且輸出被多工傳輸的亂數位元序列。如以上所解釋,多工順序可以是決定性的,或者是隨機的。
應被理解的是,上述實施例是被引用作為範例,而本發明並非限於上文所具體展示或敘述的內容。反之,本發明之範圍包含上文所敘述的各種特徵之組合及子組合,以及本領域之技術人員在閱讀以上敘述時所能設想到,且未於先前技術中所揭露的其變化及修改。本專利申請中所參考而併入的文件應被理解為本申請不可或缺的部分,除非是已達到任何用語在這些被併入的文件中,是以與本說明書中所明示或暗示的定義衝突的方式所定義的程度,則僅應考慮本說明書中的定義。
20:積體電路(IC)
24:亂數產生器(RNG)
28A,28B:類比亂數產生器(ARNG)
32A-32D:數位亂數產生器(DRNG)
36:多工器
40,44:時脈產生器
48:線性回饋移位暫存器(LFSR)
52:正反器(FF)
60,64,68,72,76:步驟
本揭露將可從以下示範的實施例之敘述搭配附帶的圖式而更佳地理解。
第1圖是根據本發明之實施例所繪示,包括分散式亂數產生器的一種積體電路(Integrated Circuit;IC)之方塊圖。
第2圖是根據本發明之實施例所繪示的一種分散式亂數產生的方法之流程圖。
20:積體電路(IC)
24:亂數產生器(RNG)
28A,28B:類比亂數產生器(ARNG)
32A-32D:數位亂數產生器(DRNG)
36:多工器
40,44:時脈產生器
48:線性回饋移位暫存器(LFSR)
52:正反器(FF)
Claims (19)
- 一種亂數產生器(Random-Number Generator;RNG),包括: 複數個高頻(High-Frequency;HF)時脈產生器,設置以產生在一第一頻率範圍內的複數個高頻時脈信號; 複數個低頻(Low-Frequency;LF)時脈產生器,設置以產生在低於該第一頻率範圍的一第二頻率範圍內的複數個低頻時脈信號; 複數個數位亂數產生器(Digital Random-Number Generator circuit;DRNG),每一DRNG設置以(i)從該等高頻時脈信號中所提取的一高頻時脈信號及(ii)從該等低頻時脈信號中所提取的一低頻時脈信號,藉此取得一亂數位元序列;以及 一多工器(multiplexer),設置以從該等DRNG所產生的該等亂數位元序列,產生亂數位元之一輸出序列。
- 如請求項1之亂數產生器,其中一給定的DRNG包括: (i) 一線性回饋移位暫存器(Linear Feedback Shift Register;LFSR),由該高頻時脈信號所進行時脈控制;以及 (ii) 一正反器(Flip-Flop;FF),設置以根據該低頻時脈信號,取樣該LFSR之一輸出。
- 如請求項2之亂數產生器,其中該等LFSR中的至少兩者在以下特徵中的一或多個會彼此不同: (i)一初始種值(seed)、(ii)一回饋分接頭(feedback-tap)組態,及(iii)多個串聯正反器(cascaded Flip-Flop)。
- 如請求項1之亂數產生器,其中一給定的DRNG包括: 一正反器,設置以根據該低頻時脈信號,取樣該高頻時脈信號。
- 如請求項1之亂數產生器,其中該等DRNG接收不同的輸入時脈信號對,每一該輸入時脈信號對包括一高頻時脈信號及一低頻時脈信號。
- 如請求項1之亂數產生器,其中該等高頻時脈產生器、該等低頻時脈產生器、及該等DRNG,在空間上分散於一積體電路(Integrated Circuit;IC)之一區域上。
- 如請求項1之亂數產生器,更包括一或多個類比雜訊源(analog noise source),設置以添加類比雜訊至該等低頻時脈產生器及該等高頻時脈產生器中的一或多個。
- 如請求項1之亂數產生器,其中該多工器設置以執行在該等DRNG之間隨機交替的一多工順序,來多工傳輸該等亂數位元序列。
- 如請求項8之亂數產生器,其中該多工器設置以從一或多個該等亂數位元序列之選定的位元,取得該亂數位元順序。
- 如請求項1之亂數產生器,其中該等高頻時脈產生器及該等低頻時脈產生器是以成對的方式設置,每一對包括一高頻時脈產生器及一低頻時脈產生器。
- 如請求項1之亂數產生器,其中該等高頻時脈產生器中的至少兩者,設置以產生彼此之間不同頻率的高頻時脈信號。
- 如請求項1之亂數產生器,其中該等低頻時脈產生器中的至少兩者,設置以產生彼此之間不同頻率的低頻時脈信號。
- 如請求項1之亂數產生器,其中該等高頻時脈產生器中的至少兩者,設置以在不同時間被觸發。
- 如請求項1之亂數產生器,其中該等低頻時脈產生器中的至少兩者,設置以在不同時間被觸發。
- 一種亂數產生的方法,包括: 產生在一第一頻率範圍內的複數個高頻(High-Frequency;HF)時脈信號; 產生在一第二頻率範圍內、低於該第一頻率範圍的複數個低頻(Low-Frequency;LF)時脈信號; 取得複數個亂數位元序列,其中該等亂數位元序列之每一個是從(i)該等高頻時脈信號中的一個及(ii)該等低頻時脈信號中的一個,所取得;以及 根據該等亂數位元序列,產生亂數位元之一輸出序列。
- 如請求項15之亂數產生的方法,其中取得該等亂數位元序列中的一給定的亂數位元序列的步驟包括: (i) 藉由該高頻時脈信號,為一線性回饋移位暫存器(Linear Feedback Shift Register;LFSR)進行時脈控制;及 (ii) 藉由一正反器(Flip-Flop;FF),根據該低頻時脈信號,取樣該LFSR之一輸出。
- 如請求項15之亂數產生的方法,其中取得該等亂數位元序列中的一給定的亂數位元序列的步驟包括: 藉由一正反器,根據該低頻時脈信號,取樣該高頻時脈信號。
- 如請求項15之亂數產生的方法,其中產生該輸出序列之步驟包括: 執行在該等亂數位元序列之間交替的一多工順序,以多工傳輸該等亂數位元序列。
- 如請求項18之亂數產生的方法,其中多工傳輸該等亂數位元序列之步驟包括: 從該等亂數位元序列中的一或多個亂數位元序列之選定的位元,取得該多工順序。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/995,951 | 2020-08-18 | ||
US16/995,951 US11188306B1 (en) | 2020-08-18 | 2020-08-18 | Distributed random-number generator |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202209098A TW202209098A (zh) | 2022-03-01 |
TWI781729B true TWI781729B (zh) | 2022-10-21 |
Family
ID=78767819
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW110130446A TWI781729B (zh) | 2020-08-18 | 2021-08-18 | 分散式亂數產生器及其亂數產生方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11188306B1 (zh) |
JP (1) | JP2022034552A (zh) |
CN (1) | CN114077422A (zh) |
TW (1) | TWI781729B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115390792B (zh) * | 2022-10-28 | 2022-12-23 | 北京中科国光量子科技有限公司 | 一种无需反馈控制的量子随机数发生器芯片 |
CN118349215B (zh) * | 2024-06-17 | 2024-08-30 | 芯思原微电子有限公司 | 一种高度灵活的随机数熵源 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8327229B2 (en) * | 2008-02-15 | 2012-12-04 | Kabushiki Kaisha Toshiba | Data memory system |
US9513872B2 (en) * | 2009-11-25 | 2016-12-06 | Aclara Technologies Llc | Random number generator |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4905176A (en) * | 1988-10-28 | 1990-02-27 | International Business Machines Corporation | Random number generator circuit |
CN1949708B (zh) * | 2006-11-10 | 2011-02-02 | 华为技术有限公司 | 随机数发生装置、方法及对应的数据交互系统 |
US8131789B2 (en) * | 2008-03-28 | 2012-03-06 | Atmel Corporation | True random number generator |
JP5259830B2 (ja) * | 2009-09-29 | 2013-08-07 | 株式会社東芝 | 乱数生成回路 |
JP5670849B2 (ja) * | 2011-09-19 | 2015-02-18 | Necエンジニアリング株式会社 | 擬似乱数生成装置、および、擬似乱数生成方法 |
-
2020
- 2020-08-18 US US16/995,951 patent/US11188306B1/en active Active
-
2021
- 2021-08-18 CN CN202110948185.9A patent/CN114077422A/zh active Pending
- 2021-08-18 TW TW110130446A patent/TWI781729B/zh active
- 2021-08-18 JP JP2021133069A patent/JP2022034552A/ja active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8327229B2 (en) * | 2008-02-15 | 2012-12-04 | Kabushiki Kaisha Toshiba | Data memory system |
US9513872B2 (en) * | 2009-11-25 | 2016-12-06 | Aclara Technologies Llc | Random number generator |
Also Published As
Publication number | Publication date |
---|---|
JP2022034552A (ja) | 2022-03-03 |
US11188306B1 (en) | 2021-11-30 |
CN114077422A (zh) | 2022-02-22 |
TW202209098A (zh) | 2022-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8744073B2 (en) | Digital random number generator based on digitally-controlled oscillators | |
TWI781729B (zh) | 分散式亂數產生器及其亂數產生方法 | |
US6954770B1 (en) | Random number generator | |
US7664807B2 (en) | Apparatus for providing a random bit stream | |
KR20020008849A (ko) | 견고한 난수 발생기 | |
CN112286493B (zh) | 随机数生成器及生成随机数输出的方法 | |
WO2009057090A2 (en) | Configurable random number generator | |
US10333708B1 (en) | Hybrid random-number generator | |
JP2012186809A (ja) | 乱数を発生させるための装置および方法 | |
Liu et al. | A true random-based differential power analysis countermeasure circuit for an AES engine | |
KR20140110142A (ko) | 난수 발생기 | |
Şarkışla et al. | An area efficient true random number generator based on modified ring oscillators | |
US20090327381A1 (en) | True random number generator | |
AVAROĞLU et al. | A novel S-box-based postprocessing method for true random number generation | |
US20220100475A1 (en) | System, method and apparatus for race-condition true random number generator | |
TWI801742B (zh) | 熵產生器及產生增強熵的方法 | |
Güneysu | Using data contention in dual-ported memories for security applications | |
Tsoi et al. | High performance physical random number generator | |
Choe et al. | A self-timed ring based TRNG with feedback structure for FPGA implementation | |
US11586418B2 (en) | Random number generator, random number generating circuit, and random number generating method | |
Meka et al. | Metastability Influenced PUF for cryptographic key generation: a FPGA Approach | |
Chauhan et al. | Intensifying Challenge Obfuscation by Cascading FPGA RO-PUFs for Random Number Generation | |
Qasem et al. | A double stage implementation for 1-k pseudo rng using lfsr and trivium | |
Yu et al. | On designing PUF-based TRNGs with known answer tests | |
US11601120B2 (en) | Attack-resistant ring oscillators and random-number generators |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
GD4A | Issue of patent certificate for granted invention patent |