偽隨機數(shù)看作 無符號數(shù)時,數(shù)值范圍為[0,2"-1]。
[0079] 上述方法的缺點是每來m次時鐘,才能得到一個偽隨機數(shù),因此電路生成偽隨機數(shù) 的速度下降了m倍。如果對上述電路的狀態(tài){Q比]}遞推,依次得到{Q比+1]}... {Q比+m]}, 將電路狀態(tài){Q比+m]}的邏輯推導出只依賴于{Q比]}的狀態(tài),那么設(shè)計出來的最長線性反 饋移位寄存器每來一個時鐘,就能輸出一個m位的偽隨機數(shù),生成偽隨機數(shù)的速度得到了 極大提高,其內(nèi)部狀態(tài)相當于原來的最長線性反饋移位寄存器改變m次的狀態(tài)。運種并行 結(jié)構(gòu)的最長線性反饋移位寄存器原理框圖如圖6所示。
[0080] 本實用新型提出了一種將一個并行結(jié)構(gòu)最長線性反饋移位寄存器與一個W上并 行結(jié)構(gòu)最長線性反饋移位寄存器相結(jié)合產(chǎn)生長序列周期偽隨機數(shù)的方法,原理框圖如圖7 所示。
[0081] 如果基于并行結(jié)構(gòu)最長線性反饋移位寄存器的N。位偽隨機數(shù)發(fā)生器A,生成了m 位的均勻分布偽隨機數(shù),記為A比],W二進制表示為Am1比]Am2比]...Al比]A。比]?;诓?行結(jié)構(gòu)的Nb位最長線性反饋移位寄存器的偽隨機數(shù)發(fā)生器B,生成了m位的均勻分布偽隨 機數(shù),記為B比],W二進制表示為Bmi比]Bm2比]...Bi比]B。比]。偽隨機數(shù)A比]與偽隨機數(shù) B比]并聯(lián),生成2m位偽隨機數(shù)D比],W二進制表示為〇2m1比]〇2m2比]...Di比]D。比]。要求 偽隨機數(shù)發(fā)生器A生成的偽隨機數(shù)A比]與偽隨機數(shù)發(fā)生器B生成的偽隨機數(shù)B比]不相關(guān), 即偽隨機數(shù)發(fā)生器A的本原多項式與偽隨機數(shù)發(fā)生器B的本原多項式不能是鏡像本原多項 式。由于偽隨機數(shù)發(fā)生器A與偽隨機數(shù)發(fā)生器B之間不相關(guān),生成的偽隨機數(shù)D比]中的每 一位是均勻分布的,因此D比]是2m位均勻分布偽隨機數(shù)。
[0082] 當m為偶數(shù)時,并行結(jié)構(gòu)偽隨機數(shù)發(fā)生器A的序列周期為2^3-1,并行結(jié)構(gòu)偽隨機 數(shù)發(fā)生器B的序列周期為2Wb-l。偽隨機數(shù)D比]的序列周期為偽隨機數(shù)發(fā)生器A與B序列 周期的最小公倍數(shù)。因此偽隨機數(shù)D比]的序列周期得到了極大擴展。
[0083] 采用=組偽隨機數(shù)發(fā)生器電路結(jié)構(gòu)時,原理框圖如圖8所示。基于并行結(jié)構(gòu)最 長線性反饋移位寄存器的N。位偽隨機數(shù)發(fā)生器A,生成了m位的均勻分布偽隨機數(shù),記為 A比]。基于并行結(jié)構(gòu)最長線性反饋移位寄存器的Nb位偽隨機數(shù)發(fā)生器B,生成了m位的均 勻分布偽隨機數(shù),記為B比]。基于并行結(jié)構(gòu)最長線性反饋移位寄存器的N。位偽隨機數(shù)發(fā)生 器C,生成了m位的均勻分布偽隨機數(shù),記為C比]。A比]與B比]與C比]并聯(lián),生成3m位的 均勻分布偽隨機數(shù)D比]。要求偽隨機數(shù)發(fā)生器A與偽隨機數(shù)發(fā)生器B與偽隨機數(shù)發(fā)生器C 互不相關(guān)。
[0084] 當m為偶數(shù)時,并行結(jié)構(gòu)偽隨機數(shù)發(fā)生器A的序列周期為2^3-1,并行結(jié)構(gòu)偽隨機 數(shù)發(fā)生器B的序列周期為2Wb-l,并行結(jié)構(gòu)偽隨機數(shù)發(fā)生器C的序列周期為2WE-1。偽隨機 數(shù)D比]的序列周期為偽隨機數(shù)發(fā)生器A與B與C序列周期的最小公倍數(shù)。因此偽隨機數(shù) D比]的序列周期得到了極大擴展。
[0085] 可m受計有更多電路單元的偽隨機數(shù)發(fā)生器。例如可m受計有四個并行結(jié)構(gòu)最長 線性反饋移位寄存器的偽隨機數(shù)發(fā)生器,將運四個偽隨機數(shù)發(fā)生器的輸出并聯(lián),生成有多 個數(shù)據(jù)位的均勻分布偽隨機數(shù)。要求運四個偽隨機數(shù)發(fā)生器互不相關(guān)。生成偽隨機數(shù)的序 列周期為運四個偽隨機數(shù)發(fā)生器序列周期的最小公倍數(shù)。
[0086] 化Sh類函數(shù),能夠把一個數(shù)據(jù)空間中的數(shù)據(jù)映射成另一數(shù)據(jù)空間中的數(shù)據(jù)。輸出 數(shù)據(jù)對輸入數(shù)據(jù)的變化非常敏感,輸入數(shù)據(jù)哪怕一位的變化,輸出數(shù)據(jù)也會極為不同。設(shè) 計良好的化Sh函數(shù)能夠把輸入空間中的數(shù)據(jù)映射成輸出空間中均勻分布的隨機數(shù)。運個 化Sh函數(shù)可W根據(jù)應(yīng)用需求自行設(shè)計,也可W選用一種性能優(yōu)良的化Sh函數(shù)。安全哈希算 法SHA是化Sh函數(shù)的一種,經(jīng)SHA處理后的隨機數(shù)具有很好的統(tǒng)計特性。SHA家族算法由 美國國家安全局(NSA)所設(shè)計,并由美國國家標準與技術(shù)研究院(NIST)發(fā)布。SHA-2包括 SHA-224,SHA-256,SHA-384和SHA-512四種。四種算法中,SHA-224運算復雜度相對較低, 運算速度最快。SHA-2算法輸入最大長度不超過264位,輸出為224位或者256位或者384位 或者512位。算法處理包括W下步驟:(1)附加填充比特;(2)附加長度值;(3)初始化緩存; (4)處理分組序列;(5)輸出最后的數(shù)據(jù)摘要。SHA-2主要用到的邏輯運算有:移位、按位與 和按位異或,都可W簡單地用數(shù)字電路實現(xiàn),且SHA-2在硬件中的運算速度很快。SHA-2可 W很容易地實現(xiàn)對數(shù)據(jù)的壓縮,采用數(shù)據(jù)輸入輸出比為1:1時,輸入位數(shù)與輸出位數(shù)相同, 不減小數(shù)據(jù)輸出速度。
[0087] 從信號發(fā)生的角度看,本文論述的方法,生成的均勻分布偽隨機數(shù)的質(zhì)量已經(jīng)比 較好了。如果將本實用新型生成的偽隨機數(shù)經(jīng)過如圖9所示編碼電路處理后,可改善生成 偽隨機數(shù)的質(zhì)量。當此編碼電路選用如圖10所示Hash編碼電路時,可生成極高質(zhì)量的均 勻分布偽隨機數(shù),能夠很好的滿足各項隨機性測試,可用于密碼學等領(lǐng)域?qū)﹄S機數(shù)質(zhì)量有 嚴格要求的場合。經(jīng)過此編碼電路處理后,輸出偽隨機數(shù)的序列周期跟輸入偽隨機數(shù)的序 列周期相同,但每一位的序列周期都擴展為跟多數(shù)據(jù)位偽隨機數(shù)的序列周期相同,也就是 說偽隨機數(shù)的賭值得到了改善。圖10電路中輸入的偽隨機信號,經(jīng)過數(shù)據(jù)位轉(zhuǎn)換電路,將 高速率低位寬的偽隨機信號串并轉(zhuǎn)換成低速率高位寬的偽隨機信號,經(jīng)過化Sh編碼電路 生成相同速率的偽隨機信號,再經(jīng)數(shù)據(jù)位轉(zhuǎn)換電路,將低速率高位寬的偽隨機信號并串轉(zhuǎn) 換成高速率低位寬的輸出偽隨機信號。多相時鐘發(fā)生電路,將輸入時鐘信號分頻,產(chǎn)生多路 的低頻時鐘信號,每路低頻時鐘信號的相位相差一個輸入時鐘周期,用于串并及并串轉(zhuǎn)換 電路。輸入時鐘與低頻時鐘的頻率比等于化Sh編碼信號與輸入信號數(shù)據(jù)位寬的比值。輸 出時鐘與低頻時鐘的頻率比等于化Sh編碼信號與輸出信號數(shù)據(jù)位寬的比值。本實用新型 有多組輸出數(shù)據(jù)位轉(zhuǎn)換電路,可生成多種位寬的偽隨機信號,通過一個多選一開關(guān),選擇其 中的一組偽隨機信號輸出。
[0088] 生成均勻分布的偽隨機數(shù)后,就容易生成各種分布的偽隨機噪聲信號了。例如可 W產(chǎn)生均勻分布數(shù)字白噪聲信號、高斯分布數(shù)字白噪聲信號,也可W產(chǎn)生其它分布數(shù)字噪 聲信號,其均值、方差、譜密度可調(diào)節(jié)。由均勻分布數(shù)字白噪聲信號轉(zhuǎn)換成其它分布偽隨機 數(shù)字噪聲信號的電路框圖如圖11所示。生成其它分布數(shù)字噪聲信號時,均勻分布數(shù)字白噪 聲信號經(jīng)過查找表轉(zhuǎn)換成所需分布的數(shù)字噪聲信號。改變查找表中的數(shù)值,可W改變數(shù)字 噪聲信號的分布、均值、方差。查找表的輸入數(shù)據(jù)位數(shù)P、輸出數(shù)據(jù)位數(shù)r越大,查找表消耗 的存儲單元越多,生成偽隨機數(shù)字噪聲信號的精度越高。生成偽隨機數(shù)字白噪聲信號時,輸 出的數(shù)字噪聲信號帶寬最高約為電路時鐘頻率的一半。
[0089]W32位最長線性反饋移位寄存器生成8位偽隨機數(shù)為例,說明本實用新型中用到 的高速偽隨機數(shù)生成方法的具體實現(xiàn)。取本原多項式l+x2+x6+x7+x32,當前時刻k的電路狀 態(tài)為{Q比]},其寄存器值為比]、Qw比].....Qi比]、Q。比],〇32比]為
[0090]Q32比]=〇30比]出 〇26比]出 〇25比]出Qo比]
[0091] 則遞推式中k+8時刻的電路狀態(tài){Q比+引}為
[0092] Qo比+引=Qs比]
[0093] Qi比+引=化比]
[0094] 〇23 比+8]=〇31 比]
[0095] 〇24比+8]二 〇32比]=〇3〇比]出 〇26比]出 〇25比]出Qo比]
[009引 Q化比+8] = 〇32 比+1]二 〇3〇比+1] ? 〇26比+1] ? 〇25比+1] ?Qo比+1]
[0097] = 〇31 比]出 〇27 比]出 〇26 比]出Ql比]
[009引 026比+8]二〇32比巧]二〇3〇比巧]?〇26比巧]?〇25比巧]?Qo比巧]
[0099] = 〇32比]出 〇28比]出 〇27比]出 〇2 比]
[0100] = 〇30比]出〇28比]出〇27比]出〇26比]出〇25比]出〇2比]出Qo比]
[0101] 〇27 比+引=〇32 比+3]二 〇30 比+3]出 〇26比+3]出 〇25 比+3]出Qo比+3]
[0102] = 〇32比+1]出 〇29比]出 〇28比]出 〇3 比]
[0103] =Q3i[k]出〇29比]出〇28比]出〇27比]出〇26比]出〇3比]出Ql比]
[0104] 〇28 比+8]=〇32 比+4]=〇3。比+4]?〇26 比+4]?〇25 比+4]?〇。比+4]
[0105] =〇32 比+2]出 〇3〇比]出 〇29比]出 〇4 比]二 〇3〇比]出 〇28比]出 〇27比]
[0106] 出Q26比]出〇25比]出〇2比]出Qo比]出〇30比]出〇29比]出〇4比]
[0107] = Q29比]出〇28比]出〇27比]出〇26比]出〇25比]出〇4比]出〇2比]出Qo比]
[010引029比+引=032比巧]二〇30比巧]出Qas比巧]出〇25比巧]出Qo比巧]
[0109] = Q32比+3]出〇31比]出〇3〇比]出Qs比]
[0110] = Qso比]出〇29比]出〇28比]出〇27比]出〇26比]出Qs比]出比]出Ql比]
[01川 Qso比+8] =〇32比+6] = Qso比+6]