Multiparty-Computation

是否有一個系統可以讓多人加密一條消息,然後以任何順序解密它?

  • September 29, 2017

例如,A 加密了一條消息。

B對其進行加密。

C對其進行加密。

然後 B 解密,然後是 A,然後是 C。

是否有允許這樣做的系統?這樣的財產有名字嗎?

是的,允許這樣做的系統有一個名稱:交換加密。

在實踐中,有兩個品種:

  • 如果 A、B、C 只是在一個密鑰流中異或,它就會全部通勤。當然,任何人看到中間結果都可以推斷出很多;這可能會使某些用途無法接受。

  • Pohlig-Hellman(與 Pohlig-Hellman 算法無關);我們選擇一個全球素數 $ p $ ,並且每個人都選擇一個相對質數的秘密值 $ p-1 $ ; 一個選秀權 $ a $ , B 選擇 $ b $ , 和 C 選擇 $ c $ . 然後;

    • 愛麗絲加密 $ M $ 通過計算 $ M^a \bmod p $
    • 愛麗絲解密 $ C $ 通過計算 $ M^{a^{-1} \bmod p-1} \bmod p $

如果你通過數學,你會看到:

  • 加密和解密是互逆的,例如 $ \operatorname{Dec}_a(\operatorname{Enc}_a(M)) = M $
  • 就像你問的那樣通勤: $ \operatorname{Enc}_b(\operatorname{Enc}_a(M)) = \operatorname{Enc}_a(\operatorname{Enc}_b(M)) $ , ETC
  • 沒有人可以通過觀察中間結果推斷出任何東西(假設素數大到足以使 DLog 和 Diffie-Hellman 問題變得困難)

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