專利名稱:隨機數(shù)生成方法及隨機數(shù)生成裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種隨機數(shù)生成方法及隨機數(shù)生成裝置。
背景技術(shù):
完全無秩序且整體上出現(xiàn)頻率相等的隨機數(shù)被廣泛利用于社會現(xiàn)象或物理現(xiàn)象的數(shù)值仿真等中。另外,隨機數(shù)作為加密技術(shù)也起著重要的作用,因而在信息保護領(lǐng)域?qū)ζ涞男枨笠埠艽蟆,F(xiàn)在,作為隨機數(shù)的產(chǎn)生方法雖然開發(fā)出各種方法,但其大部分是基于算法的軟件的偽隨機數(shù)生成。
基于算法的隨機數(shù)生成具有某種程度的可靠性并且可以高速地進行隨機數(shù)生成,由于這一點而被廣泛利用。但是,由于計算機只能取有限的信息,所以生成的隨機數(shù)被證實具有周期性。因此,有時得不到正確的解或足夠的安全性,因而人們期望確立一種更無秩序的隨機數(shù)產(chǎn)生方法。
近年來,由于伴隨硬件發(fā)展的處理速度的提高和可靠性的提高,人們開發(fā)出物理的隨機數(shù)生成方法。例如,根據(jù)熱電子噪聲或放射性物質(zhì)的裂變等物理現(xiàn)象生成的隨機數(shù)是不可預(yù)測性高、理想的隨機數(shù)序列。但是,這些方法多數(shù)需要昂貴的、大規(guī)模的裝置。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種新的方法及裝置,可以使用具有廉價且簡易結(jié)構(gòu)的裝置,產(chǎn)生無秩序的隨機數(shù)。
為了實現(xiàn)上述目的,本發(fā)明的隨機數(shù)生成方法的特征在于,具有將來自規(guī)定的振蕩器的噪聲或信號輸入到A/D轉(zhuǎn)換器的步驟;通過向從所述A/D轉(zhuǎn)換器輸出的值分配“0”或“1”,形成2進制序列的步驟;和以規(guī)定的位數(shù)劃分所述2進制序列,生成n進制隨機數(shù)的步驟。
另外,本發(fā)明的隨機數(shù)生成裝置的特征在于,具備振蕩器,用于生成規(guī)定的噪聲或信號并使其振蕩;A/D轉(zhuǎn)換器,用于對所述噪聲或所述信號進行A/D轉(zhuǎn)換;和計算機,通過向從所述A/D轉(zhuǎn)換器輸出的值分配“0”或“1”,形成2進制序列,然后以規(guī)定的位數(shù)劃分所述2進制序列,生成n進制隨機數(shù)。
例如,說明利用由晶體振蕩器產(chǎn)生的三角波并使用12比特長的2進制A/D轉(zhuǎn)換器的情況。若使用所述A/D轉(zhuǎn)換器的全部12比特長,則對所述三角波的波形振幅進行212=4096分割(4096步)。采樣頻率為1MHz時,采樣間隔為1μs,所以根據(jù)式(1)、(2),使所述A/D轉(zhuǎn)換器的比特0,1,0,1…地交互輸出的必要條件是,必須是具有約122Hz頻率的波形(圖1)。
(式1)T=1[μs]×4096×2=8192[μs] (1)(式2)f=1T=18192[μs]=122.1[Hz]---(2)]]>其成為隨機數(shù)的必要條件是,在某時刻必須有最低1步范圍的振幅變動。換言之,如果將其置換成時間變動來考慮,則成為隨機數(shù)的必要條件是,在1周期(8192μs)中,必須有最低相當于采樣間隔的1μs的時間變動。為此的時間變化量根據(jù)式(3)可表示為約122×10-6。
(式3)1[μs]8192[μs]=122×10-6---(3)]]>若將該時間變化量置換成頻率變動,則頻率和時間寬度具有倒數(shù)關(guān)系,所以成為隨機數(shù)的必要條件是,頻率變化率根據(jù)式(4)約為122×10-6。
(式4)(1+122×10-6)-1≅1-122×106---(4)]]>使如上所述的采樣間隔為1μs、比特長為12比特進一步一般化,并設(shè)采樣間隔為1s、比特長為n比特。這時,上述式(2)可如式(5)那樣寫出來。
(式5)f=106l·2(n+1)[Hz]---(5)]]>如果信號的頻率與式(5)表示的頻率相比足夠高,則式(4)所示的、作為生成隨機數(shù)的必要條件的頻率變化率變得足夠大。因此,在上述頻率變化率與上述晶體振蕩器的頻率穩(wěn)定度相比足夠大時,通過將上述晶體振蕩器產(chǎn)生的通常的信號取入到上述A/D轉(zhuǎn)換器中,所述信號進行A/D轉(zhuǎn)換后的比特就成為“0”和“1”隨機地排列。因此,通過向“0”分配“0”或“1”的數(shù)值、向“1”分配“1”或“0”的數(shù)值,可得到隨機的2進制序列,并且通過以規(guī)定的位數(shù)劃分該2進制序列,可得到對應(yīng)于劃定位數(shù)的n進制隨機數(shù)。
換言之,通過使用A/D轉(zhuǎn)換器并從規(guī)定的振蕩器適當導(dǎo)入足夠高的頻率的信號,可在A/D轉(zhuǎn)換后形成隨機的2進制序列,基于此可生成作為目的的隨機的n進制隨機數(shù)。
在本發(fā)明的最佳方式中,來自所述A/D轉(zhuǎn)換器的輸出值使用通過A/D轉(zhuǎn)換得到的最下位比特。由于所述最下位比特的波動大,所以來自所述A/D轉(zhuǎn)換器的輸出值變得更隨機,從而可使所述2進制序列成為隨機序列。結(jié)果進一步提高了以規(guī)定位數(shù)劃分所述2進制序列后得到的n進制隨機數(shù)的隨機性。
另外,在本發(fā)明的其它最佳方式中,使用規(guī)定的調(diào)制器向應(yīng)輸入到所述A/D轉(zhuǎn)換器的所述信號附加頻率、相位及振幅中至少1種的調(diào)制。這種情況下,由于向所述信號本身附加了某種程序的隨機性,所以通過所述A/D轉(zhuǎn)換器后的所述輸出值變得更隨機。結(jié)果,所述2進制序列進而可使所述n進制隨機數(shù)的隨機性進一步提高。
作為所述A/D轉(zhuǎn)換器,可以使用輸出為2進制的轉(zhuǎn)換器。這種情況下,如上所述,通過向所述輸出值的“0”分配“0”或“1”的數(shù)值、向所述輸出值的“1”分配“1”或“0”的數(shù)值,形成所述2進制序列。
另外,所述A/D轉(zhuǎn)換器可以使用輸出為m進制的轉(zhuǎn)換器(m為4以上的偶數(shù))。這種情況下,通過向所述輸出值的奇數(shù)值分配“0”或“1”的數(shù)值、向所述輸出值的偶數(shù)值分配“1”或“0”的數(shù)值,形成所述2進制序列。
而且,所述A/D轉(zhuǎn)換器可以使用輸出為m進制的轉(zhuǎn)換器(m為3以上的奇數(shù))。這種情況下,利用所述輸出值的從“0”到“m-2”的數(shù)值,如果所述數(shù)值是奇數(shù)值,則分配“0”或“1”的數(shù)值,如果所述數(shù)值是偶數(shù)值,則分配“0”或“1”的數(shù)值,從而可形成所述2進制序列。另外,利用所述輸出值的從“1”到“m-1”的數(shù)值,如果所述數(shù)值是奇數(shù)值,則分配“0”或“1”的數(shù)值,如果所述數(shù)值是偶數(shù)值,則分配“1”或“0”的數(shù)值,從而可形成所述2進制序列。
如上所述,根據(jù)本發(fā)明,可提供一種使用具有廉價且簡易結(jié)構(gòu)的裝置、產(chǎn)生更無秩序的隨機數(shù)的新方法、以及適用于所述方法的裝置。
圖1是表示振蕩器產(chǎn)生的三角波的一個例子的圖。
圖2是概略地表示本發(fā)明的隨機數(shù)生成方法中使用的裝置的一個例子的圖。
圖3是概略地表示本發(fā)明的隨機數(shù)生成方法中使用的裝置的其它例子的圖。
圖4是圖3的裝置中使用的散粒噪聲產(chǎn)生電路的電路圖的一個例子。
圖5是表示來自振蕩器的振蕩頻率與檢定通過率的關(guān)系的曲線圖。
圖6同樣是表示來自振蕩器的振蕩頻率與檢定通過率的關(guān)系的曲線圖。
圖7是表示采樣頻率與檢定通過率的關(guān)系的曲線圖。
圖8是表示本發(fā)明中使用的乘法電路的一個例子的圖。
圖9是表示使用圖8所示的乘法電路來生成隨機數(shù)時的檢定率的曲線圖。
具體實施例方式
下面,基于最佳實施方式,詳細說明本發(fā)明的細節(jié)以及其它特征及優(yōu)點。
圖2是概略地表示本發(fā)明的隨機數(shù)生成方法中使用的裝置的一個例子的圖。在圖2中,隨機數(shù)生成裝置10具有作為信號生成單元的振蕩器11、A/D轉(zhuǎn)換器12和計算機13。從振蕩器11生成例如三角波及正弦波等規(guī)定信號并使其振蕩,然后導(dǎo)入A/D轉(zhuǎn)換器12內(nèi),實施規(guī)定的A/D轉(zhuǎn)換后,輸出規(guī)定值。振蕩器11可由晶體振蕩器、LC振蕩器或CR振蕩器等構(gòu)成。
A/D轉(zhuǎn)換器12可使用任意的m進制的A/D轉(zhuǎn)換器。在由2進制的A/D轉(zhuǎn)換器構(gòu)成時,其輸出值為2進制數(shù),輸出“0”或“1”的數(shù)值。在由m進制(m≥3)的A/D轉(zhuǎn)換器構(gòu)成時,其輸出值為m進制數(shù),輸出從“0”到“m-1”的數(shù)值。
因此,在使用2進制的A/D轉(zhuǎn)換器時,通過向其輸出值的“0”分配“0”或“1”、向輸出值的“1”分配“1”或“0”,可得到2進制序列。因此,通過以規(guī)定的位數(shù)來劃分該2進制序列,可生成對應(yīng)于該劃定位數(shù)的n進制隨機數(shù)。
另外,在使用m=2n(n為2以上的整數(shù))進制的A/D轉(zhuǎn)換器、即4以上的偶數(shù)進制數(shù)的A/D轉(zhuǎn)換器時,通過向其輸出值的奇數(shù)值分配“0”或“1”的數(shù)值、向上述輸出值的偶數(shù)值分配“1”或“0”的數(shù)值,可得到上述2進制序列。因此,如上所述,通過以規(guī)定的位數(shù)來劃分上述2進制序列,可生成對應(yīng)于該劃定位數(shù)的n進制隨機數(shù)。
并且,在使用m=2n-1(n為2以上的整數(shù))進制的A/D轉(zhuǎn)換器、即3以上的奇數(shù)進制數(shù)的A/D轉(zhuǎn)換器時,利用其輸出值的從“0”到“m-2”的數(shù)值,如果所述數(shù)值為奇數(shù)值,則分配“0”或“1”的數(shù)值,如果所述數(shù)值為偶數(shù)值,則分配“1”或“0”的數(shù)值,從而可得到上述2進制序列。這種情況下也可以通過以規(guī)定的位數(shù)來劃分上述2進制序列,生成對應(yīng)于該劃定位數(shù)的n進制隨機數(shù)。
另外,在使用3以上的奇數(shù)進制數(shù)時,利用所述輸出值的從“1”到“m-1”的數(shù)值,同樣地,如果所述數(shù)值為奇數(shù)值,則分配“0”或“1”的數(shù)值,如果所述數(shù)值為偶數(shù)值,則分配“1”或“0”的數(shù)值,從而可得到上述2進制序列,與上述同樣地生成n進制隨機數(shù)。
不管在使用2進制的A/D轉(zhuǎn)換器、或使用m進制的A/D轉(zhuǎn)換器的哪種情況下,都通過A/D轉(zhuǎn)換從A/D轉(zhuǎn)換器12輸出多個數(shù)值(比特)。因此,使用2進制的A/D轉(zhuǎn)換器時的輸出值“0”或“1”、或使用m進制時的奇數(shù)輸出值及偶數(shù)輸出值、以及從“0”到“m-1”的輸出值可使用任意比特的輸出值。
但是,特別使用最下位的比特,由于所述最下位比特的波動大,所以來自上述A/D轉(zhuǎn)換器的輸出值變得更隨機,從而可使上述2進制序列成為隨機的序列。結(jié)果進一步提高了通過以規(guī)定位數(shù)劃分上述2進制序列得到的上述n進制隨機數(shù)的隨機性。
以上說明的包含最下位比特的適當?shù)谋忍剡x擇、2進制序列的形成、以及作為目的的n進制隨機數(shù)的生成由設(shè)置在A/D轉(zhuǎn)換器12后方的計算機13來執(zhí)行。
另外,可以使用通過A/D轉(zhuǎn)換得到的多個比特,并且使用對應(yīng)的每個比特的、隨著時間經(jīng)過得到的變動值,來代替上述的最下位比特。下面說明該情況的具體例子。
將A/D轉(zhuǎn)換器輸出的內(nèi)容從最下位的位開始向上位的位表示為r0、r1、r2、…,將時刻的經(jīng)過表示為t0、t1、t2、t3…。例如,在表示最下位的位在時刻t0、t1、t2、t3的值時,為r0,0、r0,1、r0,2、r0,3。同樣地,在表示最下位的位之上的位在時刻t0、t1、t2、t3的值時,為r1,0、r1,1、r1,2、r1,3。此前所述的隨機數(shù)的生成方法是,向例如r0,0、r0,1、r0,2、r0,3…的值按規(guī)則分配“0”或“1”,從而形成2進制序列?,F(xiàn)在,即使設(shè)LC振蕩器的頻率為3MHz,A/D轉(zhuǎn)換器的采樣速度為20MHz,也可以實現(xiàn)使NIST的統(tǒng)計性加密用隨機數(shù)檢定FIPS140-2為100%合格的性能(NIST國家標準技術(shù)研究所(美國)National Institute of Standards and Technology、FIPS聯(lián)邦信息處理標準(美國)Federal Information Processing Standards)。即,原理上在1秒鐘內(nèi)可生成2千萬個安全的加密用隨機數(shù)。
并且,可以使用A/D轉(zhuǎn)換器輸出的多個(m個)位,利用上述方法針對對應(yīng)的每個位生成隨機數(shù)序列。這樣,與在一定時間內(nèi)僅使用一位的方法相比,可得到m倍的加密用2進制隨機數(shù)序列。例如,如果m=3,則在一定時間內(nèi)可形成對應(yīng)于r0,0、r0,1、r0,2、r0,3…的2進制隨機數(shù)序列、對應(yīng)于r1,0、r1,1、r1,2、r1,3…的2進制隨機數(shù)序列、和對應(yīng)于r2,0、r2,1、r2,2、r2,3…的2進制隨機數(shù)序列。在該例中,生成了3倍的加密用隨機數(shù)。
另外,作為別的方法,只要通過組合在某時刻tn的A/D轉(zhuǎn)換器的m個位的輸出r0n、r1n、r2n、…rmn,來形成對應(yīng)于該值的2進制隨機數(shù)序列,就可得到m個隨機數(shù)。如果在各時刻都執(zhí)行該方法,則可形成在一定時間內(nèi)僅使用1位時的m倍長度的加密用2進制序列。通過改變位的組合方法,可以生成在統(tǒng)計性加密用隨機數(shù)檢定FIPS140-2中容易合格的隨機數(shù)。通過按時刻來改變位的組合方法,可以生成在統(tǒng)計性加密用隨機數(shù)檢定FIPS140-2中容易合格的隨機數(shù)。也可以不僅改變位的組合順序,還通過隨機地執(zhí)行使用或不使用某個位,來生成容易合格的隨機數(shù)。
另外,在本發(fā)明中,如圖2的虛線所示,可在振蕩器11及A/D轉(zhuǎn)換器12之間設(shè)置調(diào)制器17。調(diào)制器17可由頻率調(diào)制器、相位調(diào)制器以及振幅調(diào)制器中的至少一個構(gòu)成。
通過使用頻率調(diào)制器、相位調(diào)制器以及振幅調(diào)制器,可以分別對從振蕩器11發(fā)出的信號的頻率、相位及振幅進行調(diào)制。這種情況下,由于向上述信號本身附加某種程度的隨機性,所以通過A/D轉(zhuǎn)換器12之后的輸出值變得更為隨機。結(jié)果,可進一步提高通過向上述輸出值分配“0”或“1”得到的2進制序列以及作為結(jié)果的n進制隨機數(shù)的隨機性。
作為頻率調(diào)制器、相位調(diào)制器及振幅調(diào)制器,分別可使用例如(“電子電路”、櫻庭一郎著、森北出版)中公開的、公知的調(diào)制器。具體地說,作為上述頻率調(diào)制器,可以使用包含LC振蕩電路的調(diào)制器。作為上述相位調(diào)制器,可以使用包含規(guī)定的相位電路的調(diào)制器。作為上述振幅調(diào)制器,可以使用包含基極調(diào)制電路或集電極調(diào)制電路的調(diào)制器。作為這些調(diào)制器的輸入信號,例如可以使用圖4的散粒噪聲產(chǎn)生電路的輸出。
圖3是概略地表示本發(fā)明的隨機數(shù)生成方法中使用的裝置的其它例子的圖。圖3所示的隨機數(shù)生成裝置20具備直流電源24、散粒噪聲產(chǎn)生電路21、A/D轉(zhuǎn)換器22和計算機23。A/D轉(zhuǎn)換器22與圖1所示的例子相同,可以由2進制或m進制(m為4以上的偶數(shù)或3以上的奇數(shù))的A/D轉(zhuǎn)換器構(gòu)成。另外,計算機23可由與計算機13相同的裝置構(gòu)成。散粒噪聲產(chǎn)生電路21例如可以使用圖4所示的電路結(jié)構(gòu)。在這種情況下,直流電源24以及散粒噪聲產(chǎn)生電路21用作振蕩器。
在圖3所示的隨機數(shù)生成裝置中,直流電源24向散粒噪聲產(chǎn)生電路21施加例如±12v的直流電壓。于是,散粒噪聲產(chǎn)生電路21生成規(guī)定的噪聲并使其振蕩,將其導(dǎo)入到A/D轉(zhuǎn)換器22中,實施規(guī)定的A/D轉(zhuǎn)換后輸出規(guī)定的值。
來自A/D轉(zhuǎn)換器22的輸出值如上所述因其種類的不同而不同,在使用2進制的A/D轉(zhuǎn)換器時,輸出“0”或“1”,形成基于此的2進制序列,進而生成n進制隨機數(shù)。在使用m進制的A/D轉(zhuǎn)換器時,輸出從“0”到“m-1”的數(shù)值,向每個奇數(shù)值及偶數(shù)值分配“0”或“1”的數(shù)值,從而形成2進制序列,進而形成n進制隨機數(shù)。
另外,在這種情況下,與上述同樣,最好也使用從A/D轉(zhuǎn)換器22輸出的比特中的最下位比特。另外,最好是如圖中虛線所示,設(shè)置調(diào)制器27。由此,如與圖1相關(guān)聯(lián)的說明,可以得到更隨機的n進制隨機數(shù)。
調(diào)制器27可以由與調(diào)制器17相同的部件構(gòu)成。另外,散粒噪聲產(chǎn)生電路可以使用圖4所示電路以外的電路,也可以使用散粒噪聲產(chǎn)生電路以外的噪聲產(chǎn)生電路。
另外,可以使用D/A轉(zhuǎn)換器來代替圖3所示的散粒噪聲產(chǎn)生電路,并使用來自該轉(zhuǎn)換器的輸出作為應(yīng)向A/D轉(zhuǎn)換器22輸入的信號。這種情況下,使用規(guī)定的計算機來代替直流電源24,通過對來自該計算機的數(shù)字信號進行D/A轉(zhuǎn)換,轉(zhuǎn)換成模擬信號。
作為上述數(shù)字信號,可以是物理隨機數(shù)或公式隨機數(shù)。另外,也可以按時間序列輸出任意的文本文件、聲音、樂器、電子樂器、圖像等信號或文件。或者,也可以將上述計算機內(nèi)的電路的任意點(場所)的數(shù)字信號輸入到上述D/A轉(zhuǎn)換器中,轉(zhuǎn)換成模擬信號。
這樣,若將來自上述計算機的各種信號輸入到D/A轉(zhuǎn)換器中,則其輸出相當隨機,如果采樣速度慢,則有可能成為物理隨機數(shù)。另外,通過將上述信號用作其他信號的調(diào)制信號等,來與所述其他信號相結(jié)合,結(jié)合后得到的信號的隨機性變得特別高,所以可充分提高采樣速度。因此,在通過將上述結(jié)合信號輸入到A/D轉(zhuǎn)換器來生成隨機數(shù)時,可以形成在所述A/D轉(zhuǎn)換器的上位比特之前通過檢定的隨機數(shù),從而可實現(xiàn)隨機數(shù)的高速化。
另外,在圖1~圖3所示的任意一個例子中,可將來自振蕩器的三角波及正弦波、來自散粒噪聲產(chǎn)生電路的噪聲信號、來自D/A轉(zhuǎn)換器的輸出信號在經(jīng)過微分電路或高通濾波器中的至少一個后,輸入到A/D轉(zhuǎn)換器中。這樣,通過經(jīng)過微分電路或高通濾波器,可取出上述信號中的高通頻率,所以上述信號中的噪聲分量增大,輸入A/D轉(zhuǎn)換器中后生成隨機數(shù)時的隨機性增大。結(jié)果,可以形成在A/D轉(zhuǎn)換器的上位比特之前通過檢定的隨機數(shù),從而可實現(xiàn)隨機數(shù)的高速化。
實施例下面,通過實施例具體地說明本發(fā)明的特征、優(yōu)點及效果。得到的隨機數(shù)的評價采用當前最嚴格的NIST(National Institute ofStandards and Technology)的FIPS140-2[4]中示出的統(tǒng)計學的隨機數(shù)生成測試。
(實施例1)<利用晶體振蕩器的隨機數(shù)生成>
(1)使用三角波的情況設(shè)以晶體振子為基準的振蕩器(晶體振蕩器NFCORPORATION WAVE FACTORY 1946(NF有限公司波工廠1946))的輸出為-4.95~+4.95V的三角波,利用12比特長、2進制A/D轉(zhuǎn)換對該信號進行A/D轉(zhuǎn)換,然后取入計算機。這時,采樣頻率為1MHz。圖5中示出上述振蕩器的振蕩頻率與檢定通過率的關(guān)系。圖的橫軸表示振蕩頻率,縱軸表示檢定通過率。從圖5可知,如果振蕩頻率為約15KHz以上,則幾乎100%通過檢定。
(2)使用正弦波的情況使用與上述(1)相同的晶體振蕩器,設(shè)其輸出為-4.95~+4.95V的正弦波。另外,采樣頻率為1MHz。圖6中示出此時的晶體振蕩器的振蕩頻率與檢定通過率的關(guān)系。從圖6可知,正弦波與三角波比較,以更低的振蕩頻率通過檢定。
(實施例2)<利用散粒噪聲產(chǎn)生電路的隨機數(shù)生成>
利用12比特長的2進制A/D轉(zhuǎn)換對來自圖4所示的散粒噪聲產(chǎn)生電路的輸出進行A/D轉(zhuǎn)換,然后取入計算機中。從取入的數(shù)據(jù)的下位比特開始依次為r0、r1、r2…。使用20,000個r0為1組,表示為r0(20000),以下使用20,000個r1為1組,表示為r1(20000)。圖7中示出對這些數(shù)據(jù)列改變采樣頻率時的、采樣頻率與檢定通過率的關(guān)系。從圖7可知,越使用下位比特,越在高采樣頻率之前維持高的檢定通過率,最下位比特r0尤為顯著。
以上,一邊舉出具體例子一邊根據(jù)發(fā)明的實施方式詳細地說明了本發(fā)明,但本發(fā)明不限于上述內(nèi)容,只要不脫離本發(fā)明的范疇,可以進行一切變形或變更。
例如,可以使用多臺用于生成規(guī)定的噪聲或信號并使其振蕩的振蕩器,并在結(jié)合它們的輸出后輸入到A/D轉(zhuǎn)換器中,從而可實現(xiàn)隨機數(shù)生成的高速化。
作為上述結(jié)合方法,考慮取和的方法、取差的方法、相乘的方法。尤其是,由于相乘的方法產(chǎn)生復(fù)雜的信號,所以由最下位的位之上的位生成的隨機數(shù)序列的檢定容易通過。
作為例子,考慮2個正弦波信號。在設(shè)各信號的頻率為f1、f2時,通過乘法電路后的輸出分量除f1、f2之外,還輸出2f1、2f2、f1+f2、f1~f2。如果2個信號是噪聲,則由于噪聲包含很多的頻率分量,所以通過乘法電路后的輸出包含非常多的復(fù)雜信號。若將這些輸出輸入到A/D轉(zhuǎn)換器中,則由比最下位的位之上的位還靠上的位生成的隨機數(shù)序列的檢定容易通過。
并且,若使用用于生成3個以上的噪聲或信號并使其振蕩的振蕩器,則可從乘法電路得到包含更復(fù)雜的信號的輸出,從而由更上位的位生成的隨機數(shù)序列的檢定容易通過。
另外,如果如上所述用取和的方法、取差的方法、相乘的方法來結(jié)合用噪聲分別對多個信號進行調(diào)制后得到的信號,則可進一步使隨機數(shù)生成速度。
這樣,若可以使用最下位的位之上的多個位,則隨機數(shù)生成速度相應(yīng)于可使用的位數(shù)而加快。通常,在為了加快隨機數(shù)生成速度而使A/D轉(zhuǎn)換器的采樣頻率變成10倍時,費用也變成10倍,但在使用乘法電路的方法中,費用增加很少,所以實用化的優(yōu)點大。
作為乘法電路,可以使用專用的IC NJM1496。作為取和或取差的方法,可以使用運算放大器(例如741)。在以高頻率取和的情況下,可以向晶體管或FET的輸入直接加入多種噪聲或信號。
另外,上述相乘可使用乘法電路或包含非線性元件的混頻電路來執(zhí)行。這時從上述振蕩器產(chǎn)生的信號相互施加在上述非線性元件上,生成其他頻率的信號。使用乘法電路或混頻電路等來執(zhí)行乘法,從而在所生成的信號分量中包含所輸入的源信號各自的平方波、所輸入的源信號的和或差、所輸入的源信號本身等。結(jié)果,所生成的信號分量的隨機性比源信號還強。另外,上述混頻電路中包含的上述非線性元件除了2次方特性之外,還具有3次方特性及4次方特性。因此,生成當初不存在的多個信號分量,隨機性變得更強。
因此,在通過A/D轉(zhuǎn)換器生成隨機數(shù)時,可生成在所述A/D轉(zhuǎn)換器的上位比特之前通過檢定的隨機數(shù),從而可以實現(xiàn)隨機數(shù)的進一步高速化。
圖8是表示上述乘法電路的一個例子的電路圖,圖9是表示使用圖8所示的乘法電路生成隨機數(shù)時的檢定率的曲線圖。可知,利用圖8所示的乘法電路,可以在高次比特之前顯示出足夠的檢定通過率,從而生成隨機數(shù)。
另外,作為上述非線性元件,可舉出二極管或晶體管等,作為上述混頻電路,可舉出按B級或C級使上述非線性元件動作的電路等。另外,該B級或C級的動作記載于上述“電子電路”(櫻庭一郎著、森北出版)等中。
產(chǎn)業(yè)上的利用領(lǐng)域本發(fā)明的隨機數(shù)生成方法及隨機數(shù)生成裝置可用于社會現(xiàn)象或物理現(xiàn)象的數(shù)值仿真等中。另外,也可用作信息保護領(lǐng)域中的加密技術(shù)。
權(quán)利要求
1.一種隨機數(shù)生成方法,其特征在于,具有將來自規(guī)定的振蕩器的噪聲或信號輸入到A/D轉(zhuǎn)換器的步驟;通過向從所述A/D轉(zhuǎn)換器輸出的值分配“0”或“1”,形成2進制序列的步驟;和以規(guī)定的位數(shù)劃分所述2進制序列,生成n進制隨機數(shù)的步驟。
2.根據(jù)權(quán)利要求1所述的隨機數(shù)生成方法,其特征在于所述A/D轉(zhuǎn)換器的輸出是2進制,通過向所述輸出值的“0”分配“0”或“1”的數(shù)值、向所述輸出值的“1”分配“1”或“0”的數(shù)值,形成所述2進制序列。
3.根據(jù)權(quán)利要求1所述的隨機數(shù)生成方法,其特征在于所述A/D轉(zhuǎn)換器的輸出是m進制,其中m是4以上的偶數(shù),通過向所述輸出值的奇數(shù)值分配“0”或“1”的數(shù)值、向所述輸出值的偶數(shù)值分配“1”或“0”的數(shù)值,形成所述2進制序列。
4.根據(jù)權(quán)利要求1所述的隨機數(shù)生成方法,其特征在于所述A/D轉(zhuǎn)換器的輸出是m進制,其中m是3以上的奇數(shù),利用所述輸出值的從“0”到“m-2”的數(shù)值,如果所述數(shù)值是奇數(shù)值,則分配“0”或“1”的數(shù)值,如果所述數(shù)值是偶數(shù)值,則分配“1”或“0”的數(shù)值,從而形成所述2進制序列。
5.根據(jù)權(quán)利要求1所述的隨機數(shù)生成方法,其特征在于所述A/D轉(zhuǎn)換器的輸出是m進制,其中m是3以上的奇數(shù),利用所述輸出值的從“1”到“m-1”的數(shù)值,如果所述數(shù)值是奇數(shù)值,則分配“0”或“1”的數(shù)值,如果所述數(shù)值是偶數(shù)值,則分配“1”或“0”的數(shù)值,從而形成所述2進制序列。
6.根據(jù)權(quán)利要求1~5中任意一項所述的隨機數(shù)生成方法,其特征在于來自所述A/D轉(zhuǎn)換器的輸出值使用通過A/D轉(zhuǎn)換得到的最下位比特。
7.根據(jù)權(quán)利要求1~5中任意一項所述的隨機數(shù)生成方法,其特征在于來自所述A/D轉(zhuǎn)換器的輸出值使用通過A/D轉(zhuǎn)換得到的多個比特,并且使用對應(yīng)的每個比特的、隨著時間經(jīng)過得到的變動值。
8.根據(jù)權(quán)利要求7所述的隨機數(shù)生成方法,其特征在于在所述多個比特的整體上結(jié)合根據(jù)所述對應(yīng)的每個比特的所述變動值得到的2進制序列,根據(jù)通過該結(jié)合得到的2進制序列,生成所述n進制隨機數(shù)。
9.根據(jù)權(quán)利要求1~8中任意一項所述的隨機數(shù)生成方法,其特征在于所述振蕩器是多個振蕩器,結(jié)合來自各振蕩器的輸出,輸入到所述A/D轉(zhuǎn)換器。
10.根據(jù)權(quán)利要求9所述的隨機數(shù)生成方法,其特征在于所述輸出的結(jié)合使用取和的方法、取差的方法以及相乘的方法中的至少一種方法來執(zhí)行。
11.根據(jù)權(quán)利要求10所述的隨機數(shù)生成方法,其特征在于所述相乘使用包含乘法電路或非線性元件的混頻電路來執(zhí)行。
12.根據(jù)權(quán)利要求1~8中任意一項所述的隨機數(shù)生成方法,其特征在于所述振蕩器生成三角波、正弦波、散粒噪聲以及D/A轉(zhuǎn)換器輸出中的至少一種。
13.根據(jù)權(quán)利要求12所述的隨機數(shù)生成方法,其特征在于所述三角波、所述正弦波、所述散粒噪聲以及所述D/A轉(zhuǎn)換器輸出經(jīng)過微分電路以及高通濾波器中的至少一個后,輸入到所述A/D轉(zhuǎn)換器。
14.根據(jù)權(quán)利要求1~13中任意一項所述的隨機數(shù)生成方法,其特征在于向所述信號附加頻率、相位以及振幅中至少一種的調(diào)制。
15.一種隨機數(shù)生成裝置,其特征在于,具備振蕩器,用于生成規(guī)定的噪聲或信號并使其振蕩;A/D轉(zhuǎn)換器,用于對所述噪聲或所述信號進行A/D轉(zhuǎn)換;和計算機,通過向從所述A/D轉(zhuǎn)換器輸出的值分配“0”或“1”,形成2進制序列,然后以規(guī)定的位數(shù)劃分所述2進制序列,生成n進制隨機數(shù)。
16.根據(jù)權(quán)利要求15所述的隨機數(shù)生成裝置,其特征在于所述A/D轉(zhuǎn)換器的輸出是2進制,在所述計算機中,通過向所述輸出值的“0”分配“0”或“1”的數(shù)值、向所述輸出值的“1”分配“1”或“0”的數(shù)值,形成所述2進制序列。
17.根據(jù)權(quán)利要求15所述的隨機數(shù)生成裝置,其特征在于所述A/D轉(zhuǎn)換器的輸出是m進制,其中m是4以上的偶數(shù),在所述計算機中,通過向所述輸出值的奇數(shù)值分配“0”或“1”的數(shù)值、向所述輸出值的偶數(shù)值分配“1”或“0”的數(shù)值,形成所述2進制序列。
18.根據(jù)權(quán)利要求15所述的隨機數(shù)生成裝置,其特征在于所述A/D轉(zhuǎn)換器的輸出是m進制,其中m是3以上的奇數(shù),在所述計算機中,利用所述輸出值的從“0”到“m-2”的數(shù)值,如果所述數(shù)值是奇數(shù)值,則分配“0”或“1”的數(shù)值,如果所述數(shù)值是偶數(shù)值,則分配“1”或“0”的數(shù)值,從而形成所述2進制序列。
19.根據(jù)權(quán)利要求15所述的隨機數(shù)生成裝置,其特征在于所述A/D轉(zhuǎn)換器的輸出是m進制,其中m是3以上的奇數(shù),在所述計算機中,利用所述輸出值的從“1”到“m-1”的數(shù)值,如果所述數(shù)值是奇數(shù)值,則分配“0”或“1”的數(shù)值,如果所述數(shù)值是偶數(shù)值,則分配“1”或“0”的數(shù)值,從而形成所述2進制序列。
20.根據(jù)權(quán)利要求15~19中任意一項所述的隨機數(shù)生成裝置,其特征在于來自所述A/D轉(zhuǎn)換器的輸出值使用通過A/D轉(zhuǎn)換得到的最下位比特。
21.根據(jù)權(quán)利要求15~20中任意一項所述的隨機數(shù)生成裝置,其特征在于來自所述A/D轉(zhuǎn)換器的輸出值使用通過A/D轉(zhuǎn)換得到的多個比特,并且使用對應(yīng)的每個比特的、隨著時間經(jīng)過得到的變動值。
22.根據(jù)權(quán)利要求21所述的隨機數(shù)生成裝置,其特征在于在所述多個比特的整體上結(jié)合根據(jù)所述對應(yīng)的每個比特的所述變動值得到的2進制序列,根據(jù)通過該結(jié)合得到的2進制序列,生成所述n進制隨機數(shù)。
23.根據(jù)權(quán)利要求15~22中任意一項所述的隨機數(shù)生成裝置,其特征在于所述振蕩器是多個振蕩器,結(jié)合來自各振蕩器的輸出,輸入到所述A/D轉(zhuǎn)換器。
24.根據(jù)權(quán)利要求23所述的隨機數(shù)生成裝置,其特征在于所述輸出的結(jié)合使用取和的方法、取差的方法以及相乘的方法中的至少一種方法來執(zhí)行。
25.根據(jù)權(quán)利要求24所述的隨機數(shù)生成裝置,其特征在于所述相乘使用包含非線性元件的混頻電路來執(zhí)行。
26.根據(jù)權(quán)利要求15~22中任意一項所述的隨機數(shù)生成裝置,其特征在于所述振蕩器生成三角波、正弦波、散粒噪聲以及D/A轉(zhuǎn)換器輸出中的至少一種。
27.根據(jù)權(quán)利要求26所述的隨機數(shù)生成裝置,其特征在于所述三角波、所述正弦波、所述散粒噪聲以及所述D/A轉(zhuǎn)換器輸出經(jīng)過微分電路以及高通濾波器中的至少一個后,輸入到所述A/D轉(zhuǎn)換器。
28.根據(jù)權(quán)利要求15~27中任意一項所述的隨機數(shù)生成裝置,其特征在于向所述信號附加頻率、相位以及振幅中至少一種的調(diào)制。
全文摘要
本發(fā)明提供了一種隨機數(shù)生成方法及隨機數(shù)生成裝置,可以使用具有廉價且簡易結(jié)構(gòu)的裝置,產(chǎn)生無秩序的隨機數(shù)。其中,將來自規(guī)定的振蕩器的噪聲或信號輸入到A/D轉(zhuǎn)換器。接著,通過向從所述A/D轉(zhuǎn)換器輸出的值分配“0”或“1”,形成2進制序列。接著,以規(guī)定的位數(shù)劃分所述2進制序列,生成n進制隨機數(shù)。
文檔編號H03K3/00GK1879080SQ20058000084
公開日2006年12月13日 申請日期2005年11月10日 優(yōu)先權(quán)日2004年11月18日
發(fā)明者齊藤義明, 茂呂友子 申請人:株式會社新瀉Tlo