Elliptic-Curves

橢圓曲線 ECIES 是否有代理重加密算法?

  • April 17, 2021

我想知道是否有一種方法可以為 ECIES 公鑰加密執行代理重新加密(即給定使用 Alice 的公鑰加密的消息,使用 Bob 的公鑰重新加密它)。這甚至可能嗎?

在 ECIES 中,密文是一對:

$$ rG, \text{Encrypt}_{h(raG)}(Message) $$ 這裡:

  • G 是塊生成點
  • aG 是加密的公鑰(在本例中為 Alice 的)
  • r 是一個隨機值
  • 加密是一些對稱密碼(細節不重要)

代理加密器需要做的是將其轉換為:

$$ r’G, \text{Encrypt}_{h(r’bG)}(Message) $$ 在哪裡 $ bG $ 是 Bob 的公鑰,並且 $ r’ $ 是一個可能不同的隨機值。

令人驚訝的是,如果代理加密器知道值,這是可能的 $ ab^{-1} $ (在哪裡 $ a, b $ 是 Alice 和 Bob 的私鑰)。請注意,只知道值 $ ab^{-1} $ , 也不知道 $ a $ 或者 $ b $ , 不顯示任何一個鍵。

代理加密器所做的是將密文替換為:

$$ ab^{-1}(rG), \text{Encrypt}_{h(raG)}(Message) $$ (也就是說,將點乘以 $ ab^{-1} $ 並單獨留下對稱部分)。

如果我們表示 $ r’ = ab^{-1}r $ ,那麼我們注意到這與:

$$ r’G, \text{Encrypt}_{h(r’bG)}(Message) $$ 使用 Bob 的公鑰加密的有效密文也是如此。

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