一鍵一鍵多鍵的區別
這些術語讓我很困惑。One time pad 是指您使用一鍵接收一條消息。這就是一次性密鑰。
其次,多次鍵的連接是什麼,我可以多次使用一個時間鍵,它會變成多次鍵嗎?
一次性密鑰是指加密方案設置為只有一條消息可以用密鑰加密。多次密鑰是指可以用一個密鑰對多條消息進行加密。(一次性鍵盤是一次性鍵的一種特殊情況。)
分組密碼的一次性和多次密鑰的語義安全定義可能會有所幫助。在這兩種情況下,對手 $ A $ 送出兩條明文消息 $ m_1 $ 和 $ m_2 $ 到一個在內部選擇其中一個的黑匣子 $ m_1 $ 和 $ m_2 $ 隨機(即, $ m_i $ 和 $ i \in {0,1} $ 隨機),加密 $ m_i $ 使用隨機選擇的密鑰 $ k $ ,並輸出密文 $ C = E_k(m_i) $ . 對手 $ A $ 如果他們能找到成功猜出哪一個的方法,則獲勝 $ m_1 $ 或者 $ m_2 $ 被加密並輸出為 $ C $ .
對於一次性密鑰安全模型,攻擊者只能送出一對消息。然後他必鬚髮起只有一個輸入/輸出來觀察的攻擊。對於多次密鑰安全模型,攻擊者可以送出並觀察幾乎無限數量的消息輸入/輸出對。(的選擇 $ i $ 和 $ k $ 在多鍵模型的每次送出中保持固定。)
為了在多次密鑰模型中安全,加密方案 $ E $ 上面使用的必須是隨機的。如果不是,那麼 $ A $ 很容易破壞語義安全。 $ A $ 將發出三個隨機消息並送出 $ m_1 $ 和 $ m_2 $ 在第一輪並回來 $ c_1 $ , 然後 $ m_1 $ 和 $ m_3 $ 在第二輪並回來 $ c_2 $ . 如果 $ c_1 = c_2 $ 那麼密文是相等的,這意味著加密的明文是相等的,所以黑盒正在加密第一條消息(這在兩個送出中都是相同的)。如果密文不同,則黑盒正在加密第二條消息(送出之間不同)。(請注意,安全性 $ E $ 在一次性密鑰模型中不必隨機化。)
範例:具有固定 IV 的 CTR 模式在一次性密鑰模型中是安全的,但在多次密鑰模型中是不安全的。具有隨機數的 CTR 在兩種模型中都是安全的。