TWI706320B - Real random number generating device and method of field programmable gate array - Google Patents
Real random number generating device and method of field programmable gate array Download PDFInfo
- Publication number
- TWI706320B TWI706320B TW108103294A TW108103294A TWI706320B TW I706320 B TWI706320 B TW I706320B TW 108103294 A TW108103294 A TW 108103294A TW 108103294 A TW108103294 A TW 108103294A TW I706320 B TWI706320 B TW I706320B
- Authority
- TW
- Taiwan
- Prior art keywords
- random
- configurable
- random number
- programmable gate
- field programmable
- Prior art date
Links
Images
Abstract
本發明係揭露一種現場可編程閘陣列的隨機數生成器有一隨機源組、一環境感測組、一採樣控制器及一熵收穫器。該隨機源組被用於提供隨機訊號。該環境感測組被用於提供環境訊號。該採樣控制器連接該隨機源組及該環境感測組。該熵收穫器連接該隨機源組及該採樣控制器,以致該熵收穫器用隨機訊號及環境訊號產生隨機數。 The invention discloses a random number generator of a field programmable gate array, which has a random source group, an environment sensing group, a sampling controller and an entropy harvester. The random source group is used to provide random signals. The environmental sensing group is used to provide environmental signals. The sampling controller is connected to the random source group and the environment sensing group. The entropy harvester is connected to the random source group and the sampling controller, so that the entropy harvester generates random numbers with random signals and environmental signals.
Description
本發明關於隨機數產生,特別關於現場可編程閘陣列的真實隨機數產生裝置及方法。 The present invention relates to random number generation, and particularly to a real random number generation device and method of a field programmable gate array.
可用隨機數(random number)保護資料安全,並用隨機數生成器產生隨機數。一些隨機數生成器產生的隨機數無法被操控,可稱這些隨機數生成器為「真實隨機數生成器」(true random number generator)。其他隨機數生成器產生的隨機數易被預期,可稱這些隨機數生成器為「非真實隨機數生成器」。真實隨機數生成器大多被用於特殊應用積體電路(application-specific integrated circuit:ASIC)。尚無真實隨機數生成器有效地被用於現場可編程閘陣列(field programmable gate array:FPGA)。當今現場可編程閘陣列的隨機數生成器用非真實隨機數生成器,以致不能產生真實隨機數而無法有效保護資料安全性。 Random numbers can be used to protect data security, and random number generators can be used to generate random numbers. The random numbers generated by some random number generators cannot be manipulated. These random number generators can be called "true random number generators". The random numbers generated by other random number generators are easy to be expected, and these random number generators can be called "unreal random number generators". Real random number generators are mostly used in application-specific integrated circuits (ASIC). No real random number generator has been effectively used for field programmable gate array (FPGA). The current random number generator of the field programmable gate array uses an unreal random number generator, so that the real random number cannot be generated and the data security cannot be effectively protected.
US20110169579A1所示的隨機數生成器用二隨機源(random source)。一隨機源是一高頻振盪器(oscillator)71,另一隨機源是一低頻振盪器72。然而,此專利未於FPGA實現產生真實隨機數。 The random number generator shown in US20110169579A1 uses two random sources. One random source is a high frequency oscillator 71, and the other random source is a low frequency oscillator 72. However, this patent does not generate real random numbers in FPGA implementation.
US20150019605A1所示的隨機數生成器用二鎖相迴路(phase-locked loop:PLL)當隨機源。然而,此專利未於FPGA 實現產生真實隨機數。 The random number generator shown in US20150019605A1 uses a phase-locked loop (PLL) as a random source. However, this patent is not related to FPGA Realize the generation of real random numbers.
如WO2014007583A1所示,一隨機數生成器用一物理資料庫路徑(physical data base path:PDB path)110當隨機源,並用一個二進制計數器(binary counter)140延遲(delay)訊號。然而,此專利產生隨機源方式為單一形式,須以補償電路提高其隨機度。 As shown in WO2014007583A1, a random number generator uses a physical data base path (PDB path) 110 as a random source, and uses a binary counter 140 to delay the signal. However, the random source generation method of this patent is a single form, which requires a compensation circuit to increase its randomness.
CN101515228A所示的隨機數生成器用一隨機源模組1及後處理模組2。隨機源模組1有多個環形振盪器(ring oscillator)31、32、…、3N當隨機源,用一互斥或閘(exclusive or)4處理從這些環形振盪器而來的訊號,並用一採樣器5對從互斥或閘4而來的訊號採樣。從採樣器5而來的訊號被視為原始隨機數。後處理器模組2處理原始隨機數。從後處理器模組2而來的訊號被視為隨機數。然而,此專利未於FPGA實現產生真實隨機數。
The random number generator shown in CN101515228A uses a
有鑑於上述習知技藝之問題,本發明之目的是提供一種現場可編程閘陣列的隨機數生成器。 In view of the above-mentioned problems of the prior art, the purpose of the present invention is to provide a random number generator of a field programmable gate array.
為達成上述目的,該現場可編程閘陣列的隨機數生成器有一隨機源組、一環境感測組、一採樣控制器及一熵收穫器。該隨機源組被用於提供隨機訊號。該環境感測組被用於提供環境訊號。該採樣控制器連接該隨機源組及該環境感測組。該熵收穫器連接該隨機源組及該採樣控制器,以致該熵收穫器用隨機訊號及環境訊號產生隨機數。 To achieve the above purpose, the random number generator of the field programmable gate array has a random source group, an environment sensing group, a sampling controller and an entropy harvester. The random source group is used to provide random signals. The environmental sensing group is used to provide environmental signals. The sampling controller is connected to the random source group and the environment sensing group. The entropy harvester is connected to the random source group and the sampling controller, so that the entropy harvester generates random numbers with random signals and environmental signals.
10‧‧‧真實隨機數生成器 10‧‧‧Real random number generator
12‧‧‧熵收穫器 12‧‧‧Entropy Harvester
14‧‧‧後處理器 14‧‧‧Post processor
16‧‧‧使用者介面 16‧‧‧User Interface
18‧‧‧採樣控制器 18‧‧‧Sampling Controller
20‧‧‧隨機源組 20‧‧‧Random source group
22、24、26‧‧‧隨機源 22, 24, 26‧‧‧ random source
30‧‧‧環境感測組 30‧‧‧Environmental Sensing Group
32‧‧‧溫度計 32‧‧‧Thermometer
34‧‧‧電壓計 34‧‧‧Voltmeter
36、38‧‧‧多工器 36、38‧‧‧Multiplexer
40、42‧‧‧環形振盪器 40、42‧‧‧Ring oscillator
44‧‧‧採樣器 44‧‧‧Sampler
46、47‧‧‧反向器 46、47‧‧‧Inverter
48‧‧‧可組態訊號產生器 48‧‧‧Configurable signal generator
50‧‧‧鎖相迴路 50‧‧‧Phase lock loop
52、54‧‧‧延遲串列電路 52, 54‧‧‧ Delay serial circuit
56‧‧‧採樣器 56‧‧‧Sampler
58‧‧‧可組態控制器 58‧‧‧Configurable controller
59‧‧‧可組態多工器 59‧‧‧Configurable multiplexer
60‧‧‧可組態靜態隨機存取記憶體陣列 60‧‧‧Configurable static random access memory array
62、64‧‧‧類比數位轉換器 62、64‧‧‧Analog to Digital Converter
66‧‧‧溫度感測器 66‧‧‧Temperature sensor
68‧‧‧電壓感測器 68‧‧‧Voltage Sensor
第1圖是本發明的較佳實施例的現場可編程閘陣列的隨機數生成器的一方塊圖;第2圖是第1圖所示的現場可編程閘陣列的隨機數生成器的第一隨機源的一方塊圖;第3圖是第2圖所示的第一隨機源的一環形振盪器的一方塊圖;第4圖是第1圖所示的現場可編程閘陣列的隨機數生成器的第二隨機源的一方塊圖;第5圖是第1圖所示的現場可編程閘陣列的隨機數生成器的第三隨機源的一方塊圖;第6圖顯示第5圖所示的第三隨機源的原理;第7圖是一可組態訊號產生器的一方塊圖,此可組態訊號產生器可用於第一隨機源的反向器、第二隨機源的延遲器及第三隨機源的反向器及延遲器;及第8圖是第1圖所示的現場可編程閘陣列的隨機數生成器的一環境感測組的方塊圖案。 Figure 1 is a block diagram of the random number generator of the field programmable gate array of the preferred embodiment of the present invention; Figure 2 is the first of the random number generator of the field programmable gate array shown in Figure 1 A block diagram of a random source; Figure 3 is a block diagram of a ring oscillator of the first random source shown in Figure 2; Figure 4 is a random number generation of the field programmable gate array shown in Figure 1 A block diagram of the second random source of the device; Fig. 5 is a block diagram of the third random source of the random number generator of the field programmable gate array shown in Fig. 1; Fig. 6 shows that shown in Fig. 5 The principle of the third random source; Figure 7 is a block diagram of a configurable signal generator, this configurable signal generator can be used for the first random source inverter, the second random source delay and The inverter and delayer of the third random source; and Fig. 8 is a block pattern of an environmental sensing group of the random number generator of the field programmable gate array shown in Fig. 1.
以下參考相關圖式進一步說明本發明的較佳實施例。為便於理解本發明,以下用相同符號標示相同元件。 The preferred embodiments of the present invention are further described below with reference to related drawings. In order to facilitate the understanding of the present invention, the same symbols are used to denote the same elements below.
參考第1圖,依本發明的較佳實施例,一真實隨機數生成器10包括一熵收穫器(entropy harvester)12、一後處理器(post-processor)14、一使用者介面16、一採樣控制器(sampling controller)18、一隨機源組20及一環境感測組30。隨機數生成器10被做成一現場可編程閘陣列的一部分。真實隨機數生成器
10可被用於一個資料貯存裝置或任何其他適當裝置。真實隨機數生成器10與這樣裝置組成一個系統。
Referring to Figure 1, according to a preferred embodiment of the present invention, a true
在此實施例中,隨機源組20包括三個隨機源22、24及26。隨機源22、24及26都連接熵收穫器12。因此,隨機源22、24及26提供隨機訊號給熵收穫器12。在其他實施例中,隨機源組20可包括其他數量及/或種類的隨機源。隨機源22、24及26都連接熵收穫器12。不論數量或種類為何,隨機源都連接熵收穫器12。
In this embodiment, the
在此實施例中,環境感測組30包括一溫度計32及一電壓計34。溫度計32及電壓計34都連接採樣控制器18。溫度計32測得系統溫度並據以提供訊號給採樣控制器18。電壓計34測得系統電壓並據以提供訊號給採樣控制器18。環境感測組30偵測環境條件,並據以提供環境訊號。這些環境訊號從類比被轉換成數位,然後被用於生成隨機數。如此所得的隨機數難以被精準預測。在其他實施例中,環境感測組30可包括其他數量及/或其他種類的環境感測計,例如濕度計,壓力計。不論數量或種類為何,環境感測計都連接採樣控制器18。
In this embodiment, the
熵收穫器12連接後處理器14。後處理器14連接使用者介面16及採樣控制器18。使用者介面16連接採樣控制器18。採樣控制器18連接熵收穫器12及隨機源組20。
The
熵收穫器12從隨機源組20直接接收隨機訊號,並透過採樣控制器18從環境感測組30接收環境訊號。熵收穫器12用隨機訊號及環境訊號產生隨機數。
The
後處理器14從熵收穫器12接收隨機數,並把它們轉換成系統所需的格式。另外,後處理器14反饋採樣控制器18,且這反饋被用於產生不可預期的控制訊號給隨機源組20。
The
使用者介面16把以系統所需格式的隨機數給系統使用。使用者介面16接收系統訊號並反饋採樣控制器18,這反饋被用於產生不可預期的控制訊號給隨機源組20。
The
如上述,環境感測組30提供環境訊號,增加隨機數的不可預期性。後處理器14的反饋進一步提升隨機數的不可預期性。使用者介面16的反饋更提升隨機數的不可預期性。
As mentioned above, the
參考第2圖及第3圖,隨機源22包括二環形振盪器40及42及一採樣器44。環形振盪器40及42都連接採樣器44。環形振盪器40及42都由若干反向器46串連而成。每個反向器46由若干可組態訊號產生器48(第7圖)組成。環形振盪器40產生一組時鐘訊號,環形振盪器42產生另一組時鐘訊號。環形振盪器40產生的時鐘訊號是採樣器44的資料,環形振盪器42產生的時鐘訊號是採樣器44的時鐘,兩者的頻率不全然相同。另外,時鐘抖動(clock jitter)是不可預期的干擾因素。因此,採樣器44採樣的資料落入亞穩態(metastability)區間而得到不可預期之隨機源。
Referring to FIGS. 2 and 3, the
參考第4圖,隨機源24包括一鎖相迴路(phase-locked loop:PLL)50、二延遲串列電路52及54及一採樣器56。鎖相迴路50是現場可編程閘陣列的一部分。鎖相迴路50產生兩組時鐘訊號源C0及C1。時鐘訊號源C1是採樣器56之時鐘訊號源。C0是採樣器56之資料源。時鐘抖動(clock jitter)是不可預期的干擾因素。所以,不能預期採樣資料是否落入亞穩態區間而得到不可預期之資料。時鐘訊號源C0連接延遲串列電路52。時鐘訊號源C1連接延遲串列電路54。延遲串列電路52及54都是以若干可組態訊號產生器48組成。
Referring to FIG. 4, the
參考第5圖及第6圖,隨機源26是亞穩態隨機源,
並包括兩個多工器36及38、兩個反向器46及47、兩個延遲串列電路52及54。多工器36、反向器46及延遲串列電路52相連。多工器38、反向器47及延遲串列電路54相連。選擇訊號為真(1)時,反向器46及47各自產生振盪訊號於0跟1之間。選擇訊號為假(0)時,反向器46的輸出接至多工器38的輸入,反向器47的輸出接至多工器36的輸入。此時,反向器46及47的輸入與輸出數值皆不可確定,邏輯狀態衝突時會進入亞穩態區間,且無法預期在平均故障間隔(mean time between failures,MTBF)時間後的穩態結果,而造成採樣暫存器採樣的數值不可預期。如此,產生隨機數。
Referring to Figures 5 and 6, the
參考第7圖,反向器46及47、延遲串列電路52及54都可包括若干可組態訊號產生器48。每個可組態訊號產生器48可依模式輸出同向或反向訊號,並包括相連的可組態控制器58、可組態多工器59及可組態靜態隨機存取記憶體陣列60。可組態控制器58、可組態多工器59及可組態靜態隨機存取憶體陣列60不限於特定數量及形式。可組態控制器58動態選擇可組態多工器59的輸出路徑,達成不同延遲效果,確保不可預期性。
Referring to FIG. 7, the
參考第8圖,溫度計32包括一溫度感測器66並透過現場可編程閘陣列的一類比數位轉換器(analog-to-digital converter:ADC)62連接採樣控制器18。電壓計34包括一電壓感測器68並透過現場可編程閘陣列的另一類比數位轉換器64連接採樣控制器18。類比數位轉換器62及64實質相同。如此,類比數位轉換器62及64分別把從溫度感測器66及電壓感測器68而來的訊號從類比轉換成數位,以利採樣控制器18使用。
Referring to FIG. 8, the
以上僅為描述本發明的較佳實施方式,非用以限 定本發明的範圍。本技術領域內的一般技術人員根據上述實施例所作的均等變化,以及本領域內技術人員熟知的改變,仍在本發明的範圍內。 The above is only a description of the preferred embodiments of the present invention and is not intended to limit Determine the scope of the invention. The equal changes made by those skilled in the art based on the above-mentioned embodiments and the changes well known to those skilled in the art are still within the scope of the present invention.
10‧‧‧真實隨機數生成器 10‧‧‧Real random number generator
12‧‧‧熵收穫器 12‧‧‧Entropy Harvester
14‧‧‧後處理器 14‧‧‧Post processor
16‧‧‧使用者介面 16‧‧‧User Interface
18‧‧‧採樣控制器 18‧‧‧Sampling Controller
20‧‧‧隨機源組 20‧‧‧Random source group
22、24、26‧‧‧隨機源 22, 24, 26‧‧‧ random source
30‧‧‧環境感測組 30‧‧‧Environmental Sensing Group
32‧‧‧溫度計 32‧‧‧Thermometer
34‧‧‧電壓計 34‧‧‧Voltmeter
Claims (12)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW108103294A TWI706320B (en) | 2019-01-29 | 2019-01-29 | Real random number generating device and method of field programmable gate array |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW108103294A TWI706320B (en) | 2019-01-29 | 2019-01-29 | Real random number generating device and method of field programmable gate array |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202028962A TW202028962A (en) | 2020-08-01 |
TWI706320B true TWI706320B (en) | 2020-10-01 |
Family
ID=73002699
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW108103294A TWI706320B (en) | 2019-01-29 | 2019-01-29 | Real random number generating device and method of field programmable gate array |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI706320B (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI778557B (en) | 2021-03-26 | 2022-09-21 | 新唐科技股份有限公司 | True random number generator and true random number generating method |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101957741A (en) * | 2010-10-18 | 2011-01-26 | 东南大学 | Sub-threshold value characteristic-based true random number generator |
CN103927147A (en) * | 2013-01-16 | 2014-07-16 | 擎泰科技股份有限公司 | Delay device, method, and random number generator using the same |
CN104317551A (en) * | 2014-10-17 | 2015-01-28 | 北京德加才科技有限公司 | Ultrahigh-safety true random number generation method and ultrahigh-safety true random number generation system |
CN105867877A (en) * | 2016-03-25 | 2016-08-17 | 中国科学技术大学 | FPGA-based true random number generator |
CN107038015A (en) * | 2016-11-18 | 2017-08-11 | 杭州电子科技大学 | A kind of high-speed, true random-number generator |
-
2019
- 2019-01-29 TW TW108103294A patent/TWI706320B/en active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101957741A (en) * | 2010-10-18 | 2011-01-26 | 东南大学 | Sub-threshold value characteristic-based true random number generator |
CN103927147A (en) * | 2013-01-16 | 2014-07-16 | 擎泰科技股份有限公司 | Delay device, method, and random number generator using the same |
CN104317551A (en) * | 2014-10-17 | 2015-01-28 | 北京德加才科技有限公司 | Ultrahigh-safety true random number generation method and ultrahigh-safety true random number generation system |
CN105867877A (en) * | 2016-03-25 | 2016-08-17 | 中国科学技术大学 | FPGA-based true random number generator |
CN107038015A (en) * | 2016-11-18 | 2017-08-11 | 杭州电子科技大学 | A kind of high-speed, true random-number generator |
Also Published As
Publication number | Publication date |
---|---|
TW202028962A (en) | 2020-08-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2525489B1 (en) | Bit sequence generation device and bit sequence generation method | |
EP2286256B1 (en) | Dll for period jitter measurement | |
TWI470196B (en) | Temperature sensing apparatus and method using the same | |
US20130346459A1 (en) | Method for generating random numbers | |
US9465585B2 (en) | Method for detecting a correlation | |
KR20150056458A (en) | A circuit delay monitoring apparatus and method | |
CN111258548A (en) | True random number generator | |
US20200278839A1 (en) | True Random Number Generator of a Field Programmable Gate Array | |
Hussain et al. | BIST-PUF: Online, hardware-based evaluation of physically unclonable circuit identifiers | |
Polzer et al. | An approach for efficient metastability characterization of FPGAs through the designer | |
TWI706320B (en) | Real random number generating device and method of field programmable gate array | |
Amaki et al. | A process and temperature tolerant oscillator-based true random number generator with dynamic 0/1 bias correction | |
US11777541B2 (en) | Digital fingerprint generation circuit, generation method and electronic device | |
US9582249B2 (en) | Method for monitoring the output of a random generator | |
Jin et al. | A dynamically reconfigurable entropy source circuit for high-throughput true random number generator | |
TW201421356A (en) | Storage circuit with random number generation mode | |
Simka et al. | Model of a true random number generator aimed at cryptographic applications | |
US9638752B2 (en) | Measurement circuitry and method for measuring a clock node to output node delay of a flip-flop | |
Tebelmann et al. | On-chip side-channel analysis of the loop PUF | |
CN111522529B (en) | Random number generator for field programmable gate array | |
Amaki et al. | A process and temperature tolerant oscillator-based true random number generator | |
Charlot et al. | High-resolution waveform capture device on a cyclone-v fpga | |
US20090055122A1 (en) | On-Chip Frequency Response Measurement | |
CN111124363B (en) | True random number generation method and true random number generator | |
JP2010096625A (en) | Semiconductor integrated circuit and method for testing semiconductor integrated circuit |