專利名稱:隨機(jī)數(shù)生成電路的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種生成用于數(shù)據(jù)加密等的隨機(jī)數(shù)的隨機(jī)數(shù)生成電路。
背景技術(shù):
近年,各種信息處理系統(tǒng)中,進(jìn)行數(shù)據(jù)加密。在加密中,為了提高安全性,多使用隨機(jī)數(shù)。作為這樣的隨機(jī)數(shù)有例如,使用線性反饋移位寄存器,可以生成的M序列(Maximum length code)等偽隨機(jī)數(shù)。另外,作為M序列等偽隨機(jī)數(shù)以外的隨機(jī)數(shù),眾所周知,利用原子核衰變現(xiàn)象為隨機(jī)事件和電氣噪聲等的自然現(xiàn)象的物理隨機(jī)數(shù),加密中也可以利用物理隨機(jī)數(shù)(例如,專利文獻(xiàn)1)。此外,通過(guò)組合由線性反饋移位寄存器生成的M序列等偽隨機(jī)數(shù)和物理隨機(jī)數(shù),可以提高隨機(jī)數(shù)的預(yù)測(cè)困難性(例如,專利文獻(xiàn)2)。
專利文獻(xiàn)1特開(kāi)2000-66592號(hào)公報(bào);專利文獻(xiàn)2特開(kāi)2004-157168號(hào)公報(bào)。
但是,M序列等偽隨機(jī)數(shù),由于是由一定的算術(shù)過(guò)程或者函數(shù)的組合生成的,如果賦予相同的初期條件,就會(huì)變?yōu)橄嗤闹?,預(yù)測(cè)隨機(jī)數(shù)是可能的。因此,加密中使用M序列等偽隨機(jī)數(shù)時(shí),不能說(shuō)安全性是充分的。
另外,使用晶體管噪音作為生成“0”和“1”的物理隨機(jī)數(shù)時(shí),通常,“0”的發(fā)生概率為45~55%的范圍,“0”和“1”的發(fā)生頻率差大,不能用作隨機(jī)數(shù)。另外,由于通常物理隨機(jī)數(shù)是微弱的信號(hào),用于加密時(shí),使用放大器放大到可以被加密利用的電平的很多。這樣使用放大器放大的物理隨機(jī)數(shù)有時(shí)受電場(chǎng)和磁場(chǎng)的影響。因此,有時(shí)通過(guò)由來(lái)自外部的影響,使電場(chǎng)和磁場(chǎng)變化,操縱隨機(jī)數(shù),降低了安全性。
另外,在專利文獻(xiàn)2中公開(kāi)的隨機(jī)數(shù)生成裝置中,事先規(guī)定M序列中的抽頭位置,構(gòu)成對(duì)應(yīng)于線性反饋移位寄存器的抽頭位置的位進(jìn)行異或邏輯運(yùn)算的電路。因此,構(gòu)成隨機(jī)數(shù)生成裝置后,不能更改其抽頭位置,不能說(shuō)安全性是充分的。
發(fā)明內(nèi)容
本發(fā)明是根據(jù)上述課題作出,其目的在于可以提供生成安全、預(yù)測(cè)困難的隨機(jī)數(shù)的隨機(jī)數(shù)生成電路。
為了實(shí)現(xiàn)上述目的,本發(fā)明的隨機(jī)數(shù)生成電路可以具備生成偽隨機(jī)數(shù)序列偽隨機(jī)數(shù)的偽隨機(jī)數(shù)生成電路;生成物理隨機(jī)數(shù)的物理隨機(jī)數(shù)生成電路;根據(jù)由上述偽隨機(jī)數(shù)生成電路生成的偽隨機(jī)數(shù),變化輸出由上述物理隨機(jī)數(shù)生成電路生成的物理隨機(jī)數(shù)的調(diào)制電路。
另外,本發(fā)明的隨機(jī)數(shù)生成電路具備生成多個(gè)偽隨機(jī)數(shù)序列偽隨機(jī)數(shù)的偽隨機(jī)數(shù)生成電路;和生成物理隨機(jī)數(shù)的物理隨機(jī)數(shù)生成電路,上述偽隨機(jī)數(shù)生成電路可以根據(jù)由上述物理隨機(jī)數(shù)生成電路生成的物理隨機(jī)數(shù),切換上述偽隨機(jī)數(shù)生成電路生成的偽隨機(jī)數(shù)序列。
另外,本發(fā)明的隨機(jī)數(shù)生成電路可以具備生成偽隨機(jī)數(shù)序列偽隨機(jī)數(shù)的線性反饋移位寄存器;存儲(chǔ)偽隨機(jī)數(shù)序列中的抽頭位置的寄存器;和根據(jù)存儲(chǔ)在上述線性反饋移位寄存器中的數(shù)據(jù),和存儲(chǔ)在上述寄存器中的抽頭位置,生成向上述線性反饋移位寄存器發(fā)出反饋信號(hào)的反饋信號(hào)生成電路。
另外,本發(fā)明的隨機(jī)數(shù)生成電路可以具備生成偽隨機(jī)數(shù)序列偽隨機(jī)數(shù)的線性反饋移位寄存器;存儲(chǔ)多個(gè)偽隨機(jī)數(shù)序列中的每個(gè)抽頭位置的多個(gè)寄存器;接收表示使用上述多個(gè)偽隨機(jī)數(shù)序列中的哪個(gè)偽隨機(jī)數(shù)序列的選擇信號(hào),根據(jù)該選擇信號(hào),選擇上述多個(gè)寄存器中的哪一個(gè)的選擇電路;以及根據(jù)存儲(chǔ)在上述線性反饋移位寄存器中的數(shù)據(jù),和存儲(chǔ)在由上述選擇電路選擇的寄存器中的抽頭位置,生成向上述線性反饋移位寄存器發(fā)出反饋信號(hào)的反饋信號(hào)生成電路。
可以生成安全、預(yù)測(cè)困難的隨機(jī)數(shù)。
圖1是表示作為使用本發(fā)明的隨機(jī)數(shù)生成電路的一個(gè)實(shí)施方式的進(jìn)行汽車鎖的加鎖、解鎖的無(wú)鑰匙進(jìn)入系統(tǒng)的整體構(gòu)成的圖。
圖2是表示數(shù)據(jù)處理電路構(gòu)成的圖。
圖3是表示無(wú)鑰匙進(jìn)入系統(tǒng)的子機(jī)和主機(jī)之間中的通信過(guò)程的流程圖。
圖4是表示隨機(jī)數(shù)生成電路構(gòu)成的圖。
圖5是表示物理隨機(jī)數(shù)生成電路70的構(gòu)成的圖。
圖6是表示隨機(jī)數(shù)生成電路中的時(shí)間圖。
圖7是表示物理隨機(jī)數(shù)和偽隨機(jī)數(shù)發(fā)生概率的圖。
圖中1-無(wú)鑰匙進(jìn)入系統(tǒng),2-子機(jī),3-主機(jī),11-電池,12-操作開(kāi)關(guān),13、21-數(shù)據(jù)處理電路,14、22-接收發(fā)送電路,23-驅(qū)動(dòng)電路,24-執(zhí)行器,25-電池,51A、51B-CPU,52A、52B-RAM,53A、53B-EEPROM,54A、54B-隨機(jī)數(shù)生成電路,55A、55B-加密處理電路,56A、56B-輸入輸出端口,61-分頻電路,62-波特率發(fā)生器,63-計(jì)數(shù)器,64-移位寄存器,65-掩碼A寄存器,66-掩碼B寄存器,67-多路轉(zhuǎn)接器,68-AND電路,69-奇偶發(fā)生器,70-物理隨機(jī)數(shù)生成電路,71-OR電路,72-D型觸發(fā)器,73-AND電路,74-OR電路,75-EXOR電路,76-多路轉(zhuǎn)接器,77-移位寄存器,具體實(shí)施方式
圖1是表示對(duì)作為使用本發(fā)明隨機(jī)數(shù)生成電路的一個(gè)實(shí)施方式的汽車的鎖進(jìn)行加鎖/解鎖的無(wú)鑰匙進(jìn)入系統(tǒng)1的整體構(gòu)成的圖。無(wú)鑰匙進(jìn)入系統(tǒng)1包含攜帶型的子機(jī)2和裝載在汽車等上的主機(jī)3而構(gòu)成。子機(jī)2被設(shè)置在例如,插入汽車的門鎖和舵輪鎖的鑰匙孔的鑰匙的方向盤部等。另外,主機(jī)3被設(shè)置在汽車方面。
子機(jī)2具備電池11,操作開(kāi)關(guān)12,數(shù)據(jù)處理電路13,和接收發(fā)送電路14。電池11用于向子機(jī)2各部分提供動(dòng)作所需要的電力。操作開(kāi)關(guān)12是接收來(lái)自使用者的加鎖、解鎖的指示的開(kāi)關(guān)。數(shù)據(jù)處理電路13進(jìn)行加鎖、解鎖時(shí)需要的認(rèn)證用數(shù)據(jù)的生成等。接收發(fā)送電路14是將由數(shù)據(jù)處理電路13輸出的數(shù)字?jǐn)?shù)據(jù)轉(zhuǎn)換為模擬數(shù)據(jù),并將其放大作為電磁波發(fā)送的電路。另外,接收發(fā)送電路14也可以接收由主機(jī)3發(fā)送的電磁波,將其轉(zhuǎn)換為數(shù)字?jǐn)?shù)據(jù),輸入到數(shù)據(jù)處理電路13。并且,作為電磁波,能使用電波或紅外線。
主機(jī)3具備數(shù)據(jù)處理電路21,接收發(fā)送電路22,和驅(qū)動(dòng)電路23。數(shù)據(jù)處理電路21進(jìn)行根據(jù)從子機(jī)2接收的認(rèn)證用的數(shù)據(jù)的認(rèn)證處理等。接收發(fā)送電路22是接收由子機(jī)2發(fā)送的電磁波,將其轉(zhuǎn)換為數(shù)字?jǐn)?shù)據(jù),輸入到數(shù)據(jù)處理電路22的電路。另外,接收發(fā)送電路22也可以將由數(shù)據(jù)處理電路21輸出的數(shù)字?jǐn)?shù)據(jù)轉(zhuǎn)換為模擬數(shù)據(jù),將其放大,作為電磁波發(fā)送。驅(qū)動(dòng)電路23是讓發(fā)送驅(qū)動(dòng)信號(hào)到對(duì)汽車鎖加鎖、解鎖的鎖機(jī)構(gòu)動(dòng)作的執(zhí)行器24的電路。并且,由汽車的電池25向主機(jī)2的各部分21~23提供電力。
==數(shù)據(jù)處理電路的構(gòu)成==圖2是表示數(shù)據(jù)處理電路13構(gòu)成的圖。數(shù)據(jù)處理電路13具備CPU51A,RAM(Random Access Memory)52A,EEPROM(ElectricallyErasable Programmable Read-Only Memory)53A,隨機(jī)數(shù)生成電路54A,加密處理電路55A,和輸入輸出端口56A。并且,各部分51A~56A由總線57A相互可以通信地連接。
CPU51A是控制數(shù)據(jù)處理電路13整體的部分。CPU51A使用的操作用數(shù)據(jù)等存儲(chǔ)在RAM52A中。EEPROM53A是可改寫的非易失性存儲(chǔ)器,存儲(chǔ)程序和保存用數(shù)據(jù)等。隨機(jī)數(shù)生成電路54A是生成加密處理中使用的隨機(jī)數(shù)的電路。加密處理電路55A是進(jìn)行公匙分組加密方式中的轉(zhuǎn)置或者置換等的處理的電路。輸入輸出端口56A是用于和位于數(shù)據(jù)處理電路13外部的操作開(kāi)關(guān)12或接收發(fā)送電路14等進(jìn)行數(shù)據(jù)接收發(fā)送的接口。
并且,在本實(shí)施方式中,采用DES(Data Encryption Standard)作為公匙分組加密方式。在這樣的數(shù)據(jù)處理電路13中,通過(guò)程序的執(zhí)行和加密處理電路55A的控制等,進(jìn)行DES的加密或者解密處理。并且,數(shù)據(jù)處理電路21也是一樣的構(gòu)成,具備CPU51B,RAM52B,EEPROM53B,隨機(jī)數(shù)生成電路54B,加密處理電路55B,輸入輸出端口56B,和將各部分51B~56B相互可以通信地連接的總線57B。
==通信過(guò)程==圖3是表示無(wú)鑰匙進(jìn)入系統(tǒng)1的子機(jī)2和主機(jī)3之間的通信過(guò)程的流程圖。首先,通過(guò)子機(jī)2的操作開(kāi)關(guān)12的操作等,起動(dòng)發(fā)送處理(S301)。子機(jī)2的數(shù)據(jù)處理電路13向主機(jī)3發(fā)送存儲(chǔ)在EEPROM53A中的車輛號(hào)碼(車體號(hào)碼)(S302)。主機(jī)3的數(shù)據(jù)處理電路21,等待由子機(jī)2發(fā)送來(lái)的車輛號(hào)碼(S303),如果接收由子機(jī)2發(fā)送來(lái)的車輛號(hào)碼,將該車輛號(hào)碼與存儲(chǔ)在EEPROM53B中的車輛號(hào)碼比較(S304)。
車輛號(hào)碼不一致時(shí)(S304NG),主機(jī)3的數(shù)據(jù)處理電路21,判斷不同汽車的車輛號(hào)碼被發(fā)送來(lái),返回接收待機(jī)處理(S303)。如果車輛號(hào)碼一致(S304OK),數(shù)據(jù)處理電路21,使用隨機(jī)數(shù)生成電路54B,生成是64位隨機(jī)數(shù)的暫時(shí)密匙R(shí)0(S305)。并且,數(shù)據(jù)處理電路21使用該暫時(shí)密匙R(shí)0,存儲(chǔ)在EEPROM53B中的公匙K,由DES加密發(fā)送到子機(jī)2上(S306)。
子機(jī)2的數(shù)據(jù)處理電路13如果接收由主機(jī)3發(fā)送來(lái)的加密后的暫時(shí)密匙R(shí)0,用存儲(chǔ)在EEPROM53A中的公匙K,解密暫時(shí)密匙R(shí)0(S307)。接著,數(shù)據(jù)處理電路13使用隨機(jī)數(shù)生成電路54A生成是64位隨機(jī)數(shù)的暫時(shí)密匙R(shí)1(S308)。并且,數(shù)據(jù)處理電路13,使用由主機(jī)13接收的該暫時(shí)密匙R(shí)1,由主機(jī)3接收暫時(shí)密匙R(shí)0,由DES加密發(fā)送到主機(jī)3(S309)。主機(jī)3的數(shù)據(jù)處理電路21如果接收由子機(jī)2發(fā)送來(lái)的加密后的暫時(shí)密匙R(shí)1,使用暫時(shí)密匙R(shí)0,解密暫時(shí)密匙R(shí)1(S310)。
然后,子機(jī)2的數(shù)據(jù)處理電路13,將加鎖、解鎖指示等信息數(shù)據(jù)使用暫時(shí)密匙R(shí)1,由DES加密發(fā)送到主機(jī)3(S311)。主機(jī)3的數(shù)據(jù)處理電路21如果接收由子機(jī)2發(fā)送來(lái)的加密后的信息數(shù)據(jù),使用暫時(shí)密匙R(shí)1解密信息數(shù)據(jù)(S312)。并且,數(shù)據(jù)處理電路21,根據(jù)信息數(shù)據(jù),例如,通過(guò)驅(qū)動(dòng)電路23,向執(zhí)行器24發(fā)送加鎖、解鎖指示信號(hào)。
這樣,在無(wú)鑰匙進(jìn)入系統(tǒng)1中,使用子機(jī)2和主機(jī)3中的隨機(jī)數(shù)生成電路54A、54B生成暫時(shí)密匙,通過(guò)反復(fù)進(jìn)行由DES產(chǎn)生的加密和解密的處理,提高安全強(qiáng)度。
==隨機(jī)數(shù)生成電路的構(gòu)成==本實(shí)施方式中,在用圖3說(shuō)明的加密和解密處理中的隨機(jī)數(shù)生成處理中,使用了隨機(jī)數(shù)生成電路54A、54B。由于隨機(jī)數(shù)生成電路54A和隨機(jī)數(shù)生成電路54B是一樣的構(gòu)成,下面,對(duì)隨機(jī)數(shù)生成電路54A進(jìn)行說(shuō)明。
圖4是表示隨機(jī)數(shù)生成電路54A構(gòu)成的圖。隨機(jī)數(shù)生成電路54A具備分頻電路61,波特率發(fā)生器62,計(jì)數(shù)器63,移位寄存器64,掩碼A寄存器65,掩碼B寄存器66,多路轉(zhuǎn)接器67,AND電路68,奇偶發(fā)生器69,物理隨機(jī)數(shù)生成電路70,OR電路71,D型觸發(fā)器(以后,稱為”D-FF”)72,AND電路73,OR電路74,EXOR電路75,多路轉(zhuǎn)接器76,和移位寄存器77。并且,移位寄存器64,掩碼A寄存器65,掩碼B寄存器66,和移位寄存器77連接在總線57A上。
分頻電路61是將數(shù)據(jù)處理電路13中的例如6MHz的系統(tǒng)時(shí)鐘(Sys clk)分頻為4分之1的電路。另外,波特率發(fā)生器62是可以設(shè)定例如8位寄存器中分頻值的電路。并且,通過(guò)計(jì)數(shù)器63,將由分頻電路61輸出的時(shí)鐘,根據(jù)波特率發(fā)生器62中設(shè)定的分頻值,進(jìn)行計(jì)數(shù),輸出隨機(jī)數(shù)生成電路54A的時(shí)鐘脈沖頻率(RCLK)。
移位寄存器64是例如32位(Q0~Q31)線性反饋移位寄存器,向時(shí)鐘輸入(C)輸入時(shí)鐘脈沖頻率(RCLK),反饋信號(hào)(F)輸入到第1位(Q0)的數(shù)據(jù)輸入端子(D)。并且,移位寄存器64的初始值由CPU51A通過(guò)總線57A設(shè)定。
掩碼A寄存器65是例如32位(AQ0~AQ31)寄存器,是存儲(chǔ)在由移位寄存器64生成M序列偽隨機(jī)數(shù)時(shí)的抽頭位置的元件。例如,使用移位寄存器64,生成4位的M序列時(shí),可以根據(jù)例如原始多項(xiàng)式X4+X+1,由下式(1)求出反饋信號(hào)(F)。
數(shù)1F=Q2Q3…(1)換句話說(shuō),此時(shí),抽頭位置是第3位和第4位,掩碼A寄存器65的第3位(AQ2)和第4位(AQ3)被設(shè)定為例如“1”,掩碼A寄存器65的其他位被設(shè)置為例如“0”。
同樣,掩碼B寄存器66是例如32位(BQ0~BQ31)寄存器,是存儲(chǔ)和掩碼A寄存器65不同的抽頭位置的元件。例如,在使用移位寄存器64,生成與上述的不同的4位的M序列時(shí),可以根據(jù)例如原始多項(xiàng)式X4+X3+1,由下式(2)求出反饋信號(hào)(F)。
數(shù)2F=Q0Q3…(2)換句話說(shuō),此時(shí),抽頭位置是第1位和第4位,掩碼B寄存器66的第1位(BQ0)和第4位(BQ3)被設(shè)定為例如“1”,掩碼B寄存器66的其他位被設(shè)置為例如“0”。并且,掩碼A寄存器65和掩碼B寄存器66的值,由CPU51A,通過(guò)總線57A設(shè)定。
掩碼A寄存器65的值(AQ0~AQ31)和掩碼B寄存器66的值(BQ0~BQ31)被輸入到多路轉(zhuǎn)接器67中,選擇信號(hào)(SEL)為例如”0”時(shí),輸出A側(cè)(AQ0~AQ31),選擇信號(hào)(SEL)為例如”1”時(shí),輸出B側(cè)(BQ0~BQ31)。
AND電路68(68-0~68-31)是對(duì)移位寄存器64的值(Q0~Q31),由多路轉(zhuǎn)接器67輸出的掩碼A寄存器65的值(AQ0~AQ31)或者掩碼B寄存器66的值(BQ0~BQ31)的,每一位進(jìn)行邏輯或運(yùn)算的電路。換句話說(shuō),由AND電路68,移位寄存器64的值(Q0~Q31)中,向?qū)?yīng)抽頭位置的位,輸出存儲(chǔ)在此位中的值,除此以外的位輸出”0”。
奇偶發(fā)生器69是對(duì)由AND電路68輸出的值進(jìn)行異或邏輯運(yùn)算的電路。換句話說(shuō),由多路轉(zhuǎn)接器67輸出掩碼A寄存器65的值(AQ0~AQ31)時(shí),如下式(3)所示,由奇偶發(fā)生器69輸出的值成為,生成對(duì)應(yīng)設(shè)定在掩碼A寄存器65中的抽頭位置的M序列情況中的,向移位寄存器64的反饋信號(hào)(F)。
數(shù)3F=Q0·AQ0Q1·AQ1…Q31·AQ31…(3)同樣,由多路轉(zhuǎn)接器67輸出掩碼B寄存器66的值(BQ0~BQ31)時(shí),如下式(4)所示,由奇偶發(fā)生器69輸出的值,成為生成對(duì)應(yīng)設(shè)定在掩碼B寄存器66中的抽頭位置的M序列情況中的,向移位寄存器64的反饋信號(hào)(F)。
數(shù)4F=Q0·BQ0Q1·BQ1…Q31·BQ31…(4)另外,本實(shí)施方式中,由奇偶發(fā)生器69輸出的反饋信號(hào)(F)作為M序列偽隨機(jī)數(shù)(PSRPseudo random numbers)使用。
物理隨機(jī)數(shù)生成電路70是生成物理隨機(jī)數(shù)(PHRPhysical randomnumbers)的電路。圖5表示物理隨機(jī)數(shù)生成電路70的構(gòu)成。物理隨機(jī)數(shù)生成電路70具備物理隨機(jī)數(shù)發(fā)生源81,放大電路82,和二進(jìn)制編碼電路83。物理隨機(jī)數(shù)發(fā)生源81是根據(jù)自然現(xiàn)象能夠產(chǎn)生隨機(jī)變化信號(hào)的元件,也可以作為包含例如,如專利文獻(xiàn)1所公開(kāi)的,在包含連接的電流路中參數(shù)的噪聲信號(hào)的半導(dǎo)體元件的。并且,不局限于此,也可以使用利用放射性物質(zhì)的衰變等,作為該物理隨機(jī)數(shù)發(fā)生源81。
由物理隨機(jī)數(shù)發(fā)生源81生成的信號(hào),在放大電路82中被放大,并在二進(jìn)制編碼電路83中進(jìn)行二進(jìn)制編碼處理。二進(jìn)制編碼電路83,比較由放大電路輸出的放大后的信號(hào)的振幅和規(guī)定的閾值,例如,放大后的信號(hào)的振幅比規(guī)定閾值高時(shí),輸出“1”,低時(shí),輸出“0”,作為物理隨機(jī)數(shù)(PHRPhysical random numbers)。并且,設(shè)置二進(jìn)制編碼電路83中的閾值的電平,以使“1”和“0”的發(fā)生概率變?yōu)榇蠹s45~55%。
OR電路71是對(duì)由物理隨機(jī)數(shù)生成電路70輸出的物理隨機(jī)數(shù)(PHR)和表示在隨機(jī)數(shù)生成電路54A中是否使用物理隨機(jī)數(shù)的選擇信號(hào)(MODE1)進(jìn)行邏輯或運(yùn)算的電路。在本實(shí)施方式中,選擇信號(hào)(MODE1)為“0”時(shí)稱為計(jì)數(shù)器模式,為“1”時(shí)稱為CPU模式。計(jì)數(shù)器模式時(shí),由OR電路71輸出的信號(hào),變?yōu)橛晌锢黼S機(jī)數(shù)生成電路70輸出的物理隨機(jī)數(shù)(PHR),在其他電路中,變?yōu)槲锢黼S機(jī)數(shù)(PHR)被使用。另一方面,CPU模式時(shí),由于由OR電路71輸出的信號(hào)總是“1”,在其他電路中,變?yōu)槲锢黼S機(jī)數(shù)(PHR)不被使用。
D-FF72的數(shù)據(jù)輸入端子(D)輸入由OR電路71輸出的信號(hào)。換句話說(shuō),計(jì)數(shù)器模式時(shí),變?yōu)橄駾-FF72的數(shù)據(jù)輸入端子(D)輸入物理隨機(jī)數(shù)(PHR)。另外,向D-FF72的時(shí)鐘輸入端子(C)輸入時(shí)鐘脈沖頻率(RCLK)。并且,輸入到D~FF72的數(shù)據(jù)輸入端子(D)的物理隨機(jī)數(shù)(PHR),在時(shí)鐘脈沖頻率(RCLK)上升沿時(shí),作為物理隨機(jī)數(shù)(PHRQ),從數(shù)據(jù)輸出端子(Q)輸出。
AND電路73是對(duì)由D-FF72輸出的物理隨機(jī)數(shù)(PHRQ),和選擇隨機(jī)數(shù)生成電路54A中的工作模式的選擇信號(hào)(MODE0)進(jìn)行邏輯與運(yùn)算,向多路轉(zhuǎn)接器67輸出選擇信號(hào)(SEL)的電路。在本實(shí)施方式中,選擇信號(hào)(MODE0)為“0”時(shí),稱為乘法模式,為“1”時(shí)稱為跳躍模式。所謂乘法模式是根據(jù)M序列偽隨機(jī)數(shù),變化/輸出物理隨機(jī)數(shù)的模式,所謂跳躍模式是根據(jù)物理隨機(jī)數(shù),切換、輸出M序列的模式。
乘法模式時(shí),由AND電路73輸出的選擇信號(hào)(SEL)總是為“0”。換句話說(shuō),乘法模式時(shí),多路轉(zhuǎn)接器67輸出掩碼A寄存器65的值(AQ0~AQ31)。跳躍模式時(shí),由AND電路73輸出的選擇信號(hào)(SEL),變?yōu)橛蒁-FF72輸出的物理隨機(jī)數(shù)(PHRQ)。換句話說(shuō),跳躍模式時(shí),多路轉(zhuǎn)接器67根據(jù)物理隨機(jī)數(shù)(PHRQ),輸出掩碼A寄存器65的值(AQ0~AQ31)或者掩碼B寄存器66的值(BQ0~BQ31)。
OR電路74是對(duì)由D-FF72輸出的物理隨機(jī)數(shù)(PHRQ),和操作選擇信號(hào)(MODE0)進(jìn)行邏輯或運(yùn)算的電路。換句話說(shuō),乘法模式時(shí),由OR電路74輸出的信號(hào)成為物理隨機(jī)數(shù)(PHRQ),跳躍模式時(shí),無(wú)論物理隨機(jī)數(shù)(PHRQ)總是變?yōu)椤?”。
EXOR電路75是對(duì)由奇偶發(fā)生器69輸出的偽隨機(jī)數(shù)(PSR),和由OR電路74輸出的信號(hào)進(jìn)行異或邏輯運(yùn)算,輸出隨機(jī)數(shù)(R)的電路。
將時(shí)鐘脈沖頻率(RCLK)翻轉(zhuǎn)后的時(shí)鐘(/RCLK),和來(lái)自CPU51A的讀出信號(hào)(CPU_RD)輸入到多路轉(zhuǎn)接器76。并且,多路轉(zhuǎn)接器76,在選擇信號(hào)(MODE1)為計(jì)數(shù)器模式時(shí),輸出時(shí)鐘(/RCLK),在CPU模式時(shí),輸出讀出信號(hào)(CPU_RD)。
移位寄存器77是例如8位的線性移位寄存器,由EXOR電路75輸出的隨機(jī)數(shù)(R)被輸入到數(shù)據(jù)輸入端子(D),由多路轉(zhuǎn)接器76輸出的時(shí)鐘信號(hào)(/RCLK)或者讀出信號(hào)(CPU_RD)被輸入到時(shí)鐘輸入端子(C)。
并且,在本實(shí)施方式中,由移位寄存器64,掩碼A寄存器65,掩碼B寄存器66,多路轉(zhuǎn)接器67,AND電路68,和奇偶發(fā)生器69構(gòu)成本發(fā)明的偽隨機(jī)數(shù)生成電路,由EXOR電路75構(gòu)成調(diào)制電路。另外,在本實(shí)施方式中,由多路轉(zhuǎn)接器67構(gòu)成本發(fā)明的選擇電路,由AND電路68和奇偶發(fā)生器69構(gòu)成本發(fā)明的反饋信號(hào)生成電路。
==隨機(jī)數(shù)生成電路的動(dòng)作說(shuō)明==下面,對(duì)隨機(jī)數(shù)生成電路54A的動(dòng)作進(jìn)行說(shuō)明。
(1)乘法模式首先,對(duì)計(jì)數(shù)器模式中,動(dòng)作模式為乘法模式時(shí)的動(dòng)作進(jìn)行說(shuō)明。乘法模式時(shí),由AND電路73輸出的選擇信號(hào)(SEL)總是“0”,掩碼A寄存器65的值(AQ0~AQ31)由多路轉(zhuǎn)接器67輸出。并且,對(duì)移位寄存器64的值(Q0~Q31),和掩碼A寄存器65的值(AQ0~AQ31)進(jìn)行邏輯與運(yùn)算的結(jié)果由AND電路68輸出,由奇偶發(fā)生器69進(jìn)行其異或邏輯運(yùn)算,生成對(duì)移位寄存器64的反饋信號(hào)(F)。另外,由奇偶發(fā)生器69輸出的信號(hào),作為偽隨機(jī)數(shù)(PSR),輸入到EXOR電路75。該偽隨機(jī)數(shù)(PSR)成為對(duì)應(yīng)設(shè)定在掩碼A寄存器65中的抽頭位置的M序列偽隨機(jī)數(shù)。
EXOR電路75對(duì)偽隨機(jī)數(shù)(PSR),和由OR電路74輸出的物理隨機(jī)數(shù)(PHRQ)進(jìn)行異或邏輯運(yùn)算,將隨機(jī)數(shù)(R)輸出到移位寄存器77。并且,通過(guò)多路轉(zhuǎn)接器76,將時(shí)鐘(/RCLK)輸入到移位寄存器77的時(shí)鐘輸入端子(C)。
圖6是表示各信號(hào)的輸出時(shí)間的時(shí)間圖。如圖所示,在時(shí)鐘脈沖頻率(RCLK)的上升沿時(shí)(例如時(shí)刻t1),生成物理隨機(jī)數(shù)(PHRQ),和偽隨機(jī)數(shù)(PSR),此外,生成對(duì)它們進(jìn)行異或邏輯運(yùn)算的隨機(jī)數(shù)(R)。并且,在時(shí)鐘脈沖頻率(RCLK)的下降沿時(shí),換句話說(shuō),在時(shí)鐘(/RCLK)的上升沿時(shí)(例如時(shí)刻t2),隨機(jī)數(shù)(R)被放置于移位寄存器77中。
并且,移位寄存器77如果存儲(chǔ)8位由EXOR電路75輸出的隨機(jī)數(shù)(R),向CPU51A發(fā)送插入信號(hào)。CPU51A如果接收到該插入信號(hào),從移位寄存器77中讀出8位隨機(jī)數(shù)(R)。
圖7是表示輸入到EXOR電路75的物理隨機(jī)數(shù)(PHRQ)和偽隨機(jī)數(shù)(PSR)的組合,和其發(fā)生概率的圖。如果物理隨機(jī)數(shù)(PHRQ)變?yōu)椤?”的概率為X(0≤X≤1),偽隨機(jī)數(shù)(PSR)變?yōu)椤?”的概率為Y(0≤Y≤1),在物理隨機(jī)數(shù)(PHRQ)和偽隨機(jī)數(shù)(PSR)同時(shí)變?yōu)椤?”的概率變?yōu)閄Y,物理隨機(jī)數(shù)(PHRQ)變?yōu)椤?”,偽隨機(jī)數(shù)(PSR)變?yōu)椤?”的概率變?yōu)閄(1-Y)。另外,物理隨機(jī)數(shù)(PHRQ)變?yōu)椤?”,偽隨機(jī)數(shù)變?yōu)椤?”的概率變?yōu)?1-X)Y,物理隨機(jī)數(shù)(PHRQ)和偽隨機(jī)數(shù)(PSR)同時(shí)變?yōu)椤?”的概率變?yōu)?1-X)(1-Y)。
因此,隨機(jī)數(shù)(R)變?yōu)椤?”的概率P0,和變?yōu)椤?”的概率P1可以由下式(5)、(6)求出。
數(shù)5P0=XY+(1-X)(1-Y)…(5)P1=X(1-Y)+(1-X)Y…(6)其中,例如,偽隨機(jī)數(shù)(PSR)設(shè)為16位的M序列,在偽隨機(jī)數(shù)(PSR)中,“0”發(fā)生32767次,“1”發(fā)生32768次,Y≈0.4999(49.99%)。并且,物理隨機(jī)數(shù)(PHRQ)中的“0”的發(fā)生概率X如果設(shè)為例如,0.45(45%),P0和P1由式(5)、(6)求出,P0≈0.50001(50.001%),P1≈0.49999(49.999%)。另外,例如,物理隨機(jī)數(shù)(PHRQ)中的“0”的發(fā)生概率X如果設(shè)為例如,0.55(55%),P0≈0.49999(49·999%),P1≈0.50001(50.001%)。因此,隨機(jī)數(shù)(R)中的“0”的發(fā)生概率的范圍變?yōu)?9.999~50.001%程度,可以作為隨機(jī)數(shù)使用。
(2)跳躍模式下面,對(duì)計(jì)數(shù)器模式中,動(dòng)作模式為跳躍模式的動(dòng)作進(jìn)行說(shuō)明。跳躍模式時(shí),由AND電路73輸出的選擇信號(hào)(SEL)變?yōu)橛蒁-FF72輸出的物理隨機(jī)數(shù)(PHRQ)。因此,多路轉(zhuǎn)接器67,在物理隨機(jī)數(shù)(PHRQ)為“0”時(shí),輸出掩碼A寄存器65的值(AQ0~AQ31),為“1”時(shí),輸出掩碼B寄存器66的值(BQ0~BQ31)。
物理隨機(jī)數(shù)(PHRQ)為“0”時(shí),對(duì)移位寄存器64的值(Q0~Q31),和掩碼A寄存器65的值(AQ0~AQ31)進(jìn)行邏輯與運(yùn)算的結(jié)果由AND電路68輸出,由奇偶發(fā)生器69對(duì)其進(jìn)行異或邏輯運(yùn)算,生成通向移位寄存器64的反饋信號(hào)(F)。另外,由奇偶發(fā)生器69輸出的信號(hào),作為偽隨機(jī)數(shù)(PSR),輸入到EXOR電路75。
并且,物理隨機(jī)數(shù)(PHRQ)為“1”時(shí),對(duì)移位寄存器64的值(Q0~Q31),和掩碼B寄存器66的值(BQ0~BQ31)進(jìn)行邏輯與運(yùn)算的結(jié)果由AND電路68輸出,由奇偶發(fā)生器69對(duì)其進(jìn)行異或邏輯運(yùn)算,生成通向移位寄存器64的反饋信號(hào)(F)。另外,由奇偶發(fā)生器69輸出的信號(hào),作為偽隨機(jī)數(shù)(PSR)輸入到EXOR電路75。
換句話說(shuō),偽隨機(jī)數(shù)(PSR),在物理隨機(jī)數(shù)(PHRQ)為“0”時(shí),變?yōu)閷?duì)應(yīng)設(shè)定在掩碼A寄存器65中的抽頭位置的M序列偽隨機(jī)數(shù),物理隨機(jī)數(shù)(PHRQ)為“1”時(shí),變?yōu)閷?duì)應(yīng)設(shè)定在掩碼寄存器B65中的抽頭位置的M序列偽隨機(jī)數(shù)。
跳躍模式時(shí),由于OR電路74的輸出總是為“1”,由EXOR電路75輸出的隨機(jī)數(shù)(R),變?yōu)榉D(zhuǎn)偽隨機(jī)數(shù)(PSR)的結(jié)果。隨機(jī)數(shù)(R)輸入到移位寄存器77的數(shù)據(jù)輸入端子(D),時(shí)鐘(/RCLK)通過(guò)多路轉(zhuǎn)接器76輸入到時(shí)鐘輸入端子(C)。并且,和乘法模式時(shí)一樣,在時(shí)鐘(/RCLK)上升沿時(shí),隨機(jī)數(shù)(R)被置于移位寄存器77中。另外,移位寄存器77如果存儲(chǔ)8位由EXOR電路75輸出的隨機(jī)數(shù)(R),向CPU51A發(fā)送插入信號(hào)。CPU51A接收該插入信號(hào),從移位寄存器77中讀出8位隨機(jī)數(shù)(R)。
(3)CPU模式最后,對(duì)CPU模式的動(dòng)作進(jìn)行說(shuō)明。CPU模式時(shí),由D-FF72輸出的信號(hào)(PHRQ)總是為“1”。因此,由AND電路73輸出的選擇信號(hào)(SEL),在乘法模式時(shí),為“0”,在跳躍模式時(shí),為“1”。換句話說(shuō),多路轉(zhuǎn)接器67,在乘法模式時(shí),輸出掩碼A寄存器65的值(AQ0~AQ31),在跳躍模式時(shí),輸出掩碼B寄存器66的值(BQ0~BQ31)。
并且,對(duì)移位寄存器64的值(Q0~Q31),和掩碼A寄存器65的值(AQ0~AQ31)或者掩碼B寄存器66的值(BQ0~BQ31)進(jìn)行邏輯與運(yùn)算的結(jié)果由AND電路68輸出,由奇偶發(fā)生器69進(jìn)行其異或邏輯運(yùn)算,生成對(duì)移位寄存器64的反饋信號(hào)(F)。另外,由奇偶發(fā)生器69輸出的信號(hào),作為偽隨機(jī)數(shù)(PSR)輸入到EXOR電路75。該偽隨機(jī)數(shù)(PSR),成為對(duì)應(yīng)設(shè)定在掩碼A寄存器65或者掩碼B寄存器66中的抽頭位置的M序列偽隨機(jī)數(shù)。
CPU模式時(shí),由于OR電路74的輸出總是為“1”,由EXOR電路75輸出的隨機(jī)數(shù)(R),成為翻轉(zhuǎn)偽隨機(jī)數(shù)(PSR)的數(shù)。隨機(jī)數(shù)(R)被輸入到移位寄存器77的數(shù)據(jù)輸入端子(D),來(lái)自CPU51A讀出信號(hào)(CPU_RD),通過(guò)多路轉(zhuǎn)接器76,輸入到時(shí)鐘輸入端子(C)。并且,在移位寄存器77中,每當(dāng)輸入讀出信號(hào)(CPU_RD)時(shí),隨機(jī)數(shù)(R)被置位。另外,移位寄存器77存儲(chǔ)8位由EXOR電路75輸出的隨機(jī)數(shù)(R),向CPU51A發(fā)送插入信號(hào)。CPU51A接受到該插入信號(hào),從移位寄存器77中讀出8位隨機(jī)數(shù)(R)。
以上,對(duì)作為本發(fā)明一個(gè)實(shí)施方式的應(yīng)用隨機(jī)數(shù)生成電路54A、54B的無(wú)鑰匙進(jìn)入系統(tǒng)1進(jìn)行說(shuō)明。M序列偽隨機(jī)數(shù)是0的發(fā)生次數(shù)只比1的發(fā)生次數(shù)少1,1和0是出現(xiàn)大致相同次數(shù)的隨機(jī)數(shù)。因此,在乘法模式中,通過(guò)根據(jù)M序列偽隨機(jī)數(shù),變化/輸出物理隨機(jī)數(shù),換句話說(shuō)用物理隨機(jī)數(shù)、M序列偽隨機(jī)數(shù)進(jìn)行調(diào)制,輸出的1和0的發(fā)生頻率和M序列偽隨機(jī)數(shù)同樣,可以滿足作為隨機(jī)數(shù)的性能。并且,輸出的隨機(jī)數(shù)是由于用M序列偽隨機(jī)數(shù)調(diào)制物理隨機(jī)數(shù)的,僅僅和M序列偽隨機(jī)數(shù)不同,預(yù)測(cè)其輸出模式變困難。另外,輸出的隨機(jī)數(shù)由于不是將物理隨機(jī)數(shù)原封不動(dòng)輸出,即使通過(guò)來(lái)自外部的影響,操縱物理隨機(jī)數(shù),由于通過(guò)M序列偽隨機(jī)數(shù)調(diào)制,與只使用物理隨機(jī)數(shù)的情況相比,可以防止安全性的降低。
并且,按照上述的,可以通過(guò)對(duì)物理隨機(jī)數(shù)和M序列偽隨機(jī)數(shù)進(jìn)行異或邏輯運(yùn)算,進(jìn)行物理隨機(jī)數(shù)的調(diào)制。其中,例如,在M序列為16位時(shí),輸出的隨機(jī)數(shù)中的“0”的發(fā)生概率的范圍為49.999~50.001%程度,可以滿足作為隨機(jī)數(shù)的性能。
另外,在跳躍模式的情況中,通過(guò)使用物理隨機(jī)數(shù),切換M序列,預(yù)測(cè)隨機(jī)數(shù)的輸出模式變困難。另外,輸出的隨機(jī)數(shù),由于不是原封不動(dòng)輸出物理隨機(jī)數(shù),即使通過(guò)來(lái)自外部的影響,操縱物理隨機(jī)數(shù),由于輸出M序列偽隨機(jī)數(shù),與只使用物理隨機(jī)數(shù)的情況相比,可以防止安全性的降低。并且,如上所述,例如,通過(guò)設(shè)置多個(gè)存儲(chǔ)M序列的抽頭位置的寄存器,可以根據(jù)物理隨機(jī)數(shù),切換M序列。
另外,在隨機(jī)數(shù)生成電路54A中,乘法模式時(shí),M序列中的抽頭位置存儲(chǔ)在掩碼A寄存器65中,根據(jù)存儲(chǔ)在線性反饋移位寄存器64中的數(shù)據(jù)(Q0~Q31),和存儲(chǔ)在掩碼A寄存器65中的數(shù)據(jù)(AQ0~AQ31),生成對(duì)性線性反饋移位寄存器64的反饋信號(hào)(F)。換句話說(shuō),通過(guò)設(shè)定掩碼A寄存器65中要求的數(shù)據(jù),可以自由更改M序列中的抽頭位置。在這樣的隨機(jī)數(shù)生成電路54A中,由于抽頭位置是可變的,通過(guò)線性反饋移位寄存器64,提高生成的偽隨機(jī)數(shù)的預(yù)測(cè)困難性。并且,在可以生成多個(gè)M序列的隨機(jī)數(shù)生成電路中,由于沒(méi)有必要設(shè)置對(duì)應(yīng)每個(gè)M序列的抽頭位置的電路,可以縮小電路規(guī)模。
并且,使用這樣生成的偽隨機(jī)數(shù),調(diào)制物理隨機(jī)數(shù),可以生成隨機(jī)數(shù)(R)。換句話說(shuō),在通過(guò)用M序列偽隨機(jī)數(shù),調(diào)制物理隨機(jī)數(shù),提高隨機(jī)數(shù)的預(yù)測(cè)困難性的情況中,可以自由更改M序列的抽頭位置。因此,在可以提高隨機(jī)數(shù)的預(yù)測(cè)困難性的同時(shí),與事先由電路構(gòu)成對(duì)應(yīng)多個(gè)M序列的抽頭位置的情況比較,可以縮小電路規(guī)模。
另外,在隨機(jī)數(shù)生成電路54A中,將存儲(chǔ)M序列抽頭位置的寄存器設(shè)為掩碼A寄存器65和掩碼B寄存器66共2個(gè)。并且,根據(jù)線性反饋移位寄存器64中存儲(chǔ)的數(shù)據(jù)(Q0~Q31),和存儲(chǔ)在通過(guò)多路轉(zhuǎn)接器67選擇的一個(gè)寄存器中的數(shù)據(jù)(AQ0~AQ31或者BQ0~BQ31),生成通向線性反饋移位寄存器64的反饋信號(hào)(F)。換句話說(shuō),通過(guò)設(shè)定掩碼A寄存器65和掩碼B寄存器66中要求的數(shù)據(jù),可以自由更改可以由選擇信號(hào)(SEL)切換的2個(gè)M序列的抽頭位置。在這樣的隨機(jī)數(shù)生成電路54A中,由于根據(jù)選擇信號(hào)(SEL)切換M序列,加上,通過(guò)掩碼A寄存器65和掩碼B寄存器66的設(shè)定,能夠自由更改抽頭位置,能提高由線性反饋移位寄存器64生成的偽隨機(jī)數(shù)的預(yù)測(cè)困難性。并且,由于沒(méi)有必要設(shè)置對(duì)應(yīng)每個(gè)M序列的抽頭位置的電路,可以縮小電路規(guī)模。
并且,輸入到多路轉(zhuǎn)接器67的選擇信號(hào)(SEL)可以作為物理隨機(jī)數(shù)(PHRQ)。換句話說(shuō),通過(guò)根據(jù)物理隨機(jī)數(shù)切換M序列,提高隨機(jī)數(shù)的預(yù)測(cè)困難性的情況中,可以自由更改M序列的抽頭位置。因此,在可以提高隨機(jī)數(shù)的預(yù)測(cè)困難性的同時(shí),與事先用電路構(gòu)成對(duì)應(yīng)多個(gè)M序列的抽頭位置的情況比較,可以縮小電路規(guī)模。
并且,上述實(shí)施方式是用于使對(duì)本發(fā)明的理解變?nèi)菀椎?,并不是用于限定解釋本發(fā)明的。本發(fā)明不脫離其要點(diǎn),可以更改,改良,同時(shí),本發(fā)明也包含其等價(jià)物。
例如,在本實(shí)施方式的隨機(jī)數(shù)生成電路54A中,將存儲(chǔ)M序列的抽頭位置的寄存器設(shè)為掩碼A寄存器65和掩碼B寄存器66共2個(gè),也可以設(shè)置3個(gè)以上存儲(chǔ)抽頭位置的寄存器。設(shè)置3個(gè)以上存儲(chǔ)抽頭位置的寄存器時(shí),也可以使用例如,雙穩(wěn)態(tài)多諧振蕩器等,存儲(chǔ)2位以上物理隨機(jī)數(shù),根據(jù)其值選擇輸出抽頭位置的寄存器。
另外,在本實(shí)施方式中,使用M序列作為偽隨機(jī)數(shù)序列,也可以使用例如Gold序列等其他的偽隨機(jī)數(shù)序列。在使用Gold序列作為偽隨機(jī)數(shù)序列的情況中,通過(guò)使用Gold序列偽隨機(jī)數(shù)調(diào)制物理隨機(jī)數(shù),生成隨機(jī)數(shù),可以提高隨機(jī)數(shù)的預(yù)測(cè)困難性。另外,在使用Gold序列的情況中,由于不原封不動(dòng)輸出物理隨機(jī)數(shù),即使通過(guò)來(lái)自外部的影響操縱物理隨機(jī)數(shù),由于輸出Gold序列偽隨機(jī)數(shù),與只使用物理隨機(jī)數(shù)的情況比較,可以防止安全性的降低。
另外,可以通過(guò)設(shè)置多個(gè)存儲(chǔ)Gold序列中的抽頭位置的寄存器,根據(jù)物理隨機(jī)數(shù)選擇輸出抽頭位置的寄存器,切換Gold序列。由此,提高隨機(jī)數(shù)的預(yù)測(cè)困難性,并且,可以防止由來(lái)自外部的影響降低安全性。
另外,在本實(shí)施方式的隨機(jī)數(shù)生成電路54A中,將存儲(chǔ)M序列的抽頭位置的寄存器設(shè)為掩碼A寄存器65和掩碼B寄存器66共2個(gè),也可以設(shè)置3個(gè)以上存儲(chǔ)抽頭位置的寄存器。設(shè)置3個(gè)以上存儲(chǔ)抽頭位置的寄存器時(shí),也可以使用例如,雙穩(wěn)多諧振蕩器等,存儲(chǔ)2位以上物理隨機(jī)數(shù),根據(jù)其值,選擇輸出抽頭位置的寄存器。
另外,在使用Gold序列作為偽隨機(jī)數(shù)序列的情況中,通過(guò)將其抽頭位置存儲(chǔ)到寄存器中的構(gòu)成,可以自由更改抽頭位置,另外,與事先構(gòu)成對(duì)應(yīng)多個(gè)抽頭位置的電路的情況比較,可以縮小電路規(guī)模。
另外,在本實(shí)施方式中,將隨機(jī)數(shù)生成電路54A用于無(wú)鑰匙進(jìn)入系統(tǒng)1中的加密,隨機(jī)數(shù)生成電路54A,不局限于無(wú)鑰匙進(jìn)入系統(tǒng)1,可以應(yīng)用于為了提高安全性,使用隨機(jī)數(shù)的各種信息處理系統(tǒng)。這樣,在各種信息處理系統(tǒng)中,通過(guò)應(yīng)用隨機(jī)數(shù)生成電路54A,預(yù)測(cè)困難,并且,通過(guò)得到防止來(lái)自外部影響產(chǎn)生的安全性降低的隨機(jī)數(shù),可以提高其信息處理系統(tǒng)的安全性。另外,在各種信息處理系統(tǒng)中,通過(guò)應(yīng)用隨機(jī)數(shù)生成電路54A,由于可以自由更改偽隨機(jī)數(shù)序列的抽頭位置,可以提高隨機(jī)數(shù)的預(yù)測(cè)困難性,可以提高安全性。另外,由于沒(méi)有必要事先構(gòu)成對(duì)應(yīng)多個(gè)偽隨機(jī)數(shù)序列的抽頭位置的電路,能縮小隨機(jī)數(shù)生成電路的電路規(guī)模,可以使采用隨機(jī)數(shù)生成電路的裝置小型化。
權(quán)利要求
1.一種隨機(jī)數(shù)生成電路,其特征在于,具備偽隨機(jī)數(shù)生成電路,其生成偽隨機(jī)數(shù)序列的偽隨機(jī)數(shù);物理隨機(jī)數(shù)生成電路,其生成物理隨機(jī)數(shù);和調(diào)制電路,其根據(jù)由上述偽隨機(jī)數(shù)生成電路生成的偽隨機(jī)數(shù),變化/輸出由上述物理隨機(jī)數(shù)生成電路生成的物理隨機(jī)數(shù)。
2.根據(jù)權(quán)利要求1所述的隨機(jī)數(shù)生成電路,其特征在于,上述調(diào)制電路具備對(duì)由上述物理隨機(jī)數(shù)生成電路生成的物理隨機(jī)數(shù),和由上述偽隨機(jī)數(shù)生成電路生成的偽隨機(jī)數(shù)進(jìn)行異或邏輯運(yùn)算的電路。
3.一種隨機(jī)數(shù)生成電路,其特征在于,具備偽隨機(jī)數(shù)生成電路,其生成多個(gè)偽隨機(jī)數(shù)序列的偽隨機(jī)數(shù);和物理隨機(jī)數(shù)生成電路,其生成物理隨機(jī)數(shù),上述偽隨機(jī)數(shù)生成電路,根據(jù)由上述物理隨機(jī)數(shù)生成電路生成的物理隨機(jī)數(shù),切換上述偽隨機(jī)數(shù)生成電路所生成的偽隨機(jī)數(shù)序列。
4.根據(jù)權(quán)利要求3所述的隨機(jī)數(shù)生成電路,其特征在于,上述偽隨機(jī)數(shù)序列是M序列,上述偽隨機(jī)數(shù)生成電路具備線性反饋移位寄存器;多個(gè)寄存器,其存儲(chǔ)多個(gè)M序列中的各個(gè)抽頭位置;選擇電路,其根據(jù)由上述物理隨機(jī)數(shù)生成電路生成的物理隨機(jī)數(shù),選擇上述多個(gè)寄存器中的任一個(gè);以及反饋信號(hào)生成電路,其根據(jù)存儲(chǔ)在上述線性反饋移位寄存器中的數(shù)據(jù),和存儲(chǔ)在由上述選擇電路選擇的寄存器中的抽頭位置,生成向上述線性反饋移位寄存器發(fā)出的反饋信號(hào)。
5.一種隨機(jī)數(shù)生成電路,其特征在于,具備線性反饋移位寄存器,其生成偽隨機(jī)數(shù)序列的偽隨機(jī)數(shù);寄存器,其存儲(chǔ)偽隨機(jī)數(shù)序列中的抽頭位置;反饋信號(hào)生成電路,其根據(jù)存儲(chǔ)在上述線性反饋移位寄存器中的數(shù)據(jù),和存儲(chǔ)在上述寄存器中的抽頭位置,生成對(duì)上述線性反饋移位寄存器的反饋信號(hào)。
6.根據(jù)權(quán)利要求5所述的隨機(jī)數(shù)生成電路,其特征在于,上述寄存器,以和上述線性反饋移位寄存器同樣位數(shù)構(gòu)成,在對(duì)應(yīng)偽隨機(jī)數(shù)序列的抽頭位置的位中存儲(chǔ)一個(gè)邏輯值,在對(duì)應(yīng)抽頭位置的位以外的位中存儲(chǔ)其他的邏輯值,上述反饋信號(hào)生成電路具備對(duì)上述線性反饋移位寄存器的各位和上述寄存器的各位進(jìn)行邏輯與運(yùn)算的電路;和通過(guò)對(duì)由該邏輯與運(yùn)算得到的數(shù)據(jù)的異或邏輯運(yùn)算,生成上述反饋信號(hào)的電路。
7.根據(jù)權(quán)利要求5所述的隨機(jī)數(shù)生成電路,其特征在于,還具備物理隨機(jī)數(shù)生成電路,其生成物理隨機(jī)數(shù);和調(diào)制電路,其根據(jù)由上述線性反饋移位寄存器生成的偽隨機(jī)數(shù),變化并輸出由上述物理隨機(jī)數(shù)生成電路生成的物理隨機(jī)數(shù)。
8.根據(jù)權(quán)利要求6所述的隨機(jī)數(shù)生成電路,其特征在于,還具備物理隨機(jī)數(shù)生成電路,其生成物理隨機(jī)數(shù);調(diào)制電路,其根據(jù)上述線性反饋移位寄存器生成的偽隨機(jī)數(shù),變化并輸出由上述物理隨機(jī)數(shù)生成電路生成的物理隨機(jī)數(shù)。
9.一種隨機(jī)數(shù)生成電路,其特征在于,具備線性反饋移位寄存器,其生成偽隨機(jī)數(shù)序列的偽隨機(jī)數(shù);多個(gè)寄存器,其存儲(chǔ)多個(gè)偽隨機(jī)數(shù)序列中的各個(gè)抽頭位置;選擇電路,其接收表示使用上述多個(gè)偽隨機(jī)數(shù)序列中的任一個(gè)偽隨機(jī)數(shù)序列的選擇信號(hào),根據(jù)該選擇信號(hào),選擇上述多個(gè)寄存器中的任一個(gè),反饋信號(hào)生成電路,其根據(jù)存儲(chǔ)在上述線性反饋移位寄存器中的數(shù)據(jù)和存儲(chǔ)在由上述選擇電路選擇的寄存器中的抽頭位置,生成對(duì)上述線性反饋移位寄存器的反饋信號(hào)。
10.根據(jù)權(quán)利要求9所述的隨機(jī)數(shù)生成電路,其特征在于,上述寄存器,以與上述線性反饋移位寄存器同樣位數(shù)構(gòu)成,在對(duì)應(yīng)偽隨機(jī)數(shù)序列抽頭位置的位中存儲(chǔ)一個(gè)邏輯值,對(duì)應(yīng)抽頭位置的位以外的位中存儲(chǔ)其他的邏輯值,上述反饋信號(hào)生成電路具備對(duì)上述線性反饋移位寄存器的各位和由上述選擇電路選擇的寄存器的各位進(jìn)行邏輯與運(yùn)算的電路;通過(guò)對(duì)由該邏輯與得到的數(shù)據(jù)進(jìn)行異或邏輯運(yùn)算,生成上述反饋信號(hào)的電路。
11.根據(jù)權(quán)利要求9所述的隨機(jī)數(shù)生成電路,其特征在于,還具備生成物理隨機(jī)數(shù)的物理隨機(jī)數(shù)生成電路,上述選擇信號(hào)是由上述物理隨機(jī)數(shù)生成電路生成的物理隨機(jī)數(shù)。
12.根據(jù)權(quán)利要求10所述的隨機(jī)數(shù)生成電路,其特征在于,還具備生成物理隨機(jī)數(shù)的物理隨機(jī)數(shù)生成電路,上述選擇信號(hào)是由上述物理隨機(jī)數(shù)生成電路生成的物理隨機(jī)數(shù)。
全文摘要
一種隨機(jī)數(shù)生成電路,具備生成M序列偽隨機(jī)數(shù)的偽隨機(jī)數(shù)生成電路;生成物理隨機(jī)數(shù)的物理隨機(jī)數(shù)生成電路;以及使用由上述偽隨機(jī)數(shù)生成電路生成的偽隨機(jī)數(shù),調(diào)制由上述物理隨機(jī)數(shù)生成電路生成的物理隨機(jī)數(shù)的調(diào)制電路。另外,上述偽隨機(jī)數(shù)生成電路可以生成多個(gè)M序列偽隨機(jī)數(shù),根據(jù)由上述物理隨機(jī)數(shù)生成電路生成的物理隨機(jī)數(shù),切換上述偽隨機(jī)數(shù)生成電路生成的M序列。從而,生成安全、預(yù)測(cè)困難的隨機(jī)數(shù)。
文檔編號(hào)G09C1/00GK1815527SQ20061000450
公開(kāi)日2006年8月9日 申請(qǐng)日期2006年1月25日 優(yōu)先權(quán)日2005年2月3日
發(fā)明者池谷昭, 石村靜, 千明一雅 申請(qǐng)人:三洋電機(jī)株式會(huì)社