Three-Pass-Protocol
在 Shamir 的無密鑰協議中是否存在替代 XOR 函式的合適算法?
我認為 Shamir 的無密鑰協議(也稱為三通協議)是一種安全的密碼方案,但設計者只提出了 XOR 函式來加密消息,當竊聽者擁有所有加密消息時,很容易破解:所有竊聽者都有要做的是對它們進行異或,他有純文字
我不記得讀過 Shamir 的原始提案,但我強烈懷疑他從未支持在協議中使用 XOR;如果他提到它,那隻是一個例證。
相反,這就是通常所說的 Shamir 的三通協議:
- 愛麗絲和鮑勃同意一個大素數 $ p $ (比 Alice 想要發送的任何消息都大)
- 愛麗絲想向鮑勃發送消息 $ M $
- 愛麗絲隨機選擇 $ a $ (相對質數 $ p-1 $ )
- 她計算 $ M^a \bmod p $ 並將其發送給 Bob
- Bob 隨機選擇一個 $ b $ (相對質數 $ p-1 $ )
- Bob 計算 $ (M^a \bmod p)^b \bmod p = M^{ab} \bmod p $ 並將其發送給 Alice
- 愛麗絲計算 $ (M^{ab} \bmod p)^{a^{-1} \bmod p-1} \bmod p = M^b \bmod p $ 並將其發送給 Bob
- Bob 計算 $ (M^b \bmod p)^{b^{-1} \bmod p-1} \bmod p = M $
也就是說,它們不是使用異或,而是對素數進行模冪運算;有了這個,恢復 $ M $ 從 $ M^a, M^b, M^{ab} $ 本質上是計算 Diffie-Hellman 問題,即在給定適當參數的情況下很難相信。