Stream-Cipher
流密碼中的隨機數角色
現代流密碼通常預測密碼系統中隨機數(也稱為 IV)的使用。用隨機數初始化密碼的成本因算法而異(例如,這個成本在 HC-256 上似乎非常高,而在 Salsa 20 上可以忽略不計)。我想知道隨機數的正確使用模式以及密碼系統中的流密碼。我唯一確定的是,他們絕不能重複…
- 對於每條傳輸的消息,它是否都需要是新的?
- 一定要保密嗎?(是否假定攻擊者知道)?
是的,沒有。
對於每條傳輸的消息,它是否都需要是新的?
是的,總是這樣,否則這符合 IV 重用,流密碼產生的密鑰流是相同的(因為密鑰流獨立於明文),你最終會得到熟悉的 $ M_0 \oplus M_1 $ .
我認為您在這裡回答了您自己的問題,並指出 IV 絕不能重複。
一定要保密嗎?(是否假定攻擊者知道)?
不,它可以公開,並且通常與消息一起傳輸。它不是鑰匙。如果它必須保密,那麼使用它就沒有多大意義,因為它相當於更改密鑰。
我應該注意到這是一個非常常見的問題,並且可能會作為副本關閉: