TWI662471B - 真實隨機數產生裝置及其產生方法 - Google Patents
真實隨機數產生裝置及其產生方法 Download PDFInfo
- Publication number
- TWI662471B TWI662471B TW107118626A TW107118626A TWI662471B TW I662471 B TWI662471 B TW I662471B TW 107118626 A TW107118626 A TW 107118626A TW 107118626 A TW107118626 A TW 107118626A TW I662471 B TWI662471 B TW I662471B
- Authority
- TW
- Taiwan
- Prior art keywords
- real random
- random number
- selection signal
- real
- logic
- Prior art date
Links
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/588—Random number generators, i.e. based on natural stochastic processes
-
- 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)
- Tests Of Electronic Circuits (AREA)
Abstract
本發明提供一種真實隨機數產生裝置以及真實隨機數產生方法。真實隨機數產生裝置包括選擇信號提供電路以及線性反饋移位暫存器。選擇信號提供電路用以提供真實隨機選擇信號。線性反饋移位暫存器包括多數級真實隨機數產生器。第N級真實隨機數產生器用以接收時脈信號以及第N-1位元真實隨機數。第N級真實隨機數產生器依據時脈信號以及第N-1位元真實隨機數產生多個第N級輸出邏輯值,並依據真實隨機選擇信號選擇多個第N級輸出邏輯值的其中之一以作為第N位元真實隨機數。
Description
本發明是有關於一種可提供一種多位元數的真實隨機數產生裝置以及真實隨機數產生方法。
現今常見的隨機數產生裝置可分為虛擬隨機數產生裝置以及真實隨機數產生裝置。虛擬隨機數產生裝置主要是由線性反饋移位暫存器來實現。虛擬隨機數產生裝置可產生分佈平均並且多位元的虛擬隨機數。然而虛擬隨機數產生裝置所產生的虛擬隨機數還是具有週期性,因此虛擬隨機數的產生規則可利用邏輯運算來破解。相較於虛擬隨機數產生裝置,真實隨機數產生裝置則沒有週期性,因此真實隨機數產生裝置所產生的真實隨機數具有不可預測性。然而如果要產生多位元的真實隨機數,則需要多個真實隨機數產生裝置。這會使真實隨機數產生裝置在設計上需要較大的布局空間。此外,真實隨機數產生裝置是以類比電路為主,在操作上也產生較多的功率消耗,如此一來,真實隨機數產生裝置則不容易產生較多位元數的真實隨機數。
本發明提供一種真實隨機數產生裝置以及真實隨機數的產生方法,藉以產生不可預測性的多位元數的真實隨機數。
本發明的真實隨機數產生裝置包括選擇信號提供電路以及線性反饋移位暫存器。選擇信號提供電路用以提供真實隨機選擇信號。線性反饋移位暫存器耦接於選擇信號提供電路。線性反饋移位暫存器用以產生多個真實隨機數。線性反饋移位暫存器包括多數級真實隨機數產生器。多數級真實隨機數產生器串聯耦接。在多個真實隨機數產生器中的第N級真實隨機數產生器用以接收時脈信號、第N-1位元真實隨機數以及真實隨機選擇信號。第N級真實隨機數產生器依據時脈信號以及第N-1位元真實隨機數產生多個第N級輸出邏輯值,並依據真實隨機選擇信號選擇多個第N級輸出邏輯值的其中之一以作為第N位元真實隨機數。N是大於或等於2的自然數。
本發明的真實隨機數產生方法,適用以產生多個位元的真實隨機數。真實隨機數產生方法包括:提供真實隨機選擇信號;接收時脈信號以及第N-1位元真實隨機數,依據時脈信號以及第N-1位元真實隨機數產生多個第N級輸出邏輯值;以及依據真實隨機選擇信號選擇多個第N級輸出邏輯值的其中之一以作為第N位元真實隨機數。N是大於或等於2的自然數。
基於上述,本發明是依據時脈信號以及前一級的位元真實隨機數產生多個輸出邏輯值,並且依據真實隨機選擇信號選擇多個輸出邏輯值的其中之一以作為真實隨機數,藉以產生具有不可預測性的多位元真實隨機數。
為讓本發明的上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
請參考圖1,圖1是依據本發明的第一實施例所繪示的真實隨機數產生裝置的示意圖。在圖1的實施例中,真實隨機數產生裝置100包括選擇信號提供電路110以及線性反饋移位暫存器120。選擇信號提供電路110用以提供真實隨機選擇信號SS。線性反饋移位暫存器120耦接於選擇信號提供電路110。在本實施例中,線性反饋移位暫存器120用以產生多個位元數的真實隨機數TRN(1)~TRN(N)。線性反饋移位暫存器120包括多數級真實隨機數產生器121(1)~121(N)。真實隨機數產生器121(1)~121(N)彼此串聯耦接。在本實施例中,第2級真實隨機數產生器121(2)接收時脈信號CLK以及第1位元真實隨機數TRN(1)。第2級真實隨機數產生器121(2)依據時脈信號CLK以及第1位元真實隨機數TRN(1)產生多個第2級輸出邏輯值,並且依據真實隨機選擇信號SS選擇多個第2級輸出邏輯值的其中之一以作為第2位元真實隨機數TRN(2)。第3級真實隨機數產生器(未示出)接收時脈信號CLK以及第2位元真實隨機數TRN(2)。第3級真實隨機數產生器依據時脈信號CLK以及第2位元真實隨機數TRN(2)產生多個第3級輸出邏輯值,並且依據真實隨機選擇信號SS選擇多個第3級輸出邏輯值的其中之一以作為第3位元真實隨機數TRN(3),依此類推。
在本實施例中,線性反饋移位暫存器120還包括邏輯運算電路122。邏輯運算電路122耦接於真實隨機數產生器121(1)~121(N)中的至少其中兩個真實隨機數產生器。邏輯運算電路122用以接收真實隨機數的至少其二並且進行邏輯運算來產生邏輯運算結果LR。舉例來說,邏輯運算電路122是耦接於真實隨機數產生器121(1)、121(N)。邏輯運算電路122用以接收真實隨機數產生器121(1)所提供的第1位元真實隨機數TRN(1)以及真實隨機數產生器121(N)所提供的第N位元真實隨機數TRN(N),並且對第1位元真實隨機數TRN(1)、第N位元真實隨機數TRN(N)進行邏輯運算以產生邏輯運算結果LR。在產生邏輯運算結果LR之後,邏輯運算電路122將邏輯運算結果LR提供到第1級真實隨機數產生器121(1)。第1級真實隨機數產生器121(1)用以接收時脈信號CLK以及邏輯運算結果LR,依據時脈信號CLK以及邏輯運算結果LR產生多個第1級輸出邏輯值。並第1級真實隨機數產生器121(1)依據真實隨機選擇信號SS選擇多個第1級輸出邏輯值的其中之一以作為第1位元真實隨機數TRN(1)。
本發明的邏輯運算電路可以是一個或多個,並沒有固定的限制。
接下來,第1級真實隨機數產生器121(1)將第1位元真實隨機數TRN(1)提供到第2級真實隨機數產生器121(2),依此循環下去。真實隨機數產生器121(1)~121(N)可分別並持續地產生不可預期的真實隨機數TRN(1)~TRN(N)。線性反饋移位暫存器120組織多個位元的真實隨機數TRN(1)~TRN(N)來產生一組二進位形式的多位元真實隨機數。在本發明中,真實隨機邏輯值產生器的數量是大於或等於2,並且所產生的真實隨機數的數量同樣也是大於或等於2。本發明的真實隨機數產生裝置可依據真實隨機數的位元數的需求來對真實隨機邏輯值產生器的數量進行配置。
在本實施例中,選擇信號提供電路110可以是符合渾沌演算法(Chaotic Algorithm)的演算規則的電路,用以提供單一位元形式的真實隨機選擇信號SS。
在此值得一提的是,在本實施例中,真實隨機選擇信號SS是不可預測的真實隨機值,因此在各級真實隨機數產生器121(1)~121(N)中,藉由真實隨機選擇信號SS來隨機地選擇各級真實隨機數產生器121(1)~121(N)的多個輸出邏輯值的其中之一以產生多位元的真實隨機數TRN(1)~TRN(N)。除此之外,真實隨機選擇信號SS可以是單一位元形式的真實隨機數。因此,選擇信號提供電路110可佔據較少的布局空間。相較於提供多位元的真實隨機值的選擇信號提供電路,用以提供單一位元的真實隨機值的選擇信號提供電路110可具有較低的功率消耗。
進一步來說明,請參考圖2,圖2是依據本發明的第二實施例所繪示的真實隨機數產生裝置的電路示意圖。在圖2的實施例中,為了方便說明,線性反饋移位暫存器220包括三個真實隨機數產生器221(1)~221(3)。真實隨機數產生器221(1)包括正反器2212(1)、反向器2214(1)以及選擇電路2216(1)。真實隨機數產生器221(2)包括正反器2212(2)、反向器2214(2)以及選擇電路2216(2)。真實隨機數產生器221(3)包括正反器2212(3)以及、反向器2214(3)選擇電路2216(3)。
在本實施例中,正反器2212(1)具有資料輸入端D(1)、時脈輸入端CK(1)以及資料輸出端Q(1),資料輸入端D(1)用以接收邏輯運算結果LR,時脈輸入端CK(1)用以接收時脈信號CLK。正反器2212(1)依據邏輯運算結果LR、時脈信號CLK產生第一邏輯值R1(1),並且經由資料輸出端Q(1)輸出第一邏輯值R1(1)。反向器2214(1)的輸入端耦接於正反器2212(1)的資料輸出端Q(1)。反向器2214(1)用以接收第一邏輯值R1(1)並產生經反向運算後的第二邏輯值R2(1)。也就是說在本實施例中,多個第1級輸出邏輯值包括第一邏輯值R1(1)以及第二邏輯值R2(1)。選擇電路2216(1)耦接於正反器2212(1)的資料輸出端Q(1)、反向器2214(1)的輸出端以及選擇信號提供電路210。選擇電路2216(1)受控於單一位元形式的真實隨機選擇信號SS,並且依據真實隨機選擇信號SS選擇第一邏輯值R1(1)以及第二邏輯值R2(1)的其中之一以作為第1位元真實隨機數TRN(1)。
舉例來說,當真實隨機選擇信號SS的邏輯值為「0」時,選擇電路2216(1)會選擇第一邏輯值R1(1)以作為第一位元真實隨機數TRN(1)。相反地,當真實隨機選擇信號SS的邏輯值為「1」時,選擇電路2216(1)則會選擇第二邏輯值R2(1)以作為第一位元真實隨機數TRN(1)。
在本實施例中,選擇電路2216(1)可藉由二選一多工器(2-to-1 Multiplexer)來實現。選擇電路2216(1)具有第一輸入端、第二輸入端、控制端以及輸出端,選擇電路2216(1)的第一輸入端耦接於資料輸出端Q(1),用以接收第一邏輯值R1(1)。選擇電路2216(1)的第二輸入端耦接於反向器2214(1)的輸出端,用以接收第二邏輯值R2(1)。選擇電路2216(1)的控制端耦接於選擇信號提供電路210,用以接收真實隨機選擇信號SS,選擇電路2216(1)的輸出端用以提供第1位元真實隨機數TRN(1)。在其他實施例中,選擇電路2216(1)可藉由傳輸閘(Transmission Gate)來實現。
正反器2212(2)具有資料輸入端D(2)、時脈輸入端CK(2)以及資料輸出端Q(2),資料輸入端D(2)用以接收第1位元真實隨機數TRN(1),時脈輸入端CK(2)用以接收時脈信號CLK。正反器2212(2)依據第1位元真實隨機數TRN(1)、時脈信號CLK產生第一邏輯值R1(2),並且經由資料輸出端Q(2)輸出第一邏輯值R1(2)。也就是說在本實施例中,多個第2級輸出邏輯值包括第一邏輯值R1(2)以及第二邏輯值R2(2)。反向器2214(2)的輸入端耦接於正反器2212(2)的資料輸出端Q(2)。反向器2214(2)用以接收第一邏輯值R1(2)並且對第一邏輯值R1(2)進行反向運算以產生第二邏輯值R2(2)。選擇電路2216(2)耦接於正反器2212(2)的資料輸出端Q(2)、反向器2214(2)的輸出端以及選擇信號提供電路210。選擇電路2216(2)受控於真實隨機選擇信號SS,用以接收第一邏輯值R1(2)以及第二邏輯值R2(2)。選擇電路2216(2)依據真實隨機選擇信號SS選擇第一邏輯值R1(2)以及第二邏輯值R2(2)的其中之一以作為第2位元真實隨機數TRN(2)。
正反器2212(3)具有資料輸入端D(3)、時脈輸入端CK(3)以及資料輸出端Q(3),資料輸入端D(3)用以接收第2位元真實隨機數TRN(2),時脈輸入端CK(3)用以接收時脈信號CLK。正反器2212(3)依據第2位元真實隨機數TRN(2)、時脈信號CLK產生第一邏輯值R1(3),並且經由資料輸出端Q(3)輸出第一邏輯值R1(3)。反向器2214(3)的輸入端耦接於正反器2212(3)的資料輸出端Q(3)。反向器2214(3)用以接收第一邏輯值R1(3)並且對第一邏輯值R1(3)進行反向運算以產生第二邏輯值R2(3)。也就是說在本實施例中,多個第3級輸出邏輯值包括第一邏輯值R1(3)以及第二邏輯值R2(3)。選擇電路2216(3)耦接於正反器2212(3)的資料輸出端Q(3)、反向器2214(3)的輸出端以及選擇信號提供電路210。選擇電路2216(3)受控於真實隨機選擇信號SS,用以接收第一邏輯值R1(3)以及第二邏輯值R2(3)。選擇電路2216(3)依據真實隨機選擇信號SS選擇第一邏輯值R1(3)以及第二邏輯值R2(3)的其中之一以作為第3位元真實隨機數TRN(3)。
在本實施例中,邏輯運算電路222包括互斥或閘XOR。互斥或閘XOR具有兩個輸入端,互斥或閘XOR的兩個輸入端分別耦接於真實隨機數產生器221(1)及221(3),藉以接收第1位元真實隨機數TRN(1)以及第3位元真實隨機數TRN(3)。互斥或閘XOR對第1位元真實隨機數TRN(1)以及第3位元真實隨機數TRN(3)進行邏輯運算來產生邏輯運算結果LR。在本實施例中,基於互斥或閘XOR的邏輯運算在第1位元真實隨機數TRN(1)以及第3位元真實隨機數TRN(3)是相同的情況下,邏輯運算電路322可提供邏輯值為「0」的邏輯運算結果LR。反之,邏輯運算電路322則提供邏輯值為「1」的邏輯運算結果LR。
請同時參考圖2、圖3,圖3是依據本發明一實施例所繪示的真實隨機數產生方法的流程圖。在步驟S310中,提供真實隨機選擇信號SS。在步驟S320中,接收時脈信號以及第N-1位元真實隨機數,依據時脈信號以及第N-1位元真實隨機數產生多個第N級輸出邏輯值。以真實隨機數產生器221(2)為例,真實隨機數產生器221(2)接收時脈信號CLK以及第1位元真實隨機數TRN(1),依據第1位元真實隨機數TRN(1)產生第2級輸出邏輯值的第一邏輯值R1(2)以及第二邏輯值R2(2)。接下來在步驟S330中,依據真實隨機選擇信號SS選擇多個第N級輸出邏輯值的其中之一以作為第N位元真實隨機數。承上例,真實隨機數產生器221(2)依據真實隨機選擇信號SS選擇第一邏輯值R1(2)以及第二邏輯值R2(2)的其中之一以作為第2位元真實隨機數TRN(2)。
請參考圖4,圖4是依據本發明的第三實施例所繪示的真實隨機數產生裝置的電路示意圖。與圖2不同的是,在本實施例的第1級真實隨機數產生器421(1)中,正反器4212(1)可藉由資料輸出端Q(1)提供第一邏輯值R1(1),並且藉由反向資料輸出端BQ(1)提供第二邏輯值BR1(1)。本實施例的正反器4212(1)可藉由資料輸出端Q(1)提供第一邏輯值R1(1),並且藉由反向資料輸出端BQ(1)提供第二邏輯值BR1(1)。選擇電路4216(1)的第一輸入端耦接於資料輸出端Q(1),第一輸入端用以接收第一邏輯值R1(1),並且選擇電路4216(1)的第二輸入端耦接於反向資料輸出端BQ(1),第二輸入端用以接收第二邏輯值BR1(1),藉以依據真實隨機選擇信號SS選擇第一邏輯值R1(1)以及第二邏輯值BR1(1)的其中之一以作為第1位元真實隨機數TRN(1)。
在第2級真實隨機數產生器421(2)中,正反器4212(2)可藉由資料輸出端Q(2)提供第一邏輯值R1(2),並且藉由反向資料輸出端BQ(2)提供第二邏輯值BR1(2)。選擇電路4216(2)的第一輸入端用以接收第一邏輯值R1(2),並且選擇電路4216(2)的第二輸入端用以接收第二邏輯值BR1(2),藉以依據真實隨機選擇信號SS選擇第一邏輯值R1(2)以及第二邏輯值BR1(2)的其中之一以作為第2位元真實隨機數TRN(2)。第3級真實隨機數產生器421(3)的配置方式也相似於第2級真實隨機數產生器421(2),因此恕不再重述。
綜上所述,本發明是依據時脈信號以及前一級的位元真實隨機數產生多個輸出邏輯值。真實隨機選擇信號是不可預測的真實隨機值,因此藉由真實隨機選擇信號隨機地選擇多個輸出邏輯值的其中之一以作為真實隨機數,使得真實隨機數具有不可預測性。除此之外,真實隨機選擇信號可以是單一位元形式就可以實現上述的效果。因此,選擇信號提供電路可佔據較少的布局空間以及產生較低的功率消耗。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明的精神和範圍內,當可作些許的更動與潤飾,故本發明的保護範圍當視後附的申請專利範圍所界定者為準。
100、200、400‧‧‧真實隨機數產生裝置
110、210、410‧‧‧選擇信號提供電路
120、220、420‧‧‧線性反饋移位暫存器
121(1)、121(2)、121(N-1)、121(N)、221(1)、221(2)、221(3)、421(1)、421(2)、421(3)‧‧‧真實隨機數產生器
122、222、422‧‧‧邏輯運算電路
2212(1)、2212(2)、2212(3)、4212(1)、4212(2)、4212(3)‧‧‧正反器
2214(1)、2214(2)、2214(3)‧‧‧反向器
2216(1)、2216(2)、2216(3)、4216(1)、4216(2)、4216(3)‧‧‧選擇電路
BQ(1)、BQ(3)、BQ(3)‧‧‧資料輸出端
BR1(1)、BR1(2)、BR1(3)、R2(1)、R2(2)、R2(3)‧‧‧第二邏輯值
CK(1)、CK(2)、CK(3)‧‧‧時脈輸入端
CLK‧‧‧時脈信號
D(1)、D(2)、D(3)‧‧‧資料輸入端
LR‧‧‧邏輯運算結果
Q(1)、Q(3)、Q(3)‧‧‧資料輸出端
R1(1)、R1(2)、R1(3)‧‧‧第一邏輯值
SS‧‧‧真實隨機選擇信號
TRN(1)、TRN(2)、TRN(3)、TRN(N-1)、TRN(N)‧‧‧真實隨機數
S310、S320、S330‧‧‧步驟
XOR‧‧‧互斥或閘
圖1是依據本發明的第一實施例所繪示的真實隨機數產生裝置的示意圖。 圖2是依據本發明的第二實施例所繪示的真實隨機數產生裝置的電路示意圖。 圖3是依據本發明一實施例所繪示的真實隨機數產生方法的流程圖。 圖4是依據本發明的第三實施例所繪示的真實隨機數產生裝置的電路示意圖。
Claims (13)
- 一種真實隨機數產生裝置,包括:一選擇信號提供電路,用以提供一真實隨機選擇信號,其中該真實隨機選擇信號為單一位元形式的真實隨機值;以及一線性反饋移位暫存器,耦接於該選擇信號提供電路,用以產生多個真實隨機數,該線性反饋移位暫存器包括:多數級真實隨機數產生器,該些真實隨機數產生器串聯耦接,在該些真實隨機數產生器中的一第N級真實隨機數產生器用以接收一時脈信號、一第N-1位元真實隨機數以及該真實隨機選擇信號,依據該時脈信號以及該第N-1級真實隨機數產生多個第N級輸出邏輯值,並依據該真實隨機選擇信號選擇該些第N級輸出邏輯值的其中之一以作為一第N位元真實隨機數,其中N是大於或等於2的自然數。
- 如申請專利範圍第1項所述的真實隨機數產生裝置,其中該線性反饋移位暫存器還包括:一邏輯運算電路,耦接於該些真實隨機數產生器的至少其二,用以接收該些真實隨機數的至少其二,並且對該些真實隨機數的至少其二進行邏輯運算以產生一邏輯運算結果。
- 如申請專利範圍第2項所述的真實隨機數產生裝置,其中在該些真實隨機數產生器中,一第1級真實隨機數產生器用以接收該時脈信號以及該邏輯運算結果,依據該時脈信號、該邏輯運算結果產生多個第1級輸出邏輯值,並依據該真實隨機選擇信號選擇該些第1級輸出邏輯值的其中之一以作為一第1位元真實隨機數。
- 如申請專利範圍第1項所述的真實隨機數產生裝置,其中該第N級真實隨機數產生器包括:一正反器,具有一資料輸入端、一時脈輸入端以及一資料輸出端,該資料輸入端用以接收該第N-1位元真實隨機數,該時脈輸入端用以接收該時脈信號,該資料輸出端用以輸出該些第N級輸出邏輯值的一第一邏輯值。
- 如申請專利範圍第4項所述的真實隨機數產生裝置,其中該第N級真實隨機數產生器包括:一反向器,反向器的輸入端耦接於該資料輸出端,用以接收該第一邏輯值並且對該第一邏輯值進行反向運算以產生該些第N級輸出邏輯值的一第二邏輯值;以及一選擇電路,耦接於該正反器的該資料輸出端、該反向器的輸出端以及該選擇信號提供電路之間,用以接收該第一邏輯值以及該第二邏輯值,並依據該真實隨機選擇信號選擇該第一邏輯值以及該第二邏輯值的其中之一以作為第N位元真實隨機數。
- 如申請專利範圍第5項所述的真實隨機數產生裝置,其中該選擇電路是一二選一多工器。
- 如申請專利範圍第5項所述的真實隨機數產生裝置,其中該選擇電路具有一第一輸入端、一第二輸入端、一控制端以及一輸出端,該第一輸入端耦接於該資料輸出端,用以接收該第一邏輯值,該第二輸入端耦接於該反向器的輸出端,用以接收該第二邏輯值,該控制端耦接於該選擇信號提供電路,用以接收該真實隨機選擇信號,該輸出端用以提供該第N位元真實隨機數。
- 如申請專利範圍第1項所述的真實隨機數產生裝置,其中:該選擇信號提供電路是符合渾沌演算法(Chaotic Algorithm)的演算規則的電路,用以提供單一位元形式的該真實隨機選擇信號。
- 如申請專利範圍第1項所述的真實隨機數產生裝置,其中該第N級真實隨機數產生器包括:一正反器,具有一資料輸入端、一時脈輸入端、一資料輸出端以及一反向資料輸出端,該資料輸入端用以接收該第N-1位元真實隨機數,該時脈輸入端用以接收該時脈信號,該資料輸出端用以提供該些第N級輸出邏輯值的一第一邏輯值,該反向資料輸出端用以提供該些第N級輸出邏輯值的一第二邏輯值;以及一選擇電路,耦接於該正反器的該資料輸出端以及該選擇信號提供電路,具有一第一輸入端、一第二輸入端、一控制端以及一輸出端,該第一輸入端用以接收該第一邏輯值,該第二輸入端用以接收該第二邏輯值,該控制端用以接收該真實隨機選擇信號,該輸出端用以提供該第N位元真實隨機數,藉以依據該真實隨機選擇信號該第一邏輯值以及該第二邏輯值的其中之一以作為第N位元真實隨機數。
- 一種真實隨機數產生方法,適用以產生多個位元的真實隨機數,該方法包括:提供一真實隨機選擇信號,其中該真實隨機選擇信號為單一位元形式的真實隨機值;接收一時脈信號以及一第N-1位元真實隨機數,並依據該時脈信號以及該第N-1位元真實隨機數產生多個第N級輸出邏輯值;以及依據該真實隨機選擇信號選擇該些第N級輸出邏輯值的其中之一以作為一第N位元真實隨機數,其中N是大於或等於2的自然數。
- 如申請專利範圍第10項所述的真實隨機數產生方法,更包括:對該些真實隨機數的至少其二進行邏輯運算以產生一邏輯運算結果;以及接收該時脈信號、該邏輯運算結果,依據該時脈信號、該邏輯運算結果產生多個第1級輸出邏輯值,並依據該真實隨機選擇信號選擇該些第1級輸出邏輯值的其中之一以作為一第1位元真實隨機數。
- 如申請專利範圍第10項所述的真實隨機數產生方法,其中依據該真實隨機選擇信號選擇該些第N級輸出邏輯值的其中之一以作為該第N位元真實隨機數的步驟包括:產生該些第N級輸出邏輯值的一第一邏輯值以及一第二邏輯值;以及依據該真實隨機選擇信號選擇該第一邏輯值以及該第二邏輯值的其中之一以作為第N位元真實隨機數。
- 如申請專利範圍第10項所述的真實隨機數產生方法,其中該真實隨機選擇信號是基於符合渾沌演算法(Chaotic Algorithm)的演算規則所提供的單一位元形式的選擇信號。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW107118626A TWI662471B (zh) | 2018-05-31 | 2018-05-31 | 真實隨機數產生裝置及其產生方法 |
US16/177,458 US10776079B2 (en) | 2018-05-31 | 2018-11-01 | True random number generation device and generation method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW107118626A TWI662471B (zh) | 2018-05-31 | 2018-05-31 | 真實隨機數產生裝置及其產生方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI662471B true TWI662471B (zh) | 2019-06-11 |
TW202004490A TW202004490A (zh) | 2020-01-16 |
Family
ID=67764476
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW107118626A TWI662471B (zh) | 2018-05-31 | 2018-05-31 | 真實隨機數產生裝置及其產生方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10776079B2 (zh) |
TW (1) | TWI662471B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113377338A (zh) * | 2021-07-09 | 2021-09-10 | 广东电网有限责任公司 | 基于电力物联网的自反馈真随机数生成方法及*** |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200504584A (en) * | 2003-07-17 | 2005-02-01 | Univ Nat Sun Yat Sen | Parameters programmable multi-bit random number generator |
TW200504586A (en) * | 2003-06-24 | 2005-02-01 | Renesas Tech Corp | Random number generator |
CN202362767U (zh) * | 2011-12-15 | 2012-08-01 | 戴佳捷 | 一种基于混沌电路的真随机信号发生装置 |
US8321773B1 (en) * | 2008-10-31 | 2012-11-27 | Altera Corporation | Hardware true random number generator in integrated circuit with tamper detection |
CN103150138A (zh) * | 2013-03-29 | 2013-06-12 | 成都三零嘉微电子有限公司 | 一种基于数字电路的真随机数发生器 |
US20170083289A1 (en) * | 2015-09-23 | 2017-03-23 | Technische Universitaet Dresden | Method for generating true random numbers on a multiprocessor system and the same |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2357610B (en) * | 1999-12-20 | 2004-04-28 | Mitsubishi Electric Inf Tech | Method and apparatus for generating numbers |
US20040049525A1 (en) * | 2002-09-06 | 2004-03-11 | Koninklijke Philips Electronics N.V. | Feedback random number generation method and system |
EP1821196B1 (en) * | 2006-02-15 | 2008-08-13 | Jaycrypto Limited | Method and apparatus for seeding a cryptographic random number generator |
FR2899352B1 (fr) * | 2006-03-29 | 2008-06-20 | Eads Secure Networks Soc Par A | Generateur de nombres aleatoires |
US8879733B2 (en) | 2012-07-10 | 2014-11-04 | Infineon Technologies Ag | Random bit stream generator with guaranteed minimum period |
CN202995706U (zh) | 2012-12-20 | 2013-06-12 | 上海质尊溯源电子科技有限公司 | 一种反馈型高强度真随机数发生器 |
CN103197912B (zh) | 2013-03-21 | 2016-02-10 | 北京理工大学 | 一种用于深空通信协议编码的均匀随机数生成方法 |
US20150089245A1 (en) | 2013-09-26 | 2015-03-26 | Asher M. Altman | Data storage in persistent memory |
CN104636115B (zh) | 2013-11-14 | 2017-12-15 | 国家电网公司 | 一种真随机数后处理装置及方法 |
EP3147774A1 (fr) * | 2015-09-25 | 2017-03-29 | Gemalto Sa | Generateur d'horloge aleatoire |
CN106293617B (zh) | 2016-08-12 | 2018-11-09 | 上海坚芯电子科技有限公司 | 真随机数发生器 |
CN107017016A (zh) | 2017-03-30 | 2017-08-04 | 中国科学院计算技术研究所 | 一种防时序侧通道攻击的内存刷新控制方法及装置 |
CN107465508B (zh) | 2017-08-07 | 2021-02-23 | 吕文华 | 一种软硬件结合构造真随机数的方法、***和设备 |
-
2018
- 2018-05-31 TW TW107118626A patent/TWI662471B/zh active
- 2018-11-01 US US16/177,458 patent/US10776079B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200504586A (en) * | 2003-06-24 | 2005-02-01 | Renesas Tech Corp | Random number generator |
TW200504584A (en) * | 2003-07-17 | 2005-02-01 | Univ Nat Sun Yat Sen | Parameters programmable multi-bit random number generator |
US8321773B1 (en) * | 2008-10-31 | 2012-11-27 | Altera Corporation | Hardware true random number generator in integrated circuit with tamper detection |
CN202362767U (zh) * | 2011-12-15 | 2012-08-01 | 戴佳捷 | 一种基于混沌电路的真随机信号发生装置 |
CN103150138A (zh) * | 2013-03-29 | 2013-06-12 | 成都三零嘉微电子有限公司 | 一种基于数字电路的真随机数发生器 |
US20170083289A1 (en) * | 2015-09-23 | 2017-03-23 | Technische Universitaet Dresden | Method for generating true random numbers on a multiprocessor system and the same |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113377338A (zh) * | 2021-07-09 | 2021-09-10 | 广东电网有限责任公司 | 基于电力物联网的自反馈真随机数生成方法及*** |
CN113377338B (zh) * | 2021-07-09 | 2023-07-14 | 广东电网有限责任公司 | 基于电力物联网的自反馈真随机数生成方法及*** |
Also Published As
Publication number | Publication date |
---|---|
TW202004490A (zh) | 2020-01-16 |
US20190369964A1 (en) | 2019-12-05 |
US10776079B2 (en) | 2020-09-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI758688B (zh) | 隨機數產生器 | |
JPS63501609A (ja) | ランダム・シ−ケンス発生装置と方法 | |
TW201214277A (en) | Bit sequence generator and apparatus for calculating a sub-rate transition matrix and a sub-rate initial state for a state machine of a plurality of state machines | |
TWI662471B (zh) | 真實隨機數產生裝置及其產生方法 | |
TWI668630B (zh) | 亂數產生器以及亂數產生方法 | |
JP6423270B2 (ja) | 乱数生成装置及び乱数生成方法 | |
CN108521327B (zh) | 一种断电存储型simon加密电路 | |
JP4589327B2 (ja) | 電子素子及びデータ処理方法 | |
JP6379032B2 (ja) | 乱数生成装置及び乱数生成方法 | |
JP4417389B2 (ja) | デジタルロジックを利用した乱数発生装置及び方法 | |
US11586418B2 (en) | Random number generator, random number generating circuit, and random number generating method | |
CN110609672B (zh) | 真实随机数产生装置及其产生方法 | |
TW201604773A (zh) | 亂數產生器及其亂數產生方法 | |
JP2014164342A (ja) | 擬似乱数生成回路および擬似乱数生成方法 | |
Anchana et al. | Design of PUF Based Chaotic Random Number Generator | |
US20040143614A1 (en) | Hiding the internal state of a random number generator | |
JP3017203B1 (ja) | 2進10進変換回路及びその方法 | |
JP6386904B2 (ja) | 乱数生成装置及び乱数生成方法 | |
JP2021128555A (ja) | 乱数発生器 | |
TW200414027A (en) | Device and method for generating a pseudorandom sequence of numbers | |
TW202234852A (zh) | 隨機數產生器 | |
JPS59223848A (ja) | 任意確率の2値乱数発生器 | |
Singh et al. | LFSR Base Random Number Generator Design in 50nm Technology | |
JPH10271008A (ja) | 2進10進変換回路 | |
JP2003131566A (ja) | ランダム関数演算方法及び演算装置 |