隨機數生成器

Lois發表於2020-07-19

真隨機數生成器 ( TRNG )

真隨機數生成器 ( TRNG )的突出特點就是她的輸出不可複製的。例如,如果我們拋 100 次硬幣並將這 100 次結果記作一個 100 位長的序列:地球上幾乎沒有人可以產生與這 100 位相同的序列。真隨機數生成器都是基於物理過程,主要的例子包括拋硬幣、擲骰子、半導體聲音、數位電路中的時鐘抖動和放射性衰變。密碼學中通常使用 TRNG 生成會話金鑰,然後在 Alice 和 Bob 之間進行分發或用於其他用途。

###(通用的)偽隨機數生成器 ( PRNG )
偽隨機數生成器從一個初始種子開始透過各種計算得到序列。通常,偽隨機數序列是遞迴執行以下計算得到的:

s_0 = seed\\ s_{i +1} = f(s_i), i = 0, 1, ...

其中,a,b,m 都是整型常量。注意:PRNG 並不是真正意義上的隨機,因為它們可以計算出來,因此可以稱為是計算確定的。
對 PRNG 的一個一般要求就是:它必須擁有良好的統計特性,意味著它的輸出近乎與真隨機數序列相同。

本作品採用《CC 協議》,轉載必須註明作者和本文連結
Hacking

相關文章