隨機是概率論用語,指事前不可預言的,即在相同條件下重復進行試驗,每次結果未必相同,或知道事物過去的狀況,但未來的發展卻不能完全肯定,隨機也有“真隨機”與“偽隨機”。
“真隨機”比如量子力學,因為一個放射性物質原子下一分鐘是否發生衰變是真正隨機的,不可預言的;
“偽隨機”由經過系統的不同的因素造成,或是由于忽略細節不考慮某些因素之后,在宏觀上呈現出來的結果,比如扔骰子、玩轉輪等,若能精準確定受力因素、阻力因素等其結果也可以是確定唯一的,因為在經典力學系統下,事物的軌跡是確定唯一的。
計算機系統中的隨機數也存在真隨機數與偽隨機數,計算機中的真隨機數是靠獲取cpu頻率與溫度的不確定性以及統計一段時間的運算次數每次都會產生不同的值,系統時間的誤差以及聲卡的底噪等來產生的。
偽隨機數是由可確定的函數(線性同余,平方取中等),通過一個種子(時鐘)產生的。如果知道了種子,或者已經產生的隨機數,都可能獲得接下來隨機數序列的信息。因為計算機本就是一種確定的,可預測的的設備它的邏輯單元是固定的,代碼算法是固定的,通過這些固定的東西是不可能產生真隨機數的。
但是在我們的實際的應用中偽隨機數仍是有很高的使用價值,這是因為對于我們使用的系統而言若是忽略隨機數生成器的因素,它對系統產生的影響就是未知的;
若是我們的系統考慮了偽隨機數生成器的因素,則它對系統產生的影響就是已知的。
因此隨機數生成器廣泛應用于計算機和通信等領域。