專利名稱:隨機(jī)數(shù)產(chǎn)生器的檢測方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及檢測技術(shù)領(lǐng)域,尤其涉及一種隨機(jī)數(shù)產(chǎn)生器的檢測方法及裝置。
技術(shù)背景
隨機(jī)數(shù)應(yīng)用范圍非常廣泛,在安全領(lǐng)域、通訊領(lǐng)域、甚至商業(yè)領(lǐng)域都有著非常廣泛的應(yīng)用。目前大量應(yīng)用的全球用戶識別模塊(USIM)卡、用戶識別模塊(SIM)卡、非接卡、金融卡等均有產(chǎn)生隨機(jī)數(shù)的功能,而產(chǎn)生的隨機(jī)數(shù)隨機(jī)性的好壞直接決定著該卡的性能的好壞。
隨著科技的發(fā)展,社會對隨機(jī)數(shù)隨機(jī)性的要求越來越高,這就需要做出高質(zhì)量的隨機(jī)數(shù)產(chǎn)生器以應(yīng)對各領(lǐng)域的需求。目前國際通用的檢測設(shè)備對隨機(jī)數(shù)產(chǎn)生器產(chǎn)生的隨機(jī)數(shù)通過15種檢測項目進(jìn)行檢測,分別是單比特頻數(shù)檢測、塊內(nèi)頻數(shù)檢測、疊子序列檢測、 游程總數(shù)檢測、塊內(nèi)最大“1”檢測、矩陣秩檢測、累加和檢測、近似熵檢測、線形復(fù)雜度檢測、 通用統(tǒng)計檢測、離散傅里葉檢測、非重疊模式匹配檢測、可重疊模式匹配檢測、隨機(jī)偏移檢測、隨機(jī)偏移變化檢測。
由于國際通用的檢測設(shè)備只對15種檢測項目進(jìn)行檢測,檢測項較少,對隨機(jī)數(shù)產(chǎn)生器產(chǎn)生的隨機(jī)數(shù)質(zhì)量未能很好地進(jìn)行判別,進(jìn)而也就無法很好地判別隨機(jī)數(shù)產(chǎn)生器的好壞。另外,由于現(xiàn)有的檢測設(shè)備對隨機(jī)數(shù)檢測時間較長,致使很多性能非常差的隨機(jī)數(shù)產(chǎn)生器產(chǎn)生的隨機(jī)數(shù)也需要經(jīng)過很長時間才能檢測出來。
總之,現(xiàn)在很多通過現(xiàn)有檢測設(shè)備檢測的隨機(jī)數(shù)產(chǎn)生器,卻不能很好地滿足實用的要求,這就需要制定更加嚴(yán)格的檢測方法。發(fā)明內(nèi)容
本發(fā)明實施例提供了一種隨機(jī)數(shù)產(chǎn)生器的檢測方法及裝置,以解決現(xiàn)有的檢測方法不能好地判別隨機(jī)數(shù)產(chǎn)生器的好壞的問題。
本發(fā)明實施例提供了一種隨機(jī)數(shù)產(chǎn)生器的檢測方法,該方法包括
使用多種檢測項目對隨機(jī)數(shù)產(chǎn)生器產(chǎn)生的隨機(jī)數(shù)進(jìn)行檢測,所述多種檢測項目包括相似分形(LPZ)檢測項目;
若該隨機(jī)數(shù)產(chǎn)生器未通過任意一種檢測項目的檢測,則確定該隨機(jī)數(shù)產(chǎn)生器未通過檢測,若該隨機(jī)數(shù)產(chǎn)生器通過所有檢測項目的檢測,則確定該隨機(jī)數(shù)產(chǎn)生器通過檢測。
優(yōu)選地,所述使用多種檢測項目對隨機(jī)數(shù)產(chǎn)生器產(chǎn)生的隨機(jī)數(shù)進(jìn)行檢測包括
將隨機(jī)數(shù)產(chǎn)生器產(chǎn)生的隨機(jī)數(shù)分成N段,對N段數(shù)據(jù)使用多種檢測項目中的任意一種進(jìn)行檢測,獲得多個函數(shù)值;其中,N為正整數(shù);
檢測所述多個函數(shù)值中滿足預(yù)設(shè)標(biāo)準(zhǔn)的函數(shù)值的個數(shù),若該個數(shù)小于等于第一預(yù)設(shè)閾值,則該隨機(jī)數(shù)產(chǎn)生器未通過當(dāng)前檢測項目的檢測;若該個數(shù)大于第一預(yù)設(shè)閾值,則該隨機(jī)數(shù)產(chǎn)生器通過當(dāng)前檢測項目的檢測,重復(fù)上述過程,直至該隨機(jī)數(shù)產(chǎn)生器通過所有檢測項目的檢測。
優(yōu)選地,所述方法還包括
使用所述多種檢測項目對所述隨機(jī)數(shù)產(chǎn)生器產(chǎn)生的數(shù)據(jù)進(jìn)行快速檢測,若該隨機(jī)數(shù)產(chǎn)生器未通過任意一種檢測項目的快速檢測,則確定該隨機(jī)數(shù)產(chǎn)生器未通過檢測;若該隨機(jī)數(shù)產(chǎn)生器通過所有檢測項目的快速檢測,則轉(zhuǎn)向執(zhí)行所述使用多種檢測項目對隨機(jī)數(shù)產(chǎn)生器產(chǎn)生的隨機(jī)數(shù)進(jìn)行檢測。
優(yōu)選地,所述使用所述多種檢測項目對所述隨機(jī)數(shù)產(chǎn)生器產(chǎn)生的數(shù)據(jù)進(jìn)行快速檢測包括
將所述隨機(jī)數(shù)產(chǎn)生器產(chǎn)生的隨機(jī)數(shù)分成M段,對M段數(shù)據(jù)使用多種檢測項目中的任意一種進(jìn)行檢測,獲得多個函數(shù)值;其中,M為小于N的正整數(shù);
檢測所述多個函數(shù)值中滿足預(yù)設(shè)標(biāo)準(zhǔn)的函數(shù)值的個數(shù),若該個數(shù)小于等于第二預(yù)設(shè)閾值,則該隨機(jī)數(shù)產(chǎn)生器未通過當(dāng)前檢測項目的快速檢測;若該個數(shù)大于第二預(yù)設(shè)閾值, 則該隨機(jī)數(shù)產(chǎn)生器通過當(dāng)前檢測項目的快速檢測,重復(fù)上述過程,直至該隨機(jī)數(shù)產(chǎn)生器通過所有檢測項目的快速檢測;其中,所述第二預(yù)設(shè)閾值小于所述第一預(yù)設(shè)閾值。
優(yōu)選地,所述對M段數(shù)據(jù)或N段數(shù)據(jù)使用多種檢測項目中的任意一種進(jìn)行檢測,獲得多個函數(shù)值包括
對所述M段數(shù)據(jù)或N段數(shù)據(jù)中的每段數(shù)據(jù)使用LPZ檢測項目進(jìn)行檢測,獲得多個函數(shù)值。
優(yōu)選地,所述對所述M段數(shù)據(jù)或N段數(shù)據(jù)中的每段數(shù)據(jù)使用LPZ檢測項目進(jìn)行檢測,獲得多個函數(shù)值,包括
使用函數(shù)計算公式獲得每段數(shù)據(jù)的函數(shù)值,該函數(shù)計算公式為
p-value = 0. 5 X erfc (( μ -ff) / σ )
其中,p-value為函數(shù)值,W為該段數(shù)據(jù)中不相交且不同的數(shù)據(jù)串的個數(shù),μ、σ為常數(shù),erfc為標(biāo)準(zhǔn)正態(tài)分布誤差函數(shù)。
本發(fā)明實施例還提供了一種隨機(jī)數(shù)產(chǎn)生器的檢測裝置,該裝置包括
檢測模塊,用于使用多種檢測項目對隨機(jī)數(shù)產(chǎn)生器產(chǎn)生的隨機(jī)數(shù)進(jìn)行檢測,所述多種檢測項目包括LPZ檢測項目;
確定模塊,用于若該隨機(jī)數(shù)產(chǎn)生器未通過任意一種檢測項目的檢測,則確定該隨機(jī)數(shù)產(chǎn)生器未通過檢測,若該隨機(jī)數(shù)產(chǎn)生器通過所有檢測項目的檢測,則確定該隨機(jī)數(shù)產(chǎn)生器通過檢測。
優(yōu)選地,所述檢測模塊使用多種檢測項目對隨機(jī)數(shù)產(chǎn)生器產(chǎn)生的隨機(jī)數(shù)進(jìn)行檢測,是用于
將隨機(jī)數(shù)產(chǎn)生器產(chǎn)生的隨機(jī)數(shù)分成N段,對N段數(shù)據(jù)使用多種檢測項目中的任意一種進(jìn)行檢測,獲得多個函數(shù)值;其中,N為正整數(shù);
檢測所述多個函數(shù)值中滿足預(yù)設(shè)標(biāo)準(zhǔn)的函數(shù)值的個數(shù),若該個數(shù)小于等于第一預(yù)設(shè)閾值,則該隨機(jī)數(shù)產(chǎn)生器未通過當(dāng)前檢測項目的檢測;若該個數(shù)大于第一預(yù)設(shè)閾值,則該隨機(jī)數(shù)產(chǎn)生器通過當(dāng)前檢測項目的檢測,重復(fù)上述過程,直至該隨機(jī)數(shù)產(chǎn)生器通過所有檢測項目的檢測。
優(yōu)選地,所述裝置還包括
快速檢測模塊,用于使用所述多種檢測項目對所述隨機(jī)數(shù)產(chǎn)生器產(chǎn)生的數(shù)據(jù)進(jìn)行快速檢測;
快速確定模塊,用于若該隨機(jī)數(shù)產(chǎn)生器未通過任意一種檢測項目的快速檢測,則確定該隨機(jī)數(shù)產(chǎn)生器未通過檢測;若該隨機(jī)數(shù)產(chǎn)生器通過所有檢測項目的快速檢測,則調(diào)用所述檢測模塊進(jìn)行檢測。
優(yōu)選地,所述快速檢測模塊使用所述多種檢測項目對所述隨機(jī)數(shù)產(chǎn)生器產(chǎn)生的數(shù)據(jù)進(jìn)行快速檢測,是用于
將所述隨機(jī)數(shù)產(chǎn)生器產(chǎn)生的隨機(jī)數(shù)分成M段,對M段數(shù)據(jù)使用多種檢測項目中的任意一種進(jìn)行檢測,獲得多個函數(shù)值;其中,M為小于N的正整數(shù);
檢測所述多個函數(shù)值中滿足預(yù)設(shè)標(biāo)準(zhǔn)的函數(shù)值的個數(shù),若該個數(shù)小于等于第二預(yù)設(shè)閾值,則該隨機(jī)數(shù)產(chǎn)生器未通過當(dāng)前檢測項目的快速檢測;若該個數(shù)大于第二預(yù)設(shè)閾值, 則該隨機(jī)數(shù)產(chǎn)生器通過當(dāng)前檢測項目的快速檢測,重復(fù)上述過程,直至該隨機(jī)數(shù)產(chǎn)生器通過所有檢測項目的快速檢測;其中,所述第二預(yù)設(shè)閾值小于所述第一預(yù)設(shè)閾值。
上述檢測方法及裝置,對隨機(jī)數(shù)產(chǎn)生器產(chǎn)生的數(shù)據(jù)進(jìn)行嚴(yán)格檢測,極大地提高了隨機(jī)數(shù)產(chǎn)生器隨機(jī)性的檢測效果。
圖1為本發(fā)明隨機(jī)數(shù)產(chǎn)生器的檢測方法實施例的流程圖2為本發(fā)明隨機(jī)數(shù)產(chǎn)生器的快速檢測過程的流程圖3為本發(fā)明隨機(jī)數(shù)產(chǎn)生器的正常檢測過程的流程圖4為本發(fā)明隨機(jī)數(shù)產(chǎn)生器的檢測裝置實施例的結(jié)構(gòu)示意圖。
具體實施方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚明白,下文中將結(jié)合附圖對本發(fā)明的實施例進(jìn)行詳細(xì)說明。需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互任意組合。
如圖1所示,為本發(fā)明隨機(jī)數(shù)產(chǎn)生器的檢測方法實施例的流程圖,該方法包括
步驟101、使用所述多種檢測項目對所述隨機(jī)數(shù)產(chǎn)生器產(chǎn)生的數(shù)據(jù)進(jìn)行快速檢測;
步驟102、判斷該隨機(jī)數(shù)產(chǎn)生器是否通過所有檢測項目的快速檢測,若不是,轉(zhuǎn)向步驟103,否則,轉(zhuǎn)向步驟104;
為了更好地保證該檢測方法檢測出的隨機(jī)數(shù)產(chǎn)生器的質(zhì)量,本實施例中使用 20種檢測項目對隨機(jī)數(shù)產(chǎn)生器進(jìn)行檢測,這20種檢測項目包括創(chuàng)新設(shè)計的相似分形 (Lempel-Ziv,LPZ)檢測、撲克檢測、游程分布檢測、二元推導(dǎo)檢測、自相關(guān)檢測、單比特頻數(shù)檢測、塊內(nèi)頻數(shù)檢測、疊子序列檢測、游程總數(shù)檢測、塊內(nèi)最大“1”檢測、矩陣秩檢測、累加和檢測、近似熵檢測、線形復(fù)雜度檢測、通用統(tǒng)計檢測、離散傅里葉檢測、非重疊模式匹配檢測、可重疊模式匹配檢測、隨機(jī)偏移檢測、隨機(jī)偏移變化檢測等檢測項目;
上述步驟101-102是對隨機(jī)數(shù)產(chǎn)生器的一個快速檢測方法,該快速檢測方法可以在非常短的時間內(nèi)確定出性能非常差的隨機(jī)數(shù)產(chǎn)生器,從而有效地提高了檢測效率;
步驟103、確定該隨機(jī)數(shù)產(chǎn)生器未通過檢測;
步驟104、使用多種檢測項目對隨機(jī)數(shù)產(chǎn)生器產(chǎn)生的隨機(jī)數(shù)進(jìn)行檢測;
步驟105、判斷該隨機(jī)數(shù)產(chǎn)生器是否通過所有檢測項目的檢測,若不是,轉(zhuǎn)向步驟 103,否則,確定該隨機(jī)數(shù)產(chǎn)生器通過檢測。
若該隨機(jī)數(shù)產(chǎn)生器未通過任意一種檢測項目的檢測,則確定該隨機(jī)數(shù)產(chǎn)生器未通過檢測,若該隨機(jī)數(shù)產(chǎn)生器通過所有檢測項目的檢測,則確定該隨機(jī)數(shù)產(chǎn)生器通過檢測。
上述步驟102-105是對隨機(jī)數(shù)產(chǎn)生器的正常檢測過程,若沒有上述步驟101-102 也可以很好的判斷出隨機(jī)數(shù)產(chǎn)生器的質(zhì)量好壞,只是對于性能很差的隨機(jī)數(shù)產(chǎn)生器的檢測時間較長。
上述檢測方法能夠更加嚴(yán)格地檢測隨機(jī)數(shù)的隨機(jī)性,并判別出高質(zhì)量的隨機(jī)數(shù)產(chǎn)生器以符合實用的要求。
如圖2所示,為本發(fā)明隨機(jī)數(shù)產(chǎn)生器的快速檢測過程的流程圖,該過程包括
步驟201、將所述隨機(jī)數(shù)產(chǎn)生器產(chǎn)生的隨機(jī)數(shù)分成M段;
例如可以將隨機(jī)數(shù)產(chǎn)生器生成的2M隨機(jī)數(shù)分成10段,每段lOOOOOObits ;
步驟202、對M段數(shù)據(jù)使用多種檢測項目中的任意一種進(jìn)行檢測,獲得多個函數(shù)值;
每段數(shù)據(jù)經(jīng)檢測項目A的相關(guān)函數(shù)計算,得K種P-Value值(不同項目對應(yīng)K值不完全相同),總共可得到κ*10個P-Value值,每種10個數(shù)據(jù);
步驟203、檢測所述多個函數(shù)值中滿足預(yù)設(shè)標(biāo)準(zhǔn)的函數(shù)值的個數(shù),若該個數(shù)小于等于第二預(yù)設(shè)閾值,則該隨機(jī)數(shù)產(chǎn)生器未通過當(dāng)前檢測項目的快速檢測;若該個數(shù)大于第二預(yù)設(shè)閾值,則該隨機(jī)數(shù)產(chǎn)生器通過當(dāng)前檢測項目的快速檢測,重復(fù)上述過程,直至該隨機(jī)數(shù)產(chǎn)生器通過所有檢測項目的快速檢測。
對于每一種P-Value值可按如下標(biāo)準(zhǔn)判斷
設(shè)M為P-Value >= 0.01的總個數(shù),若M > = 8,則該種數(shù)據(jù)通過快速檢測;
若K種P-Value值均通過,則該隨機(jī)數(shù)發(fā)生器通過該檢測項目A的檢測。
優(yōu)選地,上述檢測項目A可以為LPZ檢測項目,LPZ檢測項目基于LPZ算法,由于相關(guān)數(shù)據(jù)成正態(tài)分布,因此可以通過0.01置信概率區(qū)間來判斷一段數(shù)據(jù)是否合格。具體算法如下
設(shè)m為當(dāng)前二進(jìn)制數(shù)據(jù)串,W為m中不相交且不同數(shù)據(jù)串的個數(shù)。例如m = 0100101,則其中不相交且不同數(shù)據(jù)串有0,1,00,10四個,故W = 4。
令?-財11^ = 0.5\6什(;((“-1)/0),其中11,0為與m長度相關(guān)的常數(shù),erfc為標(biāo)準(zhǔn)正態(tài)分布誤差函數(shù)。在本實施例中m長度為1000000,μ = 69586. 25,σ = 11. 870023, 若p-value <0.01,則該二進(jìn)制數(shù)據(jù)串不合格,否則合格。
該快速檢測方法,能夠判別出大部分不符合要求的隨機(jī)數(shù),進(jìn)而過濾掉大部分不合格的隨機(jī)數(shù)產(chǎn)生器,有效地節(jié)省了檢測時間。
如圖3所示,為本發(fā)明隨機(jī)數(shù)產(chǎn)生器的正常檢測過程的流程圖,該過程包括
步驟301、將隨機(jī)數(shù)產(chǎn)生器產(chǎn)生的隨機(jī)數(shù)分成N段;
例如可以將將隨機(jī)數(shù)產(chǎn)生器生成的128M隨機(jī)數(shù)分成1000段,每段lOOOOOObits ;
步驟302、對N段數(shù)據(jù)使用多種檢測項目中的任意一種進(jìn)行檢測,獲得多個函數(shù)值,N大于M ;
每段數(shù)據(jù)經(jīng)任一檢測項目A的相關(guān)函數(shù)計算,得K種P-Value值(不同項目對應(yīng) K值不完全相同),總共可得到K*1000個P-Value值,每種1000個數(shù)據(jù);
步驟303、檢測所述多個函數(shù)值中滿足預(yù)設(shè)標(biāo)準(zhǔn)的函數(shù)值的個數(shù),若該個數(shù)小于等于第一預(yù)設(shè)閾值,則該隨機(jī)數(shù)產(chǎn)生器未通過當(dāng)前檢測項目的檢測;若該個數(shù)大于第一預(yù)設(shè)閾值,則該隨機(jī)數(shù)產(chǎn)生器通過當(dāng)前檢測項目的檢測,重復(fù)上述過程,直至該隨機(jī)數(shù)產(chǎn)生器通過所有檢測項目的檢測;其中,第二預(yù)設(shè)閾值小于第一預(yù)設(shè)閾值。
對于每一種P-Value值按如下標(biāo)準(zhǔn)判斷
設(shè)M為P-Value >= 0.01的總個數(shù),若M > = 981,則該種數(shù)據(jù)通過檢測;
若K種P-Value值均通過,則該隨機(jī)數(shù)發(fā)生器通過檢測項目A的檢測。
上述檢測方法,對隨機(jī)數(shù)產(chǎn)生器產(chǎn)生的數(shù)據(jù)進(jìn)行嚴(yán)格檢測,最終可以判別出高性能隨機(jī)數(shù)產(chǎn)生器,極大地提高了隨機(jī)數(shù)產(chǎn)生器隨機(jī)性的檢測效果。
如圖4所示,為本發(fā)明隨機(jī)數(shù)產(chǎn)生器的檢測裝置實施例的結(jié)構(gòu)示意圖,該裝置包括檢測模塊41和確定模塊42,其中
檢測模塊,用于使用多種檢測項目對隨機(jī)數(shù)產(chǎn)生器產(chǎn)生的隨機(jī)數(shù)進(jìn)行檢測,所述多種檢測項目包括LPZ檢測項目;
確定模塊,用于若該隨機(jī)數(shù)產(chǎn)生器未通過任意一種檢測項目的檢測,則確定該隨機(jī)數(shù)產(chǎn)生器未通過檢測,若該隨機(jī)數(shù)產(chǎn)生器通過所有檢測項目的檢測,則確定該隨機(jī)數(shù)產(chǎn)生器通過檢測。
其中,所述檢測模塊使用多種檢測項目對隨機(jī)數(shù)產(chǎn)生器產(chǎn)生的隨機(jī)數(shù)進(jìn)行檢測, 是用于將隨機(jī)數(shù)產(chǎn)生器產(chǎn)生的隨機(jī)數(shù)分成N段,對N段數(shù)據(jù)使用多種檢測項目中的任意一種進(jìn)行檢測,獲得多個函數(shù)值;其中,N為正整數(shù);檢測所述多個函數(shù)值中滿足預(yù)設(shè)標(biāo)準(zhǔn)的函數(shù)值的個數(shù),若該個數(shù)小于等于第一預(yù)設(shè)閾值,則該隨機(jī)數(shù)產(chǎn)生器未通過當(dāng)前檢測項目的檢測;若該個數(shù)大于第一預(yù)設(shè)閾值,則該隨機(jī)數(shù)產(chǎn)生器通過當(dāng)前檢測項目的檢測,重復(fù)上述過程,直至該隨機(jī)數(shù)產(chǎn)生器通過所有檢測項目的檢測。具體實現(xiàn)過程可參見圖3。
另外,為了有效提高檢測效率,該裝置還可以包括快速檢測模塊43和快速確定模塊44,其中快速檢測模塊,用于使用所述多種檢測項目對所述隨機(jī)數(shù)產(chǎn)生器產(chǎn)生的數(shù)據(jù)進(jìn)行快速檢測;快速確定模塊,用于若該隨機(jī)數(shù)產(chǎn)生器未通過任意一種檢測項目的快速檢測,則確定該隨機(jī)數(shù)產(chǎn)生器未通過檢測;若該隨機(jī)數(shù)產(chǎn)生器通過所有檢測項目的快速檢測, 則調(diào)用所述檢測模塊進(jìn)行檢測。
其中,所述快速檢測模塊使用所述多種檢測項目對所述隨機(jī)數(shù)產(chǎn)生器產(chǎn)生的數(shù)據(jù)進(jìn)行快速檢測,是用于將所述隨機(jī)數(shù)產(chǎn)生器產(chǎn)生的隨機(jī)數(shù)分成M段,對M段數(shù)據(jù)使用多種檢測項目中的任意一種進(jìn)行檢測,獲得多個函數(shù)值;其中,M為小于N的正整數(shù);檢測所述多個函數(shù)值中滿足預(yù)設(shè)標(biāo)準(zhǔn)的函數(shù)值的個數(shù),若該個數(shù)小于等于第二預(yù)設(shè)閾值,則該隨機(jī)數(shù)產(chǎn)生器未通過當(dāng)前檢測項目的快速檢測;若該個數(shù)大于第二預(yù)設(shè)閾值,則該隨機(jī)數(shù)產(chǎn)生器通過當(dāng)前檢測項目的快速檢測,重復(fù)上述過程,直至該隨機(jī)數(shù)產(chǎn)生器通過所有檢測項目的快速檢測;其中,所述第二預(yù)設(shè)閾值小于所述第一預(yù)設(shè)閾值。具體實現(xiàn)過程可參見圖2。
進(jìn)一步地,所述快速檢測模塊,是用于對所述M段數(shù)據(jù)中的每段數(shù)據(jù)使用LPZ檢測項目進(jìn)行檢測,獲得多個函數(shù)值;和/或所述檢測模塊,是用于對所述N段數(shù)據(jù)中的每段數(shù)據(jù)使用LPZ檢測項目進(jìn)行檢測,獲得多個函數(shù)值。所述快速檢測模塊或所述檢測模塊,是用于使用函數(shù)計算公式獲得每段數(shù)據(jù)的函數(shù)值,該函數(shù)計算公式為
p-value = 0. 5 X erfc (( μ -ff) / σ )
其中,p-value為函數(shù)值,W為該段數(shù)據(jù)中不相交且不同的數(shù)據(jù)串的個數(shù),μ、σ為常數(shù),erfc為標(biāo)準(zhǔn)正態(tài)分布誤差函數(shù)。
本裝置覆蓋了中國《隨機(jī)數(shù)檢測規(guī)范》以及國際通用的檢測設(shè)備的所有檢測點。尤其重要是,通過引入LPZ檢測方法提高了隨機(jī)性的檢測效果。除LPZ檢測方法之外的其余 19檢測項目的具體設(shè)計,請參照中國《隨機(jī)數(shù)檢測規(guī)范》以及國際通用的隨機(jī)數(shù)檢測規(guī)范 ((NIST Special Publication 800-22》。
上述檢測裝置,通過對20種檢測項目進(jìn)行檢測,保證了通過檢測的隨機(jī)數(shù)產(chǎn)生器能夠滿足現(xiàn)在乃至將來很長一段時間各領(lǐng)域要求;通過快速檢測模塊和快速確定模塊可以對性能非常差的隨機(jī)數(shù)產(chǎn)生器直接過濾,節(jié)省時間;并且,該裝置兼容國際通用檢測設(shè)備以及中國《隨機(jī)數(shù)檢測規(guī)范》,使得本裝置實用性更強(qiáng),并且上述創(chuàng)新設(shè)計的LPZ檢測方法極大提高了隨機(jī)數(shù)產(chǎn)生器隨機(jī)性的檢測效果。
本領(lǐng)域普通技術(shù)人員可以理解上述方法中的全部或部分步驟可通過程序來指令相關(guān)硬件完成,上述程序可以存儲于計算機(jī)可讀存儲介質(zhì)中,如只讀存儲器、磁盤或光盤等??蛇x地,上述實施例的全部或部分步驟也可以使用一個或多個集成電路來實現(xiàn)。相應(yīng)地,上述實施例中的各模塊/單元可以采用硬件的形式實現(xiàn),也可以采用軟件功能模塊的形式實現(xiàn)。本發(fā)明不限制于任何特定形式的硬件和軟件的結(jié)合。
以上實施例僅用以說明本發(fā)明的技術(shù)方案而非限制,僅僅參照較佳實施例對本發(fā)明進(jìn)行了詳細(xì)說明。本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解,可以對本發(fā)明的技術(shù)方案進(jìn)行修改或者等同替換,而不脫離本發(fā)明技術(shù)方案的精神和范圍,均應(yīng)涵蓋在本發(fā)明的權(quán)利要求范圍當(dāng)中。
權(quán)利要求
1.一種隨機(jī)數(shù)產(chǎn)生器的檢測方法,其特征在于,該方法包括使用多種檢測項目對隨機(jī)數(shù)產(chǎn)生器產(chǎn)生的隨機(jī)數(shù)進(jìn)行檢測,所述多種檢測項目包括相似分形(LPZ)檢測項目;若該隨機(jī)數(shù)產(chǎn)生器未通過任意一種檢測項目的檢測,則確定該隨機(jī)數(shù)產(chǎn)生器未通過檢測,若該隨機(jī)數(shù)產(chǎn)生器通過所有檢測項目的檢測,則確定該隨機(jī)數(shù)產(chǎn)生器通過檢測。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于所述使用多種檢測項目對隨機(jī)數(shù)產(chǎn)生器產(chǎn)生的隨機(jī)數(shù)進(jìn)行檢測包括 將隨機(jī)數(shù)產(chǎn)生器產(chǎn)生的隨機(jī)數(shù)分成N段,對N段數(shù)據(jù)使用多種檢測項目中的任意一種進(jìn)行檢測,獲得多個函數(shù)值;其中,N為正整數(shù);檢測所述多個函數(shù)值中滿足預(yù)設(shè)標(biāo)準(zhǔn)的函數(shù)值的個數(shù),若該個數(shù)小于等于第一預(yù)設(shè)閾值,則該隨機(jī)數(shù)產(chǎn)生器未通過當(dāng)前檢測項目的檢測;若該個數(shù)大于第一預(yù)設(shè)閾值,則該隨機(jī)數(shù)產(chǎn)生器通過當(dāng)前檢測項目的檢測,重復(fù)上述過程,直至該隨機(jī)數(shù)產(chǎn)生器通過所有檢測項目的檢測。
3.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述方法還包括使用所述多種檢測項目對所述隨機(jī)數(shù)產(chǎn)生器產(chǎn)生的數(shù)據(jù)進(jìn)行快速檢測,若該隨機(jī)數(shù)產(chǎn)生器未通過任意一種檢測項目的快速檢測,則確定該隨機(jī)數(shù)產(chǎn)生器未通過檢測;若該隨機(jī)數(shù)產(chǎn)生器通過所有檢測項目的快速檢測,則轉(zhuǎn)向執(zhí)行所述使用多種檢測項目對隨機(jī)數(shù)產(chǎn)生器產(chǎn)生的隨機(jī)數(shù)進(jìn)行檢測。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于所述使用所述多種檢測項目對所述隨機(jī)數(shù)產(chǎn)生器產(chǎn)生的數(shù)據(jù)進(jìn)行快速檢測包括 將所述隨機(jī)數(shù)產(chǎn)生器產(chǎn)生的隨機(jī)數(shù)分成M段,對M段數(shù)據(jù)使用多種檢測項目中的任意一種進(jìn)行檢測,獲得多個函數(shù)值;其中,M為小于N的正整數(shù);檢測所述多個函數(shù)值中滿足預(yù)設(shè)標(biāo)準(zhǔn)的函數(shù)值的個數(shù),若該個數(shù)小于等于第二預(yù)設(shè)閾值,則該隨機(jī)數(shù)產(chǎn)生器未通過當(dāng)前檢測項目的快速檢測;若該個數(shù)大于第二預(yù)設(shè)閾值,則該隨機(jī)數(shù)產(chǎn)生器通過當(dāng)前檢測項目的快速檢測,重復(fù)上述過程,直至該隨機(jī)數(shù)產(chǎn)生器通過所有檢測項目的快速檢測;其中,所述第二預(yù)設(shè)閾值小于所述第一預(yù)設(shè)閾值。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于所述對M段數(shù)據(jù)或N段數(shù)據(jù)使用多種檢測項目中的任意一種進(jìn)行檢測,獲得多個函數(shù)值包括對所述M段數(shù)據(jù)或N段數(shù)據(jù)中的每段數(shù)據(jù)使用LPZ檢測項目進(jìn)行檢測,獲得多個函數(shù)值。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于所述對所述M段數(shù)據(jù)或N段數(shù)據(jù)中的每段數(shù)據(jù)使用LPZ檢測項目進(jìn)行檢測,獲得多個函數(shù)值,包括使用函數(shù)計算公式獲得每段數(shù)據(jù)的函數(shù)值,該函數(shù)計算公式為 p-value = 0. 5X erfc (( μ -ff) / σ )其中,p-value為函數(shù)值,W為該段數(shù)據(jù)中不相交且不同的數(shù)據(jù)串的個數(shù),μ、ο為常數(shù),erfc為標(biāo)準(zhǔn)正態(tài)分布誤差函數(shù)。
7.一種隨機(jī)數(shù)產(chǎn)生器的檢測裝置,其特征在于,該裝置包括檢測模塊,用于使用多種檢測項目對隨機(jī)數(shù)產(chǎn)生器產(chǎn)生的隨機(jī)數(shù)進(jìn)行檢測,所述多種檢測項目包括LPZ檢測項目;確定模塊,用于若該隨機(jī)數(shù)產(chǎn)生器未通過任意一種檢測項目的檢測,則確定該隨機(jī)數(shù)產(chǎn)生器未通過檢測,若該隨機(jī)數(shù)產(chǎn)生器通過所有檢測項目的檢測,則確定該隨機(jī)數(shù)產(chǎn)生器通過檢測。
8.根據(jù)權(quán)利要求7所述的裝置,其特征在于所述檢測模塊使用多種檢測項目對隨機(jī)數(shù)產(chǎn)生器產(chǎn)生的隨機(jī)數(shù)進(jìn)行檢測,是用于將隨機(jī)數(shù)產(chǎn)生器產(chǎn)生的隨機(jī)數(shù)分成N段,對N段數(shù)據(jù)使用多種檢測項目中的任意一種進(jìn)行檢測,獲得多個函數(shù)值;其中,N為正整數(shù);檢測所述多個函數(shù)值中滿足預(yù)設(shè)標(biāo)準(zhǔn)的函數(shù)值的個數(shù),若該個數(shù)小于等于第一預(yù)設(shè)閾值,則該隨機(jī)數(shù)產(chǎn)生器未通過當(dāng)前檢測項目的檢測;若該個數(shù)大于第一預(yù)設(shè)閾值,則該隨機(jī)數(shù)產(chǎn)生器通過當(dāng)前檢測項目的檢測,重復(fù)上述過程,直至該隨機(jī)數(shù)產(chǎn)生器通過所有檢測項目的檢測。
9.根據(jù)權(quán)利要求7或8所述的裝置,其特征在于,所述裝置還包括快速檢測模塊,用于使用所述多種檢測項目對所述隨機(jī)數(shù)產(chǎn)生器產(chǎn)生的數(shù)據(jù)進(jìn)行快速檢測;快速確定模塊,用于若該隨機(jī)數(shù)產(chǎn)生器未通過任意一種檢測項目的快速檢測,則確定該隨機(jī)數(shù)產(chǎn)生器未通過檢測;若該隨機(jī)數(shù)產(chǎn)生器通過所有檢測項目的快速檢測,則調(diào)用所述檢測模塊進(jìn)行檢測。
10.根據(jù)權(quán)利要求9所述的裝置,其特征在于所述快速檢測模塊使用所述多種檢測項目對所述隨機(jī)數(shù)產(chǎn)生器產(chǎn)生的數(shù)據(jù)進(jìn)行快速檢測,是用于將所述隨機(jī)數(shù)產(chǎn)生器產(chǎn)生的隨機(jī)數(shù)分成M段,對M段數(shù)據(jù)使用多種檢測項目中的任意一種進(jìn)行檢測,獲得多個函數(shù)值;其中,M為小于N的正整數(shù);檢測所述多個函數(shù)值中滿足預(yù)設(shè)標(biāo)準(zhǔn)的函數(shù)值的個數(shù),若該個數(shù)小于等于第二預(yù)設(shè)閾值,則該隨機(jī)數(shù)產(chǎn)生器未通過當(dāng)前檢測項目的快速檢測;若該個數(shù)大于第二預(yù)設(shè)閾值,則該隨機(jī)數(shù)產(chǎn)生器通過當(dāng)前檢測項目的快速檢測,重復(fù)上述過程,直至該隨機(jī)數(shù)產(chǎn)生器通過所有檢測項目的快速檢測;其中,所述第二預(yù)設(shè)閾值小于所述第一預(yù)設(shè)閾值。
全文摘要
本發(fā)明提供了一種隨機(jī)數(shù)產(chǎn)生器的檢測方法及裝置,其中,隨機(jī)數(shù)產(chǎn)生器的檢測方法包括使用多種檢測項目對隨機(jī)數(shù)產(chǎn)生器產(chǎn)生的隨機(jī)數(shù)進(jìn)行檢測,所述多種檢測項目包括相似分形(LPZ)檢測項目;若該隨機(jī)數(shù)產(chǎn)生器未通過任意一種檢測項目的檢測,則確定該隨機(jī)數(shù)產(chǎn)生器未通過檢測,若該隨機(jī)數(shù)產(chǎn)生器通過所有檢測項目的檢測,則確定該隨機(jī)數(shù)產(chǎn)生器通過檢測。上述檢測方法及裝置,對隨機(jī)數(shù)產(chǎn)生器產(chǎn)生的數(shù)據(jù)進(jìn)行嚴(yán)格檢測,極大地提高了隨機(jī)數(shù)產(chǎn)生器隨機(jī)性的檢測效果。
文檔編號G06F7/58GK102495716SQ20111037204
公開日2012年6月13日 申請日期2011年11月21日 優(yōu)先權(quán)日2011年11月21日
發(fā)明者劉俊, 劉洋, 寧振虎, 徐興亮, 金銀軍, 閻永斌 申請人:大唐微電子技術(shù)有限公司