硬體亂數生成器

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

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

這張 SSL 加速卡使用硬體生成器來生成加密金鑰,以加密電腦網路中傳輸的資料。

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

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

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

參見