Three-Pass-Protocol
已知密文和明文,找到對方的三通協議密鑰?
如果我是參與三通協議的第二方(為簡單起見,假設為 Shamir 的三通協議),則:
- Bob 給我發了一個密文
- 我將其加密並發回
- 他刪除了他的加密並將其發回給我
- 我完全解密
使用步驟 1(密文)和 4(明文)中的資訊,我確定 Bob 使用的密鑰有多難?
我知道這是一個有點深奧的案例,但我很好奇。
確定 Bob 使用的密鑰對我來說有多難?
這本質上是離散對數問題;Bob 的鍵是一個值 $ b $ ,他的加密機制是計算值 $ P^b \bmod p $ . 給定 $ P $ , $ P^b \bmod p $ , 恢復 $ b $ 是離散對數的定義。
實際上,你得到了兩對用 Bob 的密鑰加密的值;明文(在第 1 步中加密,在第 4 步中恢復)和交換的密文(在第 2 步中加密並在第 3 步中解密);然而,擁有多對實際上並沒有使離散對數問題變得更容易。
因此,如果組足夠大以使三遍算法安全(例如,足夠大以至於有人聽到步驟 2 和 3 中的值無法恢復 Bob 的密鑰),它也足夠大以使您恢復對稱密鑰也不可行。