TWI706320B - 現場可編程閘陣列的真實隨機數產生裝置及方法 - Google Patents
現場可編程閘陣列的真實隨機數產生裝置及方法 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
Landscapes
- Logic Circuits (AREA)
- Stabilization Of Oscillater, Synchronisation, Frequency Synthesizers (AREA)
Abstract
本發明係揭露一種現場可編程閘陣列的隨機數生成器有一隨機源組、一環境感測組、一採樣控制器及一熵收穫器。該隨機源組被用於提供隨機訊號。該環境感測組被用於提供環境訊號。該採樣控制器連接該隨機源組及該環境感測組。該熵收穫器連接該隨機源組及該採樣控制器,以致該熵收穫器用隨機訊號及環境訊號產生隨機數。
Description
本發明關於隨機數產生,特別關於現場可編程閘陣列的真實隨機數產生裝置及方法。
可用隨機數(random number)保護資料安全,並用隨機數生成器產生隨機數。一些隨機數生成器產生的隨機數無法被操控,可稱這些隨機數生成器為「真實隨機數生成器」(true random number generator)。其他隨機數生成器產生的隨機數易被預期,可稱這些隨機數生成器為「非真實隨機數生成器」。真實隨機數生成器大多被用於特殊應用積體電路(application-specific integrated circuit:ASIC)。尚無真實隨機數生成器有效地被用於現場可編程閘陣列(field programmable gate array:FPGA)。當今現場可編程閘陣列的隨機數生成器用非真實隨機數生成器,以致不能產生真實隨機數而無法有效保護資料安全性。
US20110169579A1所示的隨機數生成器用二隨機源(random source)。一隨機源是一高頻振盪器(oscillator)71,另一隨機源是一低頻振盪器72。然而,此專利未於FPGA實現產生真實隨機數。
US20150019605A1所示的隨機數生成器用二鎖相迴路(phase-locked loop:PLL)當隨機源。然而,此專利未於FPGA
實現產生真實隨機數。
如WO2014007583A1所示,一隨機數生成器用一物理資料庫路徑(physical data base path:PDB path)110當隨機源,並用一個二進制計數器(binary counter)140延遲(delay)訊號。然而,此專利產生隨機源方式為單一形式,須以補償電路提高其隨機度。
CN101515228A所示的隨機數生成器用一隨機源模組1及後處理模組2。隨機源模組1有多個環形振盪器(ring oscillator)31、32、…、3N當隨機源,用一互斥或閘(exclusive or)4處理從這些環形振盪器而來的訊號,並用一採樣器5對從互斥或閘4而來的訊號採樣。從採樣器5而來的訊號被視為原始隨機數。後處理器模組2處理原始隨機數。從後處理器模組2而來的訊號被視為隨機數。然而,此專利未於FPGA實現產生真實隨機數。
有鑑於上述習知技藝之問題,本發明之目的是提供一種現場可編程閘陣列的隨機數生成器。
為達成上述目的,該現場可編程閘陣列的隨機數生成器有一隨機源組、一環境感測組、一採樣控制器及一熵收穫器。該隨機源組被用於提供隨機訊號。該環境感測組被用於提供環境訊號。該採樣控制器連接該隨機源組及該環境感測組。該熵收穫器連接該隨機源組及該採樣控制器,以致該熵收穫器用隨機訊號及環境訊號產生隨機數。
10‧‧‧真實隨機數生成器
12‧‧‧熵收穫器
14‧‧‧後處理器
16‧‧‧使用者介面
18‧‧‧採樣控制器
20‧‧‧隨機源組
22、24、26‧‧‧隨機源
30‧‧‧環境感測組
32‧‧‧溫度計
34‧‧‧電壓計
36、38‧‧‧多工器
40、42‧‧‧環形振盪器
44‧‧‧採樣器
46、47‧‧‧反向器
48‧‧‧可組態訊號產生器
50‧‧‧鎖相迴路
52、54‧‧‧延遲串列電路
56‧‧‧採樣器
58‧‧‧可組態控制器
59‧‧‧可組態多工器
60‧‧‧可組態靜態隨機存取記憶體陣列
62、64‧‧‧類比數位轉換器
66‧‧‧溫度感測器
68‧‧‧電壓感測器
第1圖是本發明的較佳實施例的現場可編程閘陣列的隨機數生成器的一方塊圖;第2圖是第1圖所示的現場可編程閘陣列的隨機數生成器的第一隨機源的一方塊圖;第3圖是第2圖所示的第一隨機源的一環形振盪器的一方塊圖;第4圖是第1圖所示的現場可編程閘陣列的隨機數生成器的第二隨機源的一方塊圖;第5圖是第1圖所示的現場可編程閘陣列的隨機數生成器的第三隨機源的一方塊圖;第6圖顯示第5圖所示的第三隨機源的原理;第7圖是一可組態訊號產生器的一方塊圖,此可組態訊號產生器可用於第一隨機源的反向器、第二隨機源的延遲器及第三隨機源的反向器及延遲器;及第8圖是第1圖所示的現場可編程閘陣列的隨機數生成器的一環境感測組的方塊圖案。
以下參考相關圖式進一步說明本發明的較佳實施例。為便於理解本發明,以下用相同符號標示相同元件。
參考第1圖,依本發明的較佳實施例,一真實隨機數生成器10包括一熵收穫器(entropy harvester)12、一後處理器(post-processor)14、一使用者介面16、一採樣控制器(sampling controller)18、一隨機源組20及一環境感測組30。隨機數生成器10被做成一現場可編程閘陣列的一部分。真實隨機數生成器
10可被用於一個資料貯存裝置或任何其他適當裝置。真實隨機數生成器10與這樣裝置組成一個系統。
在此實施例中,隨機源組20包括三個隨機源22、24及26。隨機源22、24及26都連接熵收穫器12。因此,隨機源22、24及26提供隨機訊號給熵收穫器12。在其他實施例中,隨機源組20可包括其他數量及/或種類的隨機源。隨機源22、24及26都連接熵收穫器12。不論數量或種類為何,隨機源都連接熵收穫器12。
在此實施例中,環境感測組30包括一溫度計32及一電壓計34。溫度計32及電壓計34都連接採樣控制器18。溫度計32測得系統溫度並據以提供訊號給採樣控制器18。電壓計34測得系統電壓並據以提供訊號給採樣控制器18。環境感測組30偵測環境條件,並據以提供環境訊號。這些環境訊號從類比被轉換成數位,然後被用於生成隨機數。如此所得的隨機數難以被精準預測。在其他實施例中,環境感測組30可包括其他數量及/或其他種類的環境感測計,例如濕度計,壓力計。不論數量或種類為何,環境感測計都連接採樣控制器18。
熵收穫器12連接後處理器14。後處理器14連接使用者介面16及採樣控制器18。使用者介面16連接採樣控制器18。採樣控制器18連接熵收穫器12及隨機源組20。
熵收穫器12從隨機源組20直接接收隨機訊號,並透過採樣控制器18從環境感測組30接收環境訊號。熵收穫器12用隨機訊號及環境訊號產生隨機數。
後處理器14從熵收穫器12接收隨機數,並把它們轉換成系統所需的格式。另外,後處理器14反饋採樣控制器18,且這反饋被用於產生不可預期的控制訊號給隨機源組20。
使用者介面16把以系統所需格式的隨機數給系統使用。使用者介面16接收系統訊號並反饋採樣控制器18,這反饋被用於產生不可預期的控制訊號給隨機源組20。
如上述,環境感測組30提供環境訊號,增加隨機數的不可預期性。後處理器14的反饋進一步提升隨機數的不可預期性。使用者介面16的反饋更提升隨機數的不可預期性。
參考第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)區間而得到不可預期之隨機源。
參考第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組成。
參考第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)時間後的穩態結果,而造成採樣暫存器採樣的數值不可預期。如此,產生隨機數。
參考第7圖,反向器46及47、延遲串列電路52及54都可包括若干可組態訊號產生器48。每個可組態訊號產生器48可依模式輸出同向或反向訊號,並包括相連的可組態控制器58、可組態多工器59及可組態靜態隨機存取記憶體陣列60。可組態控制器58、可組態多工器59及可組態靜態隨機存取憶體陣列60不限於特定數量及形式。可組態控制器58動態選擇可組態多工器59的輸出路徑,達成不同延遲效果,確保不可預期性。
參考第8圖,溫度計32包括一溫度感測器66並透過現場可編程閘陣列的一類比數位轉換器(analog-to-digital converter:ADC)62連接採樣控制器18。電壓計34包括一電壓感測器68並透過現場可編程閘陣列的另一類比數位轉換器64連接採樣控制器18。類比數位轉換器62及64實質相同。如此,類比數位轉換器62及64分別把從溫度感測器66及電壓感測器68而來的訊號從類比轉換成數位,以利採樣控制器18使用。
以上僅為描述本發明的較佳實施方式,非用以限
定本發明的範圍。本技術領域內的一般技術人員根據上述實施例所作的均等變化,以及本領域內技術人員熟知的改變,仍在本發明的範圍內。
10‧‧‧真實隨機數生成器
12‧‧‧熵收穫器
14‧‧‧後處理器
16‧‧‧使用者介面
18‧‧‧採樣控制器
20‧‧‧隨機源組
22、24、26‧‧‧隨機源
30‧‧‧環境感測組
32‧‧‧溫度計
34‧‧‧電壓計
Claims (12)
- 一種現場可編程閘陣列的隨機數生成器包括:一隨機源組(20)被用於提供隨機訊號;一環境感測組(30)被用於提供環境訊號;一採樣控制器(18)連接該隨機源組(20)及該環境感測組(30);及一熵收穫器(12)連接該隨機源組(20)及該採樣控制器(18),以致該熵收穫器(12)用隨機訊號及環境訊號產生隨機數;一後處理器(14)連接該熵收穫器(12),從該熵收穫器(12)接收該隨機數,並把它們轉成所需的格式;一使用者介面(16)連接該後處理器(14),以所需格式提供隨機數,依接收外部訊號並連接採樣控制器(18)以致該使用者介面(16)反饋該採樣控制器(18)被用於產生不可預期的控制訊號給隨機源組(20)。
- 如申請專利範圍第1項所述之現場可編程閘陣列的隨機數生成器,其中該隨機源組(20)包括第一隨機源(22)、第二隨機源(24)及第三隨機源(26)。
- 如申請專利範圍第2項所述之現場可編程閘陣列的隨機數生成器,其中該第一隨機源(22)包括:二環形振盪器(40,42),每個環形振盪器(40,42)包括若干串聯的反向器(46),每個反向器(46)包括若干可組態訊號產生器(48);及 一採樣器(44)連接該二環形振盪器(40,42)。
- 如申請專利範圍第3項所述之現場可編程閘陣列的隨機數生成器,其中每個可組態訊號產生器(48)依模式輸出正向或反向之訊號,並包括相連的可組態控制器(58)、可組態多工器(59)及可組態靜態隨機存取記憶體陣列(60),其中該可組態控制器(58)動態調整可組態多工器(59)輸出路徑,因此確保不可預期性。
- 如申請專利範圍第2項所述之現場可編程閘陣列的隨機數生成器,其中該第二隨機源(24)包括:一鎖相迴路(50)包括二時鐘訊號源(C0,C1);二延遲串列電路(52,54)分別連接該二時鐘訊號源(C0,C1),每個延遲串列電路(52,54)包括若干可組態訊號產生器(48);及一採樣器(56)連接該二延遲串列電路(52,54)。
- 如申請專利範圍第5項所述之現場可編程閘陣列的隨機數生成器,其中每個可組態訊號產生器(48)依模式輸出正向或反向之訊號,並包括相連的可組態控制器(58)、可組態多工器(59)及可組態靜態隨機存取記憶體陣列(60),其中該可組態控制器(58)動態調整可組態多工器(59)輸出路徑,因此確保不可預期性。
- 如申請專利範圍第2項所述之現場可編程閘陣列的隨機數生成器,其中該第三隨機源(26)包括:若干延遲串列電路(52,54),每個延遲串列電路(52,54)包括若干可組態訊號產生器(48);若干多工器(36,38);及 若干反向器(46,47),連接該延遲串列電路(52,54)及該多工器(36,38),可決定該第三隨機源(26)的工作模式,每個反向器包括若干可組態訊號產生器(48)。
- 如申請專利範圍第7項所述之現場可編程閘陣列的隨機數生成器,其中每個可組態訊號產生器(48)依模式輸出正向或反向之訊號,並包括相連的可組態控制器(58)、可組態多工器(59)及可組態靜態隨機存取記憶體陣列(60),其中該可組態控制器(58)動態調整可組態多工器(59)的輸出路徑,因此確保不可預期性。
- 如申請專利範圍第1項所述之現場可編程閘陣列的隨機數生成器,其中該環境感測組(30)包括一溫度計(32)及一電壓計(34)。
- 如申請專利範圍第9項所述之現場可編程閘陣列的隨機數生成器,其中該溫度計(32)包括一溫度感測器(66)與一類比數位轉換器(62)。
- 如申請專利範圍第9項所述之現場可編程閘陣列的隨機數生成器,其中該電壓計(34)包括一電壓感測器(68)與一類比數位轉換器(64)。
- 如申請專利範圍第1項所述之現場可編程閘陣列的隨機數生成器,其中該後處理器(14)連接該採樣控制器(18)以致該後處理器(14)反饋採樣控制器(18)且這反饋被用於產生不可預期的控制訊號給隨機源組(20)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW108103294A TWI706320B (zh) | 2019-01-29 | 2019-01-29 | 現場可編程閘陣列的真實隨機數產生裝置及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW108103294A TWI706320B (zh) | 2019-01-29 | 2019-01-29 | 現場可編程閘陣列的真實隨機數產生裝置及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202028962A TW202028962A (zh) | 2020-08-01 |
TWI706320B true TWI706320B (zh) | 2020-10-01 |
Family
ID=73002699
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW108103294A TWI706320B (zh) | 2019-01-29 | 2019-01-29 | 現場可編程閘陣列的真實隨機數產生裝置及方法 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI706320B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI778557B (zh) | 2021-03-26 | 2022-09-21 | 新唐科技股份有限公司 | 真實亂數產生器及真實亂數產生方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101957741A (zh) * | 2010-10-18 | 2011-01-26 | 东南大学 | 一种基于亚阈值特性的真随机数发生器 |
CN103927147A (zh) * | 2013-01-16 | 2014-07-16 | 擎泰科技股份有限公司 | 用于随机数产生器的延迟装置及方法及其随机数产生器 |
CN104317551A (zh) * | 2014-10-17 | 2015-01-28 | 北京德加才科技有限公司 | 一种超高安全的真随机数生成方法及真随机数生成系统 |
CN105867877A (zh) * | 2016-03-25 | 2016-08-17 | 中国科学技术大学 | 一种基于fpga的真随机数发生器 |
CN107038015A (zh) * | 2016-11-18 | 2017-08-11 | 杭州电子科技大学 | 一种高速真随机数发生器 |
-
2019
- 2019-01-29 TW TW108103294A patent/TWI706320B/zh active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101957741A (zh) * | 2010-10-18 | 2011-01-26 | 东南大学 | 一种基于亚阈值特性的真随机数发生器 |
CN103927147A (zh) * | 2013-01-16 | 2014-07-16 | 擎泰科技股份有限公司 | 用于随机数产生器的延迟装置及方法及其随机数产生器 |
CN104317551A (zh) * | 2014-10-17 | 2015-01-28 | 北京德加才科技有限公司 | 一种超高安全的真随机数生成方法及真随机数生成系统 |
CN105867877A (zh) * | 2016-03-25 | 2016-08-17 | 中国科学技术大学 | 一种基于fpga的真随机数发生器 |
CN107038015A (zh) * | 2016-11-18 | 2017-08-11 | 杭州电子科技大学 | 一种高速真随机数发生器 |
Also Published As
Publication number | Publication date |
---|---|
TW202028962A (zh) | 2020-08-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2525489B1 (en) | Bit sequence generation device and bit sequence generation method | |
US8203368B2 (en) | DLL for period jitter measurement | |
TWI470196B (zh) | 溫度感測裝置及其方法 | |
US20130346459A1 (en) | Method for generating random numbers | |
KR20150056458A (ko) | 회로 지연 감시장치 및 방법 | |
US9465585B2 (en) | Method for detecting a correlation | |
Hussain et al. | BIST-PUF: Online, hardware-based evaluation of physically unclonable circuit identifiers | |
CN111124363B (zh) | 一种真随机数生成方法及真随机数发生器 | |
US20200278839A1 (en) | True Random Number Generator of a Field Programmable Gate Array | |
Amaki et al. | A process and temperature tolerant oscillator-based true random number generator with dynamic 0/1 bias correction | |
TWI706320B (zh) | 現場可編程閘陣列的真實隨機數產生裝置及方法 | |
Jin et al. | A dynamically reconfigurable entropy source circuit for high-throughput true random number generator | |
US20230179411A1 (en) | Entropy generation for use in cryptographic random number generation | |
Charlot et al. | High-resolution waveform capture device on a cyclone-v fpga | |
US9582249B2 (en) | Method for monitoring the output of a random generator | |
JP2010096625A (ja) | 半導体集積回路及び半導体集積回路の試験方法 | |
CN118605838A (zh) | 一种可综合真随机数发生器及可综合真随机数发生方法 | |
WO2021142830A1 (zh) | 随机数生成电路、随机数生成方法和电子设备 | |
CN111522529B (zh) | 现场可编程门阵列的随机数生成器 | |
Simka et al. | Model of a true random number generator aimed at cryptographic applications | |
Tebelmann et al. | On-chip side-channel analysis of the loop PUF | |
TW201421356A (zh) | 具有亂數產生模式的儲存電路 | |
Amaki et al. | A process and temperature tolerant oscillator-based true random number generator | |
Xu et al. | An all-digital and jitter-quantizing true random number generator in SRAM-based FPGAs | |
Amaki et al. | An oscillator-based true random number generator with process and temperature tolerance |