一種物理性隨機數(shù)發(fā)生器及真隨機數(shù)的生成方法
【專利摘要】本發(fā)明提出了一種物理性隨機數(shù)發(fā)生器,及真隨機數(shù)的生成方法,該裝置包括水槽(由側(cè)板、底板組成)、液體、反射罩、CCD芯片、電燈、控制器、浮球、彈簧、旋轉(zhuǎn)軸、電動機等,其中浮球通過彈簧與旋轉(zhuǎn)軸連接,底板用透明的材料制作,CCD芯片位于底板的下方。該裝置生成隨機數(shù)的方法是,旋轉(zhuǎn)軸旋轉(zhuǎn)時,浮球從液體表面掠過,對液體加以擾動,液體的表面會發(fā)生復(fù)雜而難以預(yù)測的變化,而對該液體進行照射時,液體表面的微小變化,就會導(dǎo)致光線折射、反射方向的巨大變化,故照射到CCD芯片上的光線的強度會發(fā)生不規(guī)則的變化,CCD芯片將光信號轉(zhuǎn)化為電信號,最終輸出即為真隨機序列。該裝置的生成隨機數(shù)的效率較高,成本較低。
【專利說明】一種物理性隨機數(shù)發(fā)生器及真隨機數(shù)的生成方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明是一種隨機數(shù)發(fā)生器及隨機數(shù)的生成方法,具體地說,是一種物理性隨機數(shù)發(fā)生器及真隨機數(shù)的生成方法。
【背景技術(shù)】
[0002]在密碼技術(shù)中,隨機數(shù)的生成是極為重要的,它往往是生成密鑰、口令的基礎(chǔ)。而隨機數(shù)發(fā)生器,分為偽隨機數(shù)發(fā)生器、真隨機數(shù)發(fā)生器2類。
[0003]而以往的隨機數(shù)發(fā)生器,往往是偽隨機數(shù)發(fā)生器,例如常見的rand(),每次運行的結(jié)果都是一樣的。雖然在實際中人們使用的隨機數(shù)發(fā)生器,比randO復(fù)雜,但它們往往都是偽隨機數(shù)發(fā)生器,其生成的結(jié)果是偽隨機的。事實上,任何基于計算機的算法的隨機數(shù)發(fā)生器,都是偽隨機數(shù)發(fā)生器,故它們是有規(guī)律可循的,理論上是可破解的。
[0004]以往也有一些真隨機數(shù)的生成方法,比如擲錢幣、擲骰子、轉(zhuǎn)輪、使用電子元件的熱噪音、核裂變、混沌激光、混沌電路等。這樣的隨機數(shù)發(fā)生器叫做物理性隨機數(shù)發(fā)生器,它們的缺點是技術(shù)要求比較高。使用電子元件的熱噪音來生成隨機數(shù),成本相對較低,但其生成效率(碼率)較低。使用混沌激光來生成隨機數(shù),生成效率較高,但成本較高。
[0005]而多種以往所謂的真隨機源,事實上生成的并不是真隨機數(shù),例如,使用混沌激光生成的隨機數(shù),雖然使用計算機難以算出,但是如果對另一個激光器設(shè)置相同的初始條件,就可產(chǎn)生相同的信號。在各種真隨機源被深入研究并被深入了解后,它們都可能不再是安全的(不再是不可破解的),故尋找新的真隨機源,是非常重要的。
【發(fā)明內(nèi)容】
[0006]為了提高真隨機數(shù)的生成效率、降低生成真隨機數(shù)的成本,本發(fā)明提出了一種新的生成真隨機數(shù)的裝置和方法。
[0007]本發(fā)明是基于這樣的一種物理現(xiàn)象而提出的:當(dāng)液體被擾動,液體的表面就會發(fā)生復(fù)雜而難以預(yù)測的變化,而對該液體進行照射時,液體表面的微小變化,就會導(dǎo)致光線折射、反射方向的巨大變化。其具體方法是:使用葉片、浮球等對液體進行擾動,并對該液體進行照射,在液體底部設(shè)置CCD芯片,就可將光信號轉(zhuǎn)化為數(shù)字信號,這種數(shù)字信號就是隨機性很好的數(shù)據(jù)。這是一種新的生成隨機數(shù)的方法,我們還可接續(xù)這一發(fā)明,著手進行進一步的研究。
[0008]該裝置的結(jié)構(gòu)是這樣的(參見圖1、圖2、圖3):它包括有一個水槽(由側(cè)板、底板組成),水槽的底板下設(shè)一 CCD芯片,水槽上有一反射罩。反射罩上安裝一個電燈。反射罩上還安裝一至多個對液體進行擾動的系統(tǒng)(包括旋轉(zhuǎn)葉片、浮球、彈簧、旋轉(zhuǎn)軸、電動機等,以下簡稱擾動系統(tǒng))。
[0009]以下對該裝置進行詳細介紹。
[0010]該水槽的側(cè)板,形狀是不規(guī)則的,不是常見的圓形、方形等,制作時,可手工敲擊,以形成不確定的、唯一的形狀??稍谄鋬?nèi)表面再貼上反光布等反光材料,或在其內(nèi)表面鍍上招、銀等材料,以提聞反射光線的能力。
[0011]水槽的底板,為玻璃等透明材料。
[0012]水槽的底板下設(shè)一 CCD芯片,它可將光信號轉(zhuǎn)化為數(shù)字信號。數(shù)據(jù)可直接輸出,也可先保存在存儲器中,到需要時再輸出。也可以這些數(shù)據(jù)為基礎(chǔ),再使用一定的加密算法,進行變換,再將變換的結(jié)果輸出,這樣數(shù)據(jù)的隨機性會更強,更難攻擊。CCD芯片,通常小于底板。在底板下方與CCD芯片不接觸的部分,可貼上反光材料,以提高反射光線的能力。
[0013]水槽上設(shè)一反射罩,其形狀也是不規(guī)則的,并可手工敲擊,產(chǎn)生不規(guī)則的凹凸。反射罩,可用鋁、不銹鋼等反射光線能力較強的材料制作,也可在其內(nèi)表面再貼上反光布等反光材料,或在其內(nèi)表面鍍上鋁、銀等材料,以提高反射光線的能力。
[0014]反射罩上設(shè)一電燈,為增加數(shù)據(jù)的隨機性,其電流可由控制器控制,使電流不規(guī)則變化,故亮度會不規(guī)則變化。
[0015]擾動系統(tǒng)的旋轉(zhuǎn)軸上有一電動機,為增加數(shù)據(jù)的隨機性,其電流也可由控制器控制,控制器內(nèi)置特定算法,使電流不規(guī)則變化。
[0016]擾動系統(tǒng)的彈簧、浮球,可用透明或半透明的材料制作,以便于透光。而該彈簧可以是金屬彈簧,也可是塑料彈簧等;可以是普通的螺旋彈簧,也可是片彈簧等。而由于浮球是通過彈簧與旋轉(zhuǎn)軸連接的,故隨著旋轉(zhuǎn)速度的變化,浮球的線速度、角速度、旋轉(zhuǎn)半徑也發(fā)生不規(guī)則變化。制作浮球時,也可手工敲擊,使其形狀不確定。
[0017]擾動系統(tǒng)也可使用旋轉(zhuǎn)葉片對液體進行擾動,制作旋轉(zhuǎn)葉片時,也可手工敲擊,使其形狀不確定。
[0018]反射罩上設(shè)一注液口,底板上設(shè)一排液口(平時用塞子密封,在清洗內(nèi)壁等情況下用于排空液體)。還可加裝一個連通器,用以觀察液位,通??捎貌Aе谱?,且可在加足液體的位置做標記,以便于加注液體。
[0019]擾動系統(tǒng)可以安裝在反射罩的正中間,旋轉(zhuǎn)軸可以是垂直的。擾動系統(tǒng)也可安裝在其他的位置,其旋轉(zhuǎn)軸的方向也可是傾斜的(參見圖3),也可是任何其他的方向。旋轉(zhuǎn)軸與電動機的轉(zhuǎn)子直接相連或通過傳動裝置相連。若旋轉(zhuǎn)葉片的旋轉(zhuǎn)軸,設(shè)于浮球的旋轉(zhuǎn)軸的下方,為使電動機不浸沒于液體中,可通過傳動裝置來給旋轉(zhuǎn)葉片,及其旋轉(zhuǎn)軸,提供動力。若旋轉(zhuǎn)葉片的旋轉(zhuǎn)軸,與浮球的旋轉(zhuǎn)軸一樣,都置液體的上方,為避免,浮球的旋轉(zhuǎn)軸旋轉(zhuǎn)時,彈簧碰到旋轉(zhuǎn)葉片的旋轉(zhuǎn)軸,可將浮球的旋轉(zhuǎn)軸制作成桶形,將旋轉(zhuǎn)葉片的旋轉(zhuǎn)軸,置于浮球的旋轉(zhuǎn)軸之中。而這些方法,是本領(lǐng)域的技術(shù)人員易于想到的,故不再贅述。
[0020]而浮球與旋轉(zhuǎn)葉片,也可安裝在同一個旋轉(zhuǎn)軸上。
[0021 ] 此外,還可在側(cè)板上,或液體中,設(shè)置振動源,這也可極大地增加液面變化的復(fù)雜性。如果旋轉(zhuǎn)葉片是手工制作的,則擾動系統(tǒng)工作時,擾動系統(tǒng)就可能因為2個旋轉(zhuǎn)葉片不對稱而發(fā)生振動,則擾動系統(tǒng)本身就是振動源。
[0022]如果該裝置中存放的液體,是水,那么金屬構(gòu)件(例如金屬彈簧)易被腐蝕,且當(dāng)水泄露時,可能對裝置造成損壞(例如短路),而且水會不斷揮發(fā),越來越少。而塑料彈簧很容易老化失效,金屬彈簧則好得多。而該裝置中存放的液體,也可不是水。如果該裝置中存放的液體,是酒精,它就不會對金屬構(gòu)件造成腐蝕,也不會造成短路,但會不斷揮發(fā),還容易引起火災(zāi)、爆炸。如果該裝置中存放的液體,是丙三醇、乙二醇苯醚等不易揮發(fā)的液體,它不會對金屬構(gòu)件造成腐蝕,也不會造成短路,也會不斷揮發(fā),而且其粘度與水的差異較大。當(dāng)然也可采用其他種類的液體,而且可以將多種液體進行混合,甚至添加增稠劑,以改變粘度等物理特性,以增加液面變化的復(fù)雜性。而多種液體混合的比例,添加增稠劑的比例,也可隨機確定,使每一個裝置都具有唯一性,增加攻擊的難度。
[0023]該裝置的工作原理是:工作時,先向水槽中加入足夠的水(或其他液體),旋轉(zhuǎn)軸旋轉(zhuǎn)時,浮球從水表面掠過,對水加以擾動,而水波遇到水槽的側(cè)板時,就會被反射,故水面會發(fā)生不規(guī)則的變化。光線照射到水面時,一部分光線會被折射,一部分光線會被反射,而光線反射到反射罩上,也會被再次反射(向多個不規(guī)則的方向)。而水面的不規(guī)則的變化,會導(dǎo)致CCD芯片上各處的光線強度,會發(fā)生不規(guī)則的變化。CCD芯片將光信號轉(zhuǎn)化為電信號,最終輸出即為真隨機序列。這些數(shù)據(jù)可直接將其輸出,也可先保存在存儲器中,到需要時再輸出。
[0024]由于浮球的旋轉(zhuǎn)軸旋轉(zhuǎn)的速度是不規(guī)則的,故浮球的線速度、角速度、旋轉(zhuǎn)半徑、運動方向會不規(guī)則變化。而反射回來的水波,也會與浮球形成的擾動相疊加。如果再增加擾動葉片,水面的變化就會更為復(fù)雜。該系統(tǒng)中,CCD芯片上的光的強度的變化情況,極為復(fù)雜(水波的綜合作用是復(fù)雜的),即使提出一個近似的數(shù)學(xué)模型,該數(shù)學(xué)模型也是復(fù)雜的,而用該數(shù)學(xué)模型進行的運算,運算量也是巨大的,故以普通的計算機是難以對其進行模擬的,更無法對其進行精確的模擬。
[0025]該裝置的輸出隨機數(shù)的效率(碼率),主要決定于CXD芯片的像素數(shù),及幀率。像素數(shù)、幀率越大,輸出效率越高。為提高輸出效率,還可增加CCD芯片的數(shù)量,但這樣會使成本增加。
[0026]當(dāng)這種裝置中的CXD芯片的像素數(shù)及幀率足夠高時,這種裝置的輸出隨機數(shù)的效率(碼率),就可超過使用電子元件的熱噪音來生成隨機數(shù)的裝置。而在使用的擾動系統(tǒng)較少、CXD芯片的像素數(shù)較低等情況下,這種裝置的成本,就可低于使用混沌激光來生成隨機數(shù)的裝置。
[0027]當(dāng)然,本發(fā)明,也可采用對另一個裝置設(shè)置相同的初始條件的方法來破解,但是,這種裝置對初始條件是極為敏感的,液體表面的微小變化,就會導(dǎo)致光線折射、反射方向的巨大變化。正因為敵手難以精確地模擬初始條件,故這種方法、裝置是難以破解的。這是本發(fā)明,與其他的所謂的真隨機源的,關(guān)鍵區(qū)別之一。
【專利附圖】
【附圖說明】
[0028]圖1該裝置的結(jié)構(gòu)示意圖
[0029]圖2該裝置去除反射罩后的俯視圖
[0030]圖31-1剖面的剖視圖
[0031]其中:控制器I電動機2反射罩3注液口 4旋轉(zhuǎn)軸5浮球6彈簧7旋轉(zhuǎn)葉片8 C⑶芯片9側(cè)板10電燈11底板12塞子13反光材料14存儲器15排液口 16連通器17
【具體實施方式】
[0032]在實際應(yīng)用中,只要采用2個擾動系統(tǒng),就可使輸出的數(shù)據(jù)達到很好的隨機性,而這樣的裝置成本較低。
[0033]其中一個擾動系統(tǒng)安裝在反射罩的正中間,旋轉(zhuǎn)軸是垂直的,旋轉(zhuǎn)軸上安裝一個浮球,浮球與旋轉(zhuǎn)軸之間用彈簧連接。此外,該旋轉(zhuǎn)軸上再安裝一對旋轉(zhuǎn)葉片。
[0034]而另一個擾動系統(tǒng)不安裝在反射罩的正中間,旋轉(zhuǎn)軸是傾斜的。
【權(quán)利要求】
1.一種隨機數(shù)發(fā)生器,其特征是,它包括側(cè)板、底板、液體、反射罩、CCD芯片、電燈、1或多個所述的擾動系統(tǒng)、所述的控制器、所述的存儲器、1個連通器、所述的塞子,其中,底板位于側(cè)板的下方,反射罩位于側(cè)板的上方,CCD芯片位于底板的下方,電燈位于反射罩上,所述的控制器與電燈、所述的擾動系統(tǒng)連接,反射罩上設(shè)一注液口,底板上設(shè)一排液口,所述的塞子塞在排液口處,所述的連通器的下部與側(cè)板連接。
2.根據(jù)權(quán)利要求1所述的隨機數(shù)發(fā)生器,所述的擾動系統(tǒng),其特征是,它包括浮球、彈簧、旋轉(zhuǎn)軸、電動機,其中浮球通過彈簧與旋轉(zhuǎn)軸連接,旋轉(zhuǎn)軸與電動機的轉(zhuǎn)子直接相連或通過傳動裝置相連。
3.根據(jù)權(quán)利要求1所述的隨機數(shù)發(fā)生器,所述的擾動系統(tǒng),其特征是,其電動機安裝在反射罩上。
4.根據(jù)權(quán)利要求1所述的隨機數(shù)發(fā)生器,所述的擾動系統(tǒng),其特征是,它包括旋轉(zhuǎn)葉片、旋轉(zhuǎn)軸、電動機,其中旋轉(zhuǎn)葉片與旋轉(zhuǎn)軸直接相連,旋轉(zhuǎn)軸與電動機的轉(zhuǎn)子直接相連或通過傳動裝置相連。
5.根據(jù)權(quán)利要求1所述的隨機數(shù)發(fā)生器,所述的控制器,其特征是,它內(nèi)置特定算法,使電流不規(guī)則變化。
6.根據(jù)權(quán)利要求1所述的隨機數(shù)發(fā)生器,所述的底板,其特征是,它使用透明的材料制作。
7.根據(jù)權(quán)利要求1所述的隨機數(shù)發(fā)生器,所述的底板,其特征是,在底板下方與CCD芯片不接觸的部分,貼有反光材料。
8.根據(jù)權(quán)利要求1所述的隨機數(shù)發(fā)生器,所述的側(cè)板,其特征是,其內(nèi)表面貼有反光材料,或其內(nèi)表面鍍有鋁或銀。
9.根據(jù)權(quán)利要求1所述的隨機數(shù)發(fā)生器,所述的反射罩,其特征是,它用鋁或不銹鋼制作,或在其內(nèi)表面貼有反光材料,或其內(nèi)表面鍍有鋁或銀。
10.一種真隨機數(shù)的生成方法,其特征是,對液體加以擾動,并對該液體進行照射,液體下方的CCD芯片將光信號轉(zhuǎn)化為數(shù)字信號,CCD芯片輸出的數(shù)字信號就是需要的隨機序列。
【文檔編號】G06F7/58GK104281434SQ201310269525
【公開日】2015年1月14日 申請日期:2013年7月1日 優(yōu)先權(quán)日:2013年7月1日
【發(fā)明者】吳寧飛 申請人:吳寧飛