关于真随机数生成器
有關(guān)如何產(chǎn)生隨機數(shù)的理論有許多,如果要詳細地討論,需要厚厚的一本書的篇幅。?
有限狀態(tài)機不能產(chǎn)生真正的隨機數(shù)的,所以在現(xiàn)在的計算機中并沒有一個真正的隨機數(shù)生成算法,現(xiàn)有的隨機數(shù)生成算法生產(chǎn)的隨機數(shù)只不過因為重復的周期比較大,可以做到使產(chǎn)生的數(shù)字重復率很低,這樣看起來好象是真正的隨機數(shù),一般稱作叫偽隨機數(shù)發(fā)生器。?
真正的隨機數(shù)是使用物理現(xiàn)象產(chǎn)生的:比如擲錢幣、骰子、轉(zhuǎn)輪、使用電子元件的噪音、核裂變等等。這樣的隨機數(shù)發(fā)生器叫做物理性隨機數(shù)發(fā)生器,它們的缺點是技術(shù)要求比較高。真隨機數(shù)生產(chǎn)效率沒有偽隨機數(shù)高,還有就是"信息熵的信息量如果很有限的話,就不是一定是真的隨機數(shù)了。"?
還有人質(zhì)疑真正的隨機數(shù)的存在,這是哲學問題,不在此涉及。?
查了下現(xiàn)有的真隨機數(shù)生成器,比如PuTTYgen的隨機數(shù)是讓用戶移動鼠標達到一定的長度,之后把鼠標的運動軌跡轉(zhuǎn)化為種子;Intel通過電阻和振蕩器來生成熱噪聲作為信息熵資源;Unix/Linux的dev/random和/dev/urandom采用硬件噪音生成隨機數(shù);(待補充)?
基于特定Intel芯片組中random number generator(RNG)單元的真隨機數(shù)生成器.在Intel 815E芯片組的個人電腦上安裝Intel Security Driver(ISD)后,可以通過編程讀取寄存器獲取RNG中的隨機數(shù).?
有人在BBS上提到:RSA的書上介紹過一種隨機數(shù)發(fā)生器,根據(jù)的是劣質(zhì)內(nèi)存芯片工作在高溫下,其數(shù)據(jù)是不可預測的,讀取這里面的數(shù)據(jù),就會得到難以預測的隨機數(shù)。有采用這種技術(shù)制作隨機數(shù)發(fā)生器板卡。?
關(guān)于Linux系統(tǒng)的真隨機數(shù)生成器在《Linux內(nèi)核設(shè)計與實現(xiàn)》一書的附錄B中有詳細介紹?
Linux自1.3.30版就在內(nèi)核提供了真隨機數(shù)生成器,至少是理論上能產(chǎn)生真隨機數(shù),它利用機器的噪音生成隨機數(shù),噪音源包括各種硬件運行時速,用戶和計算機交互時速。比如擊鍵的間隔時間、鼠標移動速度、特定中斷的時間間隔和塊IO請求的響應時間等。?
此外還有提供真隨機數(shù)的網(wǎng)站,如:?
1。 http://random.irb.hr/ 是一個免費為學術(shù)和科研機構(gòu)提供真隨機數(shù)字服務的網(wǎng)站。全名是Quantum Random Bit Generator Service (QRBGS),由克羅地亞的計算機科學家開發(fā)。其隨機性依賴于半導體光子發(fā)散量子物理過程中內(nèi)在的隨機性,光子通過光電效應進行檢測。這些隨機檢測到的光子都是相互獨立的。?
可以通過C/C++庫、Web Service、Mathmatic/Matlab插件等多種方式訪問。將來會提供基于SSL的安全訪問。?
它甚至還有個小小的Erlang的客戶端訪問程序?
http://code.google.com/p/qrbgerl/?
2. 還有http://random.org/,從1998年開始就在Internet上提供真隨機數(shù)服務了,它用大氣噪音生成真隨機數(shù)?
有人還提到?
用Java可以使用java.security.SecureRandom 產(chǎn)生真隨機數(shù)(待查);?
Linux系統(tǒng)有/dev/random,/dev/urandom向用戶提供真隨機數(shù);?
Windows系統(tǒng)有CryptGenRandom 函數(shù)生成真隨機數(shù)(待查)?
在《數(shù)字追兇 numb3rs》第6季中有一集是通過預測彩票所采用的偽隨機數(shù)算法進行彩g票f詐w騙的。?
2010年,德國研究人員開發(fā)出一種產(chǎn)生真隨機數(shù)的新方法,他們希望能改進互聯(lián)網(wǎng)安全。?
隨機數(shù)是計算機和互聯(lián)網(wǎng)安全的重要組成部分,網(wǎng)站和瀏覽器利用一把會話鑰匙加密兩者之間發(fā)送的數(shù)據(jù)。偽隨機數(shù)可以預測和破解,研究人員一直在研究能產(chǎn)生真正的、無法預測的隨機數(shù)方法。德國的研究團隊現(xiàn)在開發(fā)出一種真隨機數(shù)發(fā)生器,它使用的計算機內(nèi)存雙態(tài)觸發(fā)器作為隨機的一個額外層,觸發(fā)器可隨機的在1或0狀態(tài)中切換,在切換之前,觸發(fā)器處于行為無法預測的“亞穩(wěn)態(tài)”。在亞穩(wěn)態(tài)結(jié)束時,內(nèi)存中的內(nèi)容為完全隨機。研究人員對一個觸發(fā)器單元陣列的實驗顯示,這種方法產(chǎn)生的隨機數(shù)比傳統(tǒng)方法“隨機”約20倍。?
經(jīng)典物理學不存在真正的隨機性,而量子世界從本質(zhì)上講就是真正隨機的,是不可預測的。根據(jù)發(fā)表在2010年4月最新一期《自然》雜志上的報告,比利時物理學家S. Pironio和同事利用“遠距離的幽靈般作用”創(chuàng)造出了真隨機數(shù)。?
他們利用了糾纏粒子的隨機性和非局域性屬性。研究人員首先在理論上發(fā)現(xiàn),一個“貝爾不等式”的破壞證明新的隨機性的產(chǎn)生,它獨立于任何實現(xiàn)細節(jié)。為了闡釋該方法,他們隨后進行了一個實驗,在該實驗中,正如用他們創(chuàng)建的理論工具所證實的那樣,產(chǎn)生了42個新的隨機位。研究人員稱,這項研究可用于設(shè)計出真正的無法預測隨機數(shù)生成器。?
http://developers.solidot.org/article.pl?sid=10/02/23/0645203?
http://www.sciencedaily.com/releases/2010/02/100222082529.htm?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed:+sciencedaily+(ScienceDaily:+Latest+Science+News)?
2011年,加拿大渥太華的物理學家Ben Sussman利用激光脈沖和鉆石創(chuàng)造了真隨機數(shù)。用真隨機數(shù)編碼的信息將難以被黑客破解。?
Sussman的實驗室使用持續(xù)幾萬億分之一秒的激光脈沖照射鉆石,激光進入和出來的方向發(fā)生了變化。Sussman稱改變與量子真空漲落的相互作用有關(guān),量子力學與大多數(shù)物理學法則不同,不可能知道真正發(fā)生了什么。他認為這可以用于創(chuàng)造真正的隨機數(shù)。?
2012年,史上最快的隨機數(shù)生成器:從真空中的亞原子噪音獲取隨機數(shù)?
量子力學告訴我們亞原子對會持續(xù)自發(fā)的產(chǎn)生和湮滅,即使是在真空里也一樣。通過監(jiān)聽真空內(nèi)亞原子粒子量子漲落產(chǎn)生的噪音,澳大利亞國立大學的科學家們建造了世界上最快的隨機數(shù)發(fā)生器。研究小組開發(fā)了可以通過激光監(jiān)聽真空中隨機噪音的工具并以此產(chǎn)生真正的隨機數(shù)。?
隨機數(shù)生成網(wǎng)頁?
http://article.yeeyan.org/view/219269/266017?
參考:?
http://www.cnblogs.com/hehehu/archive/2005/08/23/221125.html?
http://bbs.chinaunix.net/viewthread.php?tid=1054170&extra=&page=1
總結(jié)
- 上一篇: 最大公约数最小公倍数
- 下一篇: 模运算及其性质