欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

高質(zhì)量的真隨機(jī)數(shù)產(chǎn)生器的制作方法

文檔序號(hào):6543843閱讀:263來源:國知局
專利名稱:高質(zhì)量的真隨機(jī)數(shù)產(chǎn)生器的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種高質(zhì)量的真隨機(jī)數(shù)產(chǎn)生器。特別地,涉及一種用于生成密碼算法的密鑰、銀行客戶的初始密碼和自動(dòng)寄存機(jī)的密碼的防飽和的高質(zhì)量真隨機(jī)數(shù)產(chǎn)生器。
背景技術(shù)
隨機(jī)數(shù)分為偽隨機(jī)數(shù)和真隨機(jī)數(shù)兩種。偽隨機(jī)數(shù)是有一定規(guī)律可循的,周期長(zhǎng)度為有限長(zhǎng)的隨機(jī)數(shù),因此偽隨機(jī)數(shù)是可預(yù)測(cè)的。真隨機(jī)數(shù)一般是由模擬電路構(gòu)成的真隨機(jī)數(shù)發(fā)生器產(chǎn)生,由于在電路中引入了噪聲,真隨機(jī)數(shù)沒有規(guī)律可循,是完全不可預(yù)測(cè)的。
由于現(xiàn)有大部分的加密算法是公開的,信息安全的保證就依賴于對(duì)密鑰的保護(hù),而產(chǎn)生密鑰一般都需要用到隨機(jī)數(shù)。于是,用于產(chǎn)生密鑰的隨機(jī)數(shù)就成了保證信息安全的關(guān)鍵,而只有完全不可預(yù)測(cè)的真隨機(jī)數(shù)才能真正保證信息的安全。
國內(nèi)已開發(fā)的隨機(jī)數(shù)產(chǎn)生器,有的是用數(shù)字電路設(shè)計(jì)的偽隨機(jī)數(shù)產(chǎn)生器;而用模擬電路設(shè)計(jì)的真隨機(jī)數(shù)產(chǎn)生器往往速度比較慢,而且產(chǎn)生的隨機(jī)數(shù)質(zhì)量也不好。

發(fā)明內(nèi)容
本發(fā)明的目的是針對(duì)現(xiàn)有技術(shù)的不足,提供一種高質(zhì)量的真隨機(jī)數(shù)產(chǎn)生器。
本發(fā)明的目的是通過以下技術(shù)方案來實(shí)現(xiàn)的高質(zhì)量的真隨機(jī)數(shù)產(chǎn)生器,包括用于產(chǎn)生隨機(jī)數(shù)的隨機(jī)數(shù)產(chǎn)生模塊;所述的高質(zhì)量的真隨機(jī)數(shù)產(chǎn)生器,還包括用于進(jìn)一步增加數(shù)據(jù)的隨機(jī)性,起到混洗功能的作用的數(shù)據(jù)混洗模塊;用于判斷隨機(jī)數(shù)的優(yōu)劣的時(shí)段熵檢測(cè)模塊;用于檢測(cè)輸出的隨機(jī)序列是否為弱密鑰的弱密鑰檢測(cè)模塊。
所述的數(shù)據(jù)混洗模塊添加在隨機(jī)數(shù)產(chǎn)生模塊之后,用來進(jìn)一步增加數(shù)據(jù)的隨機(jī)性,起到混洗功能的作用。
時(shí)段熵檢測(cè)模塊用由以色列人Lempel和Ziv提出的LZ算法來判斷隨機(jī)數(shù)的優(yōu)劣。
弱密鑰檢測(cè)模塊用來檢測(cè)輸出的隨機(jī)序列是否為弱密鑰,檢查密鑰中的0串或1串的長(zhǎng)度,給出指示值result。
本發(fā)明具有以下技術(shù)效果1.真隨機(jī)數(shù)的質(zhì)量非常高對(duì)產(chǎn)生的隨機(jī)數(shù)進(jìn)行混洗,增加其隨機(jī)性,并對(duì)數(shù)據(jù)進(jìn)行時(shí)段熵測(cè)試和弱密鑰算法測(cè)試,保證其隨機(jī)性;2.真隨機(jī)數(shù)的產(chǎn)生速度快。


