Encryption

具有不同一次性密碼的兩個人可以安全地交換這樣的消息嗎?

  • November 11, 2013

Alice 有一條消息,生成一次性便箋,加密她的消息並將其發送給 Bob。Bob 生成他自己的一次性密碼本,再次加密消息,然後將其發送回 Alice。然後,Alice 使用她的一次性密碼本解密此消息,並將其發送回 Bob,然後 Bob 最後一次使用他的一次性密碼本解密它。

我看到這種技術的唯一問題是:

  1. 它很容易受到中間人的攻擊。
  2. 它需要在發件人和收件人之間來回發送消息兩次。
  3. 如果您想用它與多人交流,它的擴展性就不好。
  4. 需要一種生成加密安全隨機數的方法。

這種加密方法有名字嗎?

如果我們忽略它容易受到中間人攻擊的事實,這種加密資訊的方法在理論上是否安全?

為什麼這種方法沒有被廣泛使用,即上面列出的哪些問題或其他問題使這種方法無法用於生產?

一般方案稱為三通協議,適用於所有可交換密碼。其中一些是安全的,但異或(和模組化添加)是不安全的選擇。

你的方案:

A->B: $ c_1 = m \oplus a $

B->A: $ c_2 = c_1 \oplus b $

A->B: $ c_3 = c_2 \oplus a $

B 計算 $ m = c_3 \oplus b $

攻擊者看到所有 $ c_1 $ , $ c_2 $ 和 $ c_3 $ . 所以他們可以計算:

$ c_1 \oplus c_2 \oplus c_3 = (m \oplus a) \oplus c_2 \oplus (c_2 \oplus a) = m $

從而恢復消息。

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