硬件隨機數生成器

從物理過程生成隨機數的設備,而不是通過軟件算法

硬件隨機數生成器(英語:hardware random number generator),或真隨機數生成器True Random Number Generator,縮寫:TRNG)是一種通過物理過程而不是計算機程序來生成隨機數的設備。這樣的設備通常是基於一些能生成低等級、統計學隨機的「噪聲」信號的微觀現象,如熱力學噪聲光電效應量子現象。這些物理過程在理論上是完全不可預測的,並且已經得到了實驗的證實。硬件隨機數生成器通常由換能器放大器模擬數字轉換器組成。其中換能器用來將物理過程中的某些效果轉換為電信號,放大器及其電路用來將隨機擾動的振幅放大到宏觀級別,而模擬數字轉換器則用來將輸出變成數字,通常是二進制的零和一。通過重複採樣這些隨機的信號,一系列的隨機數得以生成。

這張 SSL 加速卡使用硬件生成器來生成加密密鑰,以加密計算機網絡中傳輸的數據。

隨機數據生成器也可以建立在「隨機」的宏觀過程基礎上,比如基於擲硬幣骰子輪盤彩票搖獎機。這些現象中的不可預測性可由動力系統混沌理論證明。雖然在經典力學中宏觀過程都是決定論的,但一個設計良好的此類設備是無法在現實生活中被預測的,因為它的每次使用都依賴於敏感的初始條件。

雖然骰子傳統上被用作賭博的工具或角色扮演遊戲中的「隨機」元素,但早在1890年,維多利亞時代科學家弗朗西斯·高爾頓就描述了一種用骰子來產生科學研究用的隨機數的方法。

硬件隨機數生成器通常每秒只能產生很有限的隨機比特,這意味着它是相對較慢的。為了提高數據產生效率,它們都常被用來生成偽隨機數生成器的「種子」,並以此生成偽隨機的輸出序列。

參見

編輯