Encryption

加密的安全性,使用 PRG 作為 keyGen

  • July 22, 2022

我最近懷疑偽隨機生成器(PRG)在密碼學中的用處。

基於 Kereckhoff 原理,我們總是假設所使用的算法是公開的。因此,當我們使用 PRG 從短密鑰生成長密鑰時,我們也在廣播 PRG 算法。

當我們使用 PRG 的輸出作為對稱密鑰加密的密鑰時,是否意味著攻擊者仍然只需要徹底檢查種子的空間?如果是這樣,使用 PRG 的優點是什麼?(我知道 PRG 的輸出必須是真正隨機序列的 IND,但根據我的解釋,我認為這並不重要,因為我認為它們輸入的空間對加密的安全性起主要作用,而不是空間他們的輸出。)

還有一個問題是,種子的長度重要嗎?

讓我懷疑的加密方法是一種加密方案,它只能通過不同輪次的順序排列(即,它將消息分成塊,排列塊,然後排列每個塊中的位)。兩個鍵都是完全偽隨機的。

這是否意味著對手仍然只需要徹底檢查種子的空間嗎?

是的,任何對手都可以做到這一點。但種子是“較小”的私鑰。而這個私鑰是關於 Kerkoff 原理的秘密。今天的密碼學假設長度為 128 甚至 256 的密鑰足夠大,以至於沒有對手可以在合理的時間內詳盡地檢查這些值。我的意思是他必須看看 $ 2^{128} $ 或者 $ 2^{256} $ 價值觀。

這也回答了你的第二個問題。是的,原始密鑰的長度非常重要,因為它設置了安全性。如果關鍵是小,比如 16 位,則很容易查看每個值。

但是為什麼 PRG 還是很重要的呢?首先,理論密碼學非常有趣,為了更好地理解這一點,我推薦Katz & Lindell 的教科書(第 2 版)。對於實際應用,一個好處是可以儲存較短的密鑰。一個例子是 One-Time-Pad,它通常有一個與消息一樣長的鍵。使用 PRG,您可以使用更小的密鑰,並且仍然使用 OTP 的原理。

注意:PRG 通常不用於創建安全密鑰所需的熵。這可以通過安全的隨機數生成器來完成,PRG 可以建構在它之上,但不能作為良好熵的來源。

引用自:https://crypto.stackexchange.com/questions/101137