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