1. 程式人生 > >對偽隨機數的攻擊

對偽隨機數的攻擊

一 點睛

和密碼相比,偽隨機數生成器實在是很少被人們所注意,因此我們很容易忘記偽隨機數生成器也可以受到攻擊的。然而,由於偽隨機數生成器承擔了生成金鑰的重擔,因此它經常成為攻擊者的物件。

二 對種子進行攻擊

偽隨機數的種子和密碼的金鑰同等重要。如果攻擊者知道了偽隨機數的種子,那麼他就能夠知道這個偽隨機數所生成的全部偽隨機數列。因此,偽隨機數的種子是不可以被攻擊者知道。

要避免種子被攻擊者知道,我們需要使用不可重現的真隨機數作為種子。

三 對隨機數池進行攻擊

當然,我們一般不會到了需要的時候才當場生成真隨機數,而是會事先在一個名為隨機數池的檔案中記錄隨機位元序列。當密碼軟體需要偽隨機數種子時,可以從這個隨機池中取出所需長度的隨機位元序列來使用。

隨機數池的內容不可以被攻擊者知道,否則偽隨機數的種子就有可能被預測出來。

隨機數池本身並不儲存任何有意義的資訊。我們需要保護沒有任何意義的位元序列,這一點違背常識,但其實卻是非常重要的。