一種新的混沌RNG的實(shí)現(xiàn)方案及FPGA實(shí)現(xiàn)
在SoC(System on Chip)廣泛應(yīng)用的今天,如何設(shè)計(jì)一個(gè)基于Ic的RiNG就成為安全通信應(yīng)用的急切需要。隨機(jī)噪聲源(如熱噪聲和發(fā)射噪聲)存在于IC中卻總是被人為地屏蔽掉了。因此,利用電路噪聲放大的商用RNG設(shè)計(jì)需要專門的外部組件和特殊硬件來與那些需要屏蔽噪聲的組件隔開。在IC設(shè)計(jì)中,對(duì)數(shù)?;旌闲盘?hào)的處理經(jīng)驗(yàn)表明,底層噪聲和電源噪聲電平總是高于隨機(jī)噪聲源電平。所以一個(gè)不被干擾的白噪聲源在一個(gè)基于IC的數(shù)字加解密系統(tǒng)的RNG中是不可能被使用的,必須考慮如何利用抗干擾的隨機(jī)源來實(shí)現(xiàn)隨機(jī)數(shù)生成器。
本文提出一種新的混沌RNG的實(shí)現(xiàn)方案,更易于用硬件即IC實(shí)現(xiàn)。首先討論其原理和模型及其實(shí)驗(yàn),并對(duì)其進(jìn)行隨機(jī)性測試;然后討論它的FPGA實(shí)現(xiàn)方案。
1 模型及實(shí)驗(yàn)
1.1 隨機(jī)數(shù)生成器的定義
定義1 一個(gè)理想的隨機(jī)數(shù)生成器是一個(gè)生成等概率符號(hào)的離散無記憶信息源(DMIS),RNG是一個(gè)有著正熵的離散信息源。
但是,現(xiàn)實(shí)中的RNG都是產(chǎn)生非均勻概率符號(hào)的離散有記憶信息源。因此采用有偏差的RNG來區(qū)別于定義1中理想的RNG。一個(gè)有偏差的RNG性能的好壞可通過它的冗余度ρ=log2Q-h來衡量,其中Q和h分別是離散符號(hào)集的基數(shù)和相關(guān)信源的熵。一個(gè)理想RNG的冗余度應(yīng)該等于O,而一個(gè)有偏差的RNG的冗余度則標(biāo)志這個(gè)RNG跟理想RNG的差距。例如一個(gè)冗余度為ρ的RNG產(chǎn)生長度為N位的密鑰,則攻擊方平均要嘗試2(1-ρ)N個(gè)密鑰才能找到正確的密鑰,因此密鑰的有效長度可以被定義為Ne=(1-ρ)N。
1.2 混沌隨機(jī)數(shù)生成器模型
混沌理論作為非線性動(dòng)態(tài)系統(tǒng)的分支,近年來受到越來越多的關(guān)注。它使得一個(gè)低維動(dòng)態(tài)系統(tǒng)也可以擁有復(fù)雜的、不可預(yù)料的行為,使復(fù)雜的方程不再是生成隨機(jī)數(shù)序列的必要條件。
混沌系統(tǒng)可以用基于下列迭代關(guān)系式描述的Bemouli移位映射:
式中,e(n)表示一個(gè)高斯噪聲信號(hào)。這個(gè)迭代式表明由(1)式產(chǎn)生的序列是極為平滑和均一分布的。另外,與混沌相關(guān)的軌跡發(fā)散包含了噪聲,(1)式產(chǎn)生的序列在一定范圍內(nèi)是不可預(yù)測的,從而使系統(tǒng)能被當(dāng)作一個(gè)真隨機(jī)比特源。離散時(shí)間混沌法不受其他噪聲源影響。
在電路上實(shí)現(xiàn)Bemouli移位映射的關(guān)鍵在于實(shí)現(xiàn)一個(gè)抗干擾的高斯噪聲信號(hào)。傳統(tǒng)的混沌隨機(jī)數(shù)生成器是用一個(gè)偽隨機(jī)數(shù)生成器產(chǎn)生一個(gè)偽高斯噪聲信號(hào)來實(shí)現(xiàn)(1)中的e(n),如圖1所示,這在一定程度上降低了混沌隨機(jī)數(shù)生成器的安全性和真隨機(jī)性。
典型的振蕩器采樣法是利用時(shí)鐘的相位噪聲(理論上是MOSFET熱噪聲的副產(chǎn)品)產(chǎn)生隨機(jī)數(shù)。通過一個(gè)由較慢時(shí)鐘信號(hào)控制的D觸發(fā)器對(duì)一個(gè)高速時(shí)鐘進(jìn)行采樣,高速時(shí)鐘的相位抖動(dòng)導(dǎo)致具體采樣值的不確定性,如圖2所示,理論上每次采樣都會(huì)產(chǎn)生一個(gè)隨機(jī)比特。典型采樣后的抖動(dòng)電平是符合高斯分布的,而且這種抖動(dòng)不會(huì)受到電路中其他噪聲的干擾。另外,振蕩器采樣法的隨機(jī)性可以通過仔細(xì)挑選快的和慢的時(shí)鐘頻率比來人為增強(qiáng)。采樣時(shí)發(fā)生的非線性偏移現(xiàn)象使得這種振蕩器采樣技術(shù)比目前的確定性噪聲更健壯。
基于上述原理,提出用振蕩器采樣輸出作為一個(gè)高斯噪聲信號(hào)e(n)實(shí)現(xiàn)(1)式。結(jié)合兩種隨機(jī)數(shù)生成器方案實(shí)現(xiàn)混沌隨機(jī)數(shù)生成器,系統(tǒng)原理框圖如圖3所示。
其中S/H(Shilt/Hold)為一個(gè)移位保持電路,用來實(shí)現(xiàn)2(x(n-1)+e(n))。低速時(shí)鐘控制D觸發(fā)器、寄存器和S/H。寄存器中殘余信號(hào)作為初始輸人信號(hào),然后與振蕩1.3 實(shí)驗(yàn)結(jié)果及討論
根據(jù)前面的定義l來檢測本文中提出的混沌RNG的性能,用它生成不同長度的8bit隨機(jī)數(shù)序列,計(jì)算其冗余度,并與參考文獻(xiàn)中的傳統(tǒng)混沌RNG方案做對(duì)比,如圖4所示,點(diǎn)線表示本文提出的方案,實(shí)線表示69是文獻(xiàn)中的方案。通過對(duì)比可以很明顯地看出改進(jìn)后的混沌RNC性能優(yōu)于采用偽隨機(jī)高斯噪聲的傳統(tǒng)混沌RNG方案。
評(píng)論