硬件隨機數生成器
從物理過程生成隨機數的設備,而不是通過軟件算法
此條目沒有列出任何參考或來源。 (2018年6月17日) |
硬件隨機數生成器(英語:hardware random number generator),或真隨機數生成器(True Random Number Generator,縮寫:TRNG)是一種通過物理過程而不是計算機程序來生成隨機數的設備。這樣的設備通常是基於一些能生成低等級、統計學隨機的「噪聲」信號的微觀現象,如熱力學噪聲、光電效應和量子現象。這些物理過程在理論上是完全不可預測的,並且已經得到了實驗的證實。硬件隨機數生成器通常由換能器、放大器和模擬數字轉換器組成。其中換能器用來將物理過程中的某些效果轉換為電信號,放大器及其電路用來將隨機擾動的振幅放大到宏觀級別,而模擬數字轉換器則用來將輸出變成數字,通常是二進制的零和一。通過重複採樣這些隨機的信號,一系列的隨機數得以生成。
![](http://upload.wikimedia.org/wikipedia/commons/thumb/7/74/Sun-crypto-accelerator-1000.jpg/220px-Sun-crypto-accelerator-1000.jpg)
隨機數據生成器也可以建立在「隨機」的宏觀過程基礎上,比如基於擲硬幣、骰子、輪盤和彩票搖獎機。這些現象中的不可預測性可由動力系統和混沌理論證明。雖然在經典力學中宏觀過程都是決定論的,但一個設計良好的此類設備是無法在現實生活中被預測的,因為它的每次使用都依賴於敏感的初始條件。
雖然骰子傳統上被用作賭博的工具或角色扮演遊戲中的「隨機」元素,但早在1890年,維多利亞時代科學家弗朗西斯·高爾頓就描述了一種用骰子來產生科學研究用的隨機數的方法。
硬件隨機數生成器通常每秒只能產生很有限的隨機比特,這意味着它是相對較慢的。為了提高數據產生效率,它們都常被用來生成偽隨機數生成器的「種子」,並以此生成偽隨機的輸出序列。