隨機數生成器
PRNG(偽隨機數生成器)是一種演算法,它以複雜且看似不可預測的模式輸出數字。真正的隨機數(例如,來自放射源)是完全不可預測的,而所有演算法都是可預測的,並且當給定相同的起始引數或種子時,PRNG 會返回相同的數字。
PRNG 可用於多種應用,例如遊戲。
加密安全 PRNG 是一種具有某些額外屬性的 PRNG,使其適用於密碼學。這些屬性包括:
- 攻擊者(在不知道種子的情況下)在計算上無法預測其輸出
- 如果攻擊者能夠推斷出其當前狀態,這不應使攻擊者能夠推斷出之前發出的數字。
大多數 PRNG 並非加密安全。
另見
- 偽隨機數生成器(維基百科)
Math.random(),一個內建的 JavaScript PRNG 函式。請注意,這不是一個加密安全的 PRNG。Crypto.getRandomValues():這個函式旨在提供加密安全的數字。