真隨機數檢測裝置及方法
2023-04-28 11:55:26 1
真隨機數檢測裝置及方法
【專利摘要】本真隨機數檢測裝置,包括控制器、隨機數源和隨機數檢測裝置,隨機數源用於產生隨機數;控制器採集隨機數並將隨機數送到隨機數檢測裝置;隨機數檢測裝置使用固化的隨機數檢測算法檢測隨機數的真偽並將隨機數檢測結果通過接口上報控制器;本真隨機數檢測方法包括:通過隨機數模塊生成隨機數;控制器採集隨機數;控制器將隨機數送到隨機數檢測裝置;隨機數檢測裝置使用固化的隨機數檢測算法檢測隨機數的真偽;隨機數檢測裝置將隨機數檢測結果上報給控制器;控制器根據隨機數檢測裝置反饋的結果,選擇是否使用該組隨機數。本發明通過硬體裝置來驗證隨機數是否真的隨機,通過使用隨機數檢測裝置可以簡化隨機數檢測過程,提高檢測效率。
【專利說明】真隨機數檢測裝置及方法
【技術領域】
[0001 ] 本發明涉及一種用於檢驗隨機數真偽的裝置及方法,尤其涉及一種真隨機數檢測裝置及方法。
【背景技術】
[0002]在一些電子系統中,需要用到隨機數作為數據源,如密碼,搖號種子等。但是隨機數是不是真的隨機呢?這個需要科學的檢測。目前市場的此類產品或者方法要麼使用複雜,要麼檢測效率低、準確率低。上尚未有此類產品。
【發明內容】
[0003]本發明所解決的技術問題是針對上述現有技術的不足,提供一種隨機數檢測裝置及方法。本隨機數檢測裝置結構簡單、成本低、檢測效率高。本隨機數檢測方法操作簡單、檢測效率高。
[0004]為實現上述技術目的,本發明採取的技術方案為:一種真隨機數檢測裝置,包括控制器、隨機數源和隨機數檢測裝置,其特徵在於:所述隨機數源用於產生隨機數;所述控制器從隨機數源中採集產生的隨機數並通過隨機數檢測裝置接口將隨機數送到隨機數檢測裝置;所述隨機數檢測裝置使用固化的隨機數檢測算法檢測隨機數的真偽並將隨機數檢測結果通過接口上報控制器;所述控制器根據隨機數檢測裝置反饋的結果,選擇是否使用該組隨機數;如果隨機數檢測結果通過,則可以使用,如果檢測不通過,丟棄該組隨機數,報告錯誤。
[0005]作為本發明進一步改進的技術方案,所述控制器為PC電腦、嵌入式作業系統或者單片機等控制處理單元。
[0006]作為本發明進一步改進的技術方案,所述隨機數源是隨機數晶片、隨機數發生器或者隨機數軟體算法生成模塊。
[0007]作為本發明進一步改進的技術方案,所述隨機數檢測裝置為固化了隨機數檢測算法的DSP、FPGA或者MCU。
[0008]作為本發明進一步改進的技術方案,所述隨機數檢測裝置接口為USB、PC1、PCE_E、RS232、SPI 或者 I2C。
[0009]為實現上述技術目的,本發明採取的另一種技術方案為:一種真隨機數檢測方法,其特徵在於包括以下步驟:
步驟1:通過隨機數模塊生成隨機數;
步驟2、通過控制器採集步驟I中產生的隨機數;
步驟3、控制器將通過隨機數檢測裝置接口將採集到的隨機數送到隨機數檢測裝置; 步驟4、隨機數檢測裝置使用固化的隨機數檢測算法檢測隨機數的真偽;
步驟5、隨機數檢測裝置將隨機數檢測結果通過隨機數檢測裝置接口上報給控制器; 步驟6、控制器根據隨機數檢測裝置反饋的結果,選擇是否使用該組隨機數;如果隨機數檢測結果通過,則可以使用,如果檢測不通過,丟棄該組隨機數,報告錯誤。
[0010]作為本發明進一步改進的技術方案,所述控制器為PC電腦、嵌入式作業系統或者單片機等控制處理單元。
[0011]作為本發明進一步改進的技術方案,所述隨機數源是隨機數晶片、隨機數發生器或者隨機數軟體算法生成模塊。
[0012]作為本發明進一步改進的技術方案,所述隨機數檢測裝置為固化了隨機數檢測算法的DSP、FPGA或者MCU。
[0013]作為本發明進一步改進的技術方案,所述隨機數檢測裝置接口為USB、PC1、PCE_E、RS232、SPI 或者 I2C。
[0014]本隨機數檢測裝置結構簡單、成本低、檢測效率高。本隨機數檢測方法操作簡單、檢測效率高。總之本發明是通過硬體裝置來驗證隨機數是否真的隨機,是否可以應用到需要的場合,通過使用隨機數檢測裝置可以簡化隨機數檢測過程,提高檢測效率。
【專利附圖】
【附圖說明】
[0015]圖1為本發明的結構示意圖。
[0016]圖2為本發明流程示意圖。
【具體實施方式】
[0017]實施例1
參見圖1,本一種真隨機數檢測裝置,包括控制器、隨機數源和隨機數檢測裝置,其特徵在於:所述隨機數源用於產生隨機數;所述控制器從隨機數源中採集產生的隨機數並通過隨機數檢測裝置接口將隨機數送到隨機數檢測裝置;所述隨機數檢測裝置使用固化的隨機數檢測算法檢測隨機數的真偽並將隨機數檢測結果通過接口上報控制器;所述控制器根據隨機數檢測裝置反饋的結果,選擇是否使用該組隨機數;如果隨機數檢測結果通過,則可以使用,如果檢測不通過,丟棄該組隨機數,報告錯誤。
[0018]作為優選方案,所述控制器為PC電腦、嵌入式作業系統或者單片機等控制處理單元。所述隨機數源是隨機數晶片、隨機數發生器或者隨機數軟體算法生成模塊。所述隨機數檢測裝置為固化了隨機數檢測算法的DSP、FPGA或者MCU等硬體集成電路模塊。所述隨機數檢測裝置接口為USB、PC1、PCE-E、RS232、SPI或者I2C。本實施例中,控制器可以是PC電腦、嵌入式作業系統、單片機等控制處理單元;隨機數源用於產生隨機數的模塊,可以是隨機數晶片,隨機數發生器,軟體模塊等可以產生隨機數的單元;隨機數檢測裝置可以是固化了隨機數檢測算法的DSP,FPGA,MCU等硬體集成電路模塊。隨機數檢測裝置接口形式可以是USB,PCI,PCE-E, RS232,SPI,I2C等,但不限於這些接口,凡是可以實現數據輸入輸出的任何接口。還可以在隨機數檢測裝置中指定要檢測的隨機數源的長度。固化於真隨機數檢測裝置中算法包括如下算法:1.頻率檢驗,2.塊內頻數檢驗,3.遊程檢驗,4.塊內最長遊程檢驗,5.二元矩陣秩檢驗,6.離散傅立葉變換檢驗,7.非重疊模塊匹配檢驗,8.重疊模塊匹配檢驗,9.Maurer的通用統計檢驗,10.Lempel-Ziv壓縮檢驗,11線性複雜度檢驗,12.序列檢驗,13.近似熵檢驗,14.累加和檢驗,15.隨機遊動檢驗,16.隨機遊動狀態頻數檢驗。[0019]實施例2
參見圖2,本真隨機數檢測方法包括以下步驟:
步驟1:通過隨機數模塊生成隨機數;
步驟2、通過控制器採集步驟I中產生的隨機數;
步驟3、控制器將通過隨機數檢測裝置接口將採集到的隨機數送到隨機數檢測裝置; 步驟4、隨機數檢測裝置使用固化的隨機數檢測算法檢測隨機數的真偽;
步驟5、隨機數檢測裝置將隨機數檢測結果通過隨機數檢測裝置接口上報給控制器;步驟6、控制器根據隨機數檢測裝置反饋的結果,選擇是否使用該組隨機數;如果隨機數檢測結果通過,則可以使用,如果檢測不通過,丟棄該組隨機數,報告錯誤。
[0020]作為優選方案,所述控制器為PC電腦、嵌入式作業系統或者單片機等控制處理單元。所述隨機數源是隨機數晶片、隨機數發生器或者隨機數檢測軟體模塊。所述隨機數檢測裝置為固化了隨機數檢測算法的DSP、FPGA或者MCU等硬體集成電路模塊。所述隨機數檢測裝置接口為USB、PC1、PCE-E, RS232、SPI或者I2C。本實施例中,控制器可以是PC電腦、嵌入式作業系統、單片機等控制處理單元;隨機數源用於產生隨機數的模塊,可以是隨機數晶片,隨機數發生器,軟體模塊等可以產生隨機數的單元;隨機數檢測裝置可以是固化了隨機數檢測算法的DSP,FPGA,MCU等硬體集成電路模塊。隨機數檢測裝置接口形式可以是USB,PCI,PCE-E, RS232,SPI,I2C等,但不限於這些接口,凡是可以實現數據輸入輸出的任何接口。還可以在隨機數檢測裝置中指定要檢測的隨機數源的長度。固化於真隨機數檢測裝置中算法包括如下算法:1.頻率檢驗,2.塊內頻數檢驗,3.遊程檢驗,4.塊內最長遊程檢驗,5.二元矩陣秩檢驗,6.離散傅立葉變換檢驗,7.非重疊模塊匹配檢驗,8.重疊模塊匹配檢驗,9.Maurer的通用統計檢驗,10.Lempel-Ziv壓縮檢驗,11.線性複雜度檢驗,12.序列檢驗,13.近似熵檢驗,14.累加和檢驗,15.隨機遊動檢驗,16.隨機遊動狀態頻數檢驗。
【權利要求】
1.一種真隨機數檢測裝置,包括控制器、隨機數源和隨機數檢測裝置,其特徵在於:所述隨機數源用於產生隨機數;所述控制器從隨機數源中採集產生的隨機數並通過隨機數檢測裝置接口將隨機數送到隨機數檢測裝置;所述隨機數檢測裝置使用固化的隨機數檢測算法檢測隨機數的真偽並將隨機數檢測結果通過接口上報控制器;所述控制器根據隨機數檢測裝置反饋的結果,選擇是否使用該組隨機數;如果隨機數檢測結果通過,則可以使用,如果檢測不通過,丟棄該組隨機數,報告錯誤。
2.根據權利要求1所述的真隨機數檢測裝置,其特徵在於:所述控制器為PC電腦、嵌入式作業系統或者單片機等控制處理單元。
3.根據權利要求2所述的真隨機數檢測裝置,其特徵在於:所述隨機數源是隨機數晶片、隨機數發生器或者隨機數軟體算法生成模塊。
4.根據權利要求3所述的真隨機數檢測裝置,其特徵在於:所述隨機數檢測裝置為固化了隨機數檢測算法的DSP、FPGA或者MCU。
5.根據權利要求3所述的真隨機數檢測裝置,其特徵在於:所述隨機數檢測裝置接口為 USB、PC1、PCE-E、RS232、SPI 或者 I2C。
6.一種真隨機數檢測方法,其特徵在於包括以下步驟: 步驟1:通過隨機數模塊生成隨機數; 步驟2、通過控制器採集步驟I中產生的隨機數; 步驟3、控制器將通過隨機數檢測裝置接口將採集到的隨機數送到隨機數檢測裝置; 步驟4、隨機數檢測裝置使用固化的隨機數檢測算法檢測隨機數的真偽; 步驟5、隨機數檢測裝置將隨機數檢測結果通過隨機數檢測裝置接口上報給控制器; 步驟6、控制器根據隨機數檢測裝置反饋的結果,選擇是否使用該組隨機數;如果隨機數檢測結果通過,則可以使用,如果檢測不通過,丟棄該組隨機數,報告錯誤。
7.根據權利要求6所述的真隨機數檢測方法,其特徵在於:所述控制器為PC電腦、嵌入式作業系統或者單片機等控制處理單元。
8.根據權利要求7所述的真隨機數檢測方法,其特徵在於:所述隨機數源是隨機數晶片、隨機數發生器或者隨機數軟體算法生成模塊。
9.根據權利要求8所述的真隨機數檢測方法,其特徵在於:所述隨機數檢測裝置為固化了隨機數檢測算法的DSP、FPGA或者MCU。
10.根據權利要求9所述的真隨機數檢測方法,其特徵在於:所述隨機數檢測裝置接口為 USB、PC1、PCE-E、RS232、SPI 或者 I2C。
【文檔編號】G06F7/58GK103823656SQ201410056496
【公開日】2014年5月28日 申請日期:2014年2月19日 優先權日:2014年2月19日
【發明者】苗春華, 李大偉, 佘祥勝, 韓正甫, 趙義博 申請人:安徽問天量子科技股份有限公司