圖1是高質(zhì)量的真隨機(jī)數(shù)產(chǎn)生器結(jié)構(gòu)框圖;圖2是真隨機(jī)數(shù)產(chǎn)生器的工作流程圖;圖3是時(shí)段熵檢測(cè)模塊的工作流程圖;圖4是數(shù)據(jù)混洗模塊的工作原理圖;圖5是數(shù)據(jù)混洗模塊的工作流程圖;圖6是弱密鑰檢測(cè)模塊工作流程圖。
具體實(shí)施例方式
下面根據(jù)附圖詳細(xì)說明本發(fā)明。
如圖1所示,一種高質(zhì)量的真隨機(jī)數(shù)產(chǎn)生器架構(gòu),包括隨機(jī)數(shù)產(chǎn)生模塊,數(shù)據(jù)混洗模塊,時(shí)段熵監(jiān)測(cè)模塊和弱密鑰監(jiān)測(cè)模塊。其中數(shù)據(jù)混洗模塊添加在隨機(jī)數(shù)產(chǎn)生模塊之后,用來進(jìn)一步增加數(shù)據(jù)的隨機(jī)性,起到混洗功能的作用。時(shí)段熵檢測(cè)模塊,采用由以色列人Lempel和Ziv提出的LZ算法來判斷隨機(jī)數(shù)的優(yōu)劣。弱密鑰檢測(cè)模塊用來檢測(cè)輸出的隨機(jī)序列是否為弱密鑰,檢查密鑰中的0串或1串的長(zhǎng)度,給出指示值result。
如圖2所示,隨機(jī)數(shù)產(chǎn)生器重置后,隨機(jī)數(shù)產(chǎn)生模塊開始工作,其產(chǎn)生的隨機(jī)數(shù)序列由時(shí)段熵模塊進(jìn)行隨機(jī)性檢測(cè),給出檢測(cè)值,同時(shí),該隨機(jī)數(shù)序列由數(shù)據(jù)混洗模塊進(jìn)行混洗處理,進(jìn)一步增加隨機(jī)性,混洗后的隨機(jī)數(shù)序列由弱密鑰模塊進(jìn)行檢測(cè),給出檢測(cè)值。
如圖3所示,時(shí)段熵檢測(cè)模塊工作流程初始化過程中地址指針清零,存儲(chǔ)器全部置零。非確定性判別電路從并串轉(zhuǎn)換電路數(shù)據(jù),并在該電路內(nèi)部計(jì)算二叉樹分支地址,判斷該分支地址是否為空如果分之地址不為空地址,則判斷輸入的數(shù)據(jù)的長(zhǎng)度是否達(dá)到65536比特如果沒有達(dá)到65536比特,則將上述分支地址作為當(dāng)前地址,繼續(xù)讀入1比特?cái)?shù)據(jù);如果達(dá)到了65536比特的數(shù)據(jù),則輸出判別結(jié)果;如果上述分支地址為空,則在存儲(chǔ)器在中把該分支地址標(biāo)記非空,將計(jì)數(shù)器加1,判斷輸入的數(shù)據(jù)長(zhǎng)度是否達(dá)到了65536比特如果達(dá)到了65536比特長(zhǎng)度,則輸出判別結(jié)果;如果沒有達(dá)到65536比特長(zhǎng),則將地址指針清零,繼續(xù)讀入下一比特的數(shù)據(jù),進(jìn)行判斷。
如圖4所示,數(shù)據(jù)混洗模塊用于進(jìn)一步增加數(shù)據(jù)的隨機(jī)性,起到混洗功能的作用。其工作過程使能信號(hào)有效時(shí),兩個(gè)1bit位寬數(shù)據(jù)輸入,每個(gè)時(shí)鐘周期輸入一個(gè)數(shù)據(jù),輸入1端口輸入的數(shù)據(jù)放在初始移位寄存器init32中,下一個(gè)input1數(shù)據(jù)進(jìn)來后,前一個(gè)數(shù)據(jù)向左移,存入初始移位寄存器init33中,以次類推,一直存入32個(gè)數(shù)據(jù)(由計(jì)數(shù)器counter控制,沒輸入一個(gè)數(shù)據(jù),counter的值增加1),這樣第一個(gè)數(shù)據(jù)存在初始移位寄存器init63中,最后一個(gè)數(shù)據(jù)存在初始移位寄存器init32中。Input2輸入的數(shù)據(jù)放在初始移位寄存器的init0中,下一個(gè)input1數(shù)據(jù)進(jìn)來后,前一個(gè)數(shù)據(jù)向左移,存入初始移位寄存器init31中,以次類推,一直存入32個(gè)數(shù)據(jù),這樣第一個(gè)數(shù)據(jù)存在初始移位寄存器init63中,最后一個(gè)數(shù)據(jù)存在初始移位寄存器init0中。當(dāng)計(jì)數(shù)器的值從0遞增到31時(shí),將初始移位寄存器init中得值賦給fsr寄存器賦值,賦值的規(guī)則是fsr[12764]=~init[630],fsr[630]=init[630]。128位移位寄存器被賦值后開始工作,每個(gè)時(shí)鐘周期右移一位。移出的值經(jīng)過一個(gè)非線性布爾邏輯函數(shù)f到輸出端output。
每個(gè)時(shí)鐘周期取fsr寄存器的第111、61、11位進(jìn)行一次布爾運(yùn)算;取fsr寄存器的127、126、121、0位進(jìn)行異或運(yùn)算;將上述兩個(gè)值與輸出output再次進(jìn)行異或運(yùn)算,所得結(jié)果存入fsr寄存器的第127位。完成fsr的一次右移過程。
如圖5所示,數(shù)據(jù)混洗模塊的工作流程圖,關(guān)鍵就是兩組移位寄存器的移位過程,首先64位初始寄存器賦值給128位反饋移位寄存器,由反饋移位寄存器將輸出信號(hào)反饋到輸入信號(hào),實(shí)現(xiàn)數(shù)據(jù)的置亂功能。
如圖6所示,弱密鑰模塊就是檢查經(jīng)過數(shù)據(jù)混洗模塊處理后的隨即序列是否為弱密鑰。其工作流程具體如下弱密鑰檢測(cè)模塊復(fù)位信號(hào)有效時(shí),系統(tǒng)啟動(dòng),初始化計(jì)數(shù)器,開始工作。①初始化過程中,“當(dāng)前游程長(zhǎng)度”計(jì)數(shù)器、“最大游程長(zhǎng)度”計(jì)數(shù)器被清零。讀入一位數(shù)據(jù)存入“當(dāng)前位寄存器”;②開始工作,讀入一位數(shù)據(jù)存入“下一位寄存器”。然后判斷“下一位”和當(dāng)前位是否相等若相等,“當(dāng)前位寄存器”加1,將“下一位”賦予“當(dāng)前位”,接著比較當(dāng)前游程和最大游程的大小,若當(dāng)前游程大于最大游程,則將當(dāng)前游程長(zhǎng)度賦予最大游程長(zhǎng)度;如果是第一個(gè)游程,則將當(dāng)前游程長(zhǎng)度賦予首游程長(zhǎng)度寄存器,保存首游程類別(1游程或0游程);③判斷是否要結(jié)束檢查如果否,則讀入一位數(shù)據(jù)存入“下一位”,并重復(fù)②。如果是要結(jié)束檢查,則將當(dāng)前游程和首游程比較,如果是同類游程(都是1游程或都是0游程),則判斷“首游程長(zhǎng)度+當(dāng)前游程長(zhǎng)度”是否大于“最大游程長(zhǎng)度”,如果是,則“首游程長(zhǎng)度+當(dāng)前游程長(zhǎng)度”賦予“最大游程長(zhǎng)度”。然后比較最大游程長(zhǎng)度值和理論上的游程長(zhǎng)度門限值(根據(jù)數(shù)據(jù)的總長(zhǎng)度計(jì)算得到)大小并輸出結(jié)果。
下面舉例說明真隨機(jī)數(shù)產(chǎn)生器的工作流程首先由隨機(jī)數(shù)產(chǎn)生模塊產(chǎn)生隨即序列,如0100,1100,0101,1011,1110,0000,1111,1011,1001,0110,0111,1100,0000,1110,0111,1001,1,1101,0001。
序列經(jīng)過混洗模塊增加其隨機(jī)性,取隨機(jī)數(shù)產(chǎn)生模塊的前64bit,偶數(shù)位作為高32位,奇數(shù)位作為低32位,得到序列1010,1101,1000,1101,0110,1110,0010,1101,0010,0011,1100,1111,1001,0110,0011,0110。
將這64bit取反,得到序列0101,0010,0111,0010,1001,0001,1101,0010,1101,1100,0011,0000,0110,1001,1100,1001。
將原來的64bit和取反后的64bit合并作為移位寄存器的初始值,取反后的64bit作為高64位,原來的64bit作為低64位,共128位,得到序列0101,0010,0111,0010,1001,0001,1101,0010,1101,1100,0011,0000,0110,1001,1100,1001,1010,1101,1000,1101,0110,1110,0010,1101,0010,0011,1100,1111,1001,0110,0011,0110。
總輸入1101,……第1個(gè)時(shí)鐘輸入11。
128bit的一位寄存器的數(shù)據(jù)變?yōu)?,0101,0010,0111,0010,1001,0001,1101,0010,1101,1100,0011,0000,0110,1001,1100,1001,1010,1101,1000,1101,0110,1110,0010,1101,0010,0011,1100,1111,1001,0110,0011,011。
輸出0。
第2個(gè)時(shí)鐘,輸入01。
128bit的一位寄存器的數(shù)據(jù)變?yōu)?,1,0101,0010,0111,0010,1001,0001,1101,0010,1101,1100,0011,0000,0110,1001,1100,1001,1010,1101,1000,1101,0110,1110,0010,1101,0010,0011,1100,1111,1001,0110,0011,01。輸出0。
通過時(shí)段熵檢測(cè)模塊判斷隨機(jī)數(shù)的優(yōu)劣,時(shí)段熵模塊時(shí)鐘頻率是其它模塊的時(shí)鐘頻率的2倍,保證隨機(jī)數(shù)產(chǎn)生模塊的所有輸出都能被弱密鑰檢測(cè)模塊及時(shí)處理,該模塊輸入為0100,1100,0101,1011,1110,0000,1111,1011,1001,0110,0111,1100,0000,1110,0111,1001,1,1101,0001。
輸入0 地址0置為非空輸入1 地址1置為非空輸入0 地址0非空輸入0 地址00置為非空輸入1 地址1非空輸入1 地址11置為非空輸入0 地址0非空輸入0 地址00非空輸入0 地址000置為非空輸入1 地址1非空……直到輸入滿65536bit為止,計(jì)算置為非空的地址空間的個(gè)數(shù)為S。如果S大于預(yù)先設(shè)定的閾值N,則表示測(cè)試結(jié)果好;如果S不大于N,則表示測(cè)試結(jié)果不好。
弱密鑰檢測(cè)模塊檢測(cè)輸出的隨機(jī)序列是否為弱密鑰。假定混洗模塊的輸出為0011,1010,1100,1000,……預(yù)先設(shè)定的檢測(cè)的數(shù)據(jù)量為M=16bit,則允許的最長(zhǎng)0或1游程為L(zhǎng)imit=2+log2M=6。
輸入0當(dāng)前位0當(dāng)前游程1最長(zhǎng)游程1輸入0當(dāng)前位0當(dāng)前游程2最長(zhǎng)游程2輸入1當(dāng)前位1當(dāng)前游程1最長(zhǎng)游程2輸入1當(dāng)前位1當(dāng)前游程2最長(zhǎng)游程2輸入1當(dāng)前位1當(dāng)前游程3最長(zhǎng)游程3輸入0當(dāng)前位0當(dāng)前游程1最長(zhǎng)游程3
輸入1當(dāng)前位1當(dāng)前游程1最長(zhǎng)游程3輸入0當(dāng)前位0當(dāng)前游程1最長(zhǎng)游程3輸入1當(dāng)前位1當(dāng)前游程1最長(zhǎng)游程3輸入1當(dāng)前位1當(dāng)前游程2最長(zhǎng)游程3輸入0當(dāng)前位0當(dāng)前游程1最長(zhǎng)游程3輸入0當(dāng)前位0當(dāng)前游程2最長(zhǎng)游程3輸入1當(dāng)前位1當(dāng)前游程1最長(zhǎng)游程3輸入0當(dāng)前位0當(dāng)前游程1最長(zhǎng)游程3輸入0當(dāng)前位0當(dāng)前游程2最長(zhǎng)游程3輸入0當(dāng)前位0當(dāng)前游程3最長(zhǎng)游程3首尾檢查第1位與第16位相同,因此首尾相接,0的游程為5,大于已知的最長(zhǎng)游程3,因此,所測(cè)定的這16bit數(shù)據(jù)的最長(zhǎng)游程為5。最長(zhǎng)游程5<Limit=6,這表示測(cè)試結(jié)果好。
上述實(shí)施例用來解釋說明本發(fā)明,而不是對(duì)本發(fā)明進(jìn)行限制,在本發(fā)明的精神和權(quán)利要求的保護(hù)范圍內(nèi),對(duì)本發(fā)明作出的任何修改和改變,都落入本發(fā)明的保護(hù)范圍。
權(quán)利要求
1.一種高質(zhì)量的真隨機(jī)數(shù)產(chǎn)生器,包括用于產(chǎn)生隨機(jī)數(shù)的隨機(jī)數(shù)產(chǎn)生模塊;其特征在于所述的高質(zhì)量的真隨機(jī)數(shù)產(chǎn)生器,還包括用于進(jìn)一步增加數(shù)據(jù)的隨機(jī)性,起到混洗功能的作用的數(shù)據(jù)混洗模塊;用于判斷隨機(jī)數(shù)的優(yōu)劣的時(shí)段熵檢測(cè)模塊;用于檢測(cè)輸出的隨機(jī)序列是否為弱密鑰的弱密鑰檢測(cè)模塊。
2.根據(jù)權(quán)利要求1所述的一種高質(zhì)量的真隨機(jī)數(shù)產(chǎn)生器,其特征在于所述的數(shù)據(jù)混洗模塊添加在隨機(jī)數(shù)產(chǎn)生模塊之后,用來進(jìn)一步增加數(shù)據(jù)的隨機(jī)性,起到混洗功能的作用。
3.根據(jù)權(quán)利要求1所述的一種高質(zhì)量的真隨機(jī)數(shù)產(chǎn)生器,其特征在于所述的時(shí)段熵檢測(cè)模塊用由以色列人Lempel和Ziv提出的LZ算法來判斷隨機(jī)數(shù)的優(yōu)劣。
4.根據(jù)權(quán)利要求1所述的一種高質(zhì)量的真隨機(jī)數(shù)產(chǎn)生器,其特征在于所述的弱密鑰檢測(cè)模塊用來檢測(cè)輸出的隨機(jī)序列是否為弱密鑰,檢查密鑰中的0串或1串的長(zhǎng)度,給出指示值result。
全文摘要
本發(fā)明公開了一種高質(zhì)量的真隨機(jī)數(shù)產(chǎn)生器。它包括用于產(chǎn)生隨機(jī)數(shù)的隨機(jī)數(shù)產(chǎn)生模塊;所述的高質(zhì)量的真隨機(jī)數(shù)產(chǎn)生器,還包括用于進(jìn)一步增加數(shù)據(jù)的隨機(jī)性,起到混洗功能的作用的數(shù)據(jù)混洗模塊;用于判斷隨機(jī)數(shù)的優(yōu)劣的時(shí)段熵檢測(cè)模塊;用于檢測(cè)輸出的隨機(jī)序列是否為弱密鑰的弱密鑰檢測(cè)模塊。本發(fā)明具有以下技術(shù)效果1.真隨機(jī)數(shù)的質(zhì)量非常高對(duì)產(chǎn)生的隨機(jī)數(shù)進(jìn)行混洗,增加其隨機(jī)性,并對(duì)數(shù)據(jù)進(jìn)行時(shí)段熵測(cè)試和弱密鑰算法測(cè)試,保證其隨機(jī)性;2.真隨機(jī)數(shù)的產(chǎn)生速度快。
文檔編號(hào)G06F7/58GK1770094SQ20051006113
公開日2006年5月10日 申請(qǐng)日期2005年10月17日 優(yōu)先權(quán)日2005年10月17日
發(fā)明者嚴(yán)曉浪, 沈海斌 申請(qǐng)人:浙江大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
酉阳| 凤山县| 定结县| 嘉祥县| 金乡县| 博客| 治县。| 特克斯县| 景泰县| 玉环县| 罗江县| 鄯善县| 江口县| 临猗县| 全椒县| 集贤县| 墨江| 太谷县| 合江县| 平塘县| 南通市| 莱西市| 织金县| 鹤庆县| 商洛市| 阿克苏市| 富裕县| 博湖县| 柏乡县| 磐石市| 宁武县| 通化市| 岗巴县| 舞阳县| 稷山县| 招远市| 修武县| 天全县| 潮安县| 丁青县| 南郑县|