Stream-Cipher

為什麼流密碼使用隨機數?

  • November 25, 2015

我的問題可能會很愚蠢,但我的問題是我不明白為什麼流密碼需要密鑰和隨機數。據我了解,密鑰流是用隨機數生成的。相同的密鑰可以與不同的 nonce 重用。

每次都使用一個新密鑰不是更簡單嗎?如果我理解得很好,那麼收件人需要 nonce 來解密消息。傳遞隨機數比傳遞密鑰更簡單嗎?

根據密碼的現代定義,必須可以使用相同的密鑰對多個消息進行加密。由於難以安全地建立共享密鑰,這也是一種實際需要。該問題通過 nonce 解決,它不是秘密的,可以作為密文的一部分傳輸(通常:在開頭)。

如果沒有隨機數,或者如果隨機數重複,則密鑰流將重複,這將允許破解密碼,例如使用單個已知明文。

因為 nonce 不是秘密的,所以傳達 nonce 比安全傳達密鑰更簡單。更改 nonce 會更改解密的消息,但一般流密碼不應該允許檢測更改。

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