Elliptic-Curves

secp256k1:理論上是否可以使用不同的密鑰、消息雜湊和 k 生成相同的簽名?

  • May 6, 2021

對於給定的私鑰 $ d $ , 隨機的 $ k $ 和消息雜湊 $ h $ 是否可能存在不同的集合 $ d $ , $ k $ 和 $ h $ 它使用產生相同的簽名 $ \text{secp256k1} $ 曲線?

我們想要 $ (r,s) $ 兩組不同的相同 $ d,k,h $

在 ECDSA 中

  • $ r = x_0([k]G) \bmod n $ 在哪裡 $ k \in [1,n-1] $ 和 $ x_o $ 是標量乘法的 x 座標 $ [k]G $
  • $ s = k^{-1}\cdot (h+r\cdot d) $ 在哪裡 $ h $ 是最左邊的位 $ h $ 以適應組順序(為簡單起見,我們稱它為 $ h $ 再次)。

現在我們想要同樣的 $ (r,s) $ 為了 $ d,k,h $ 和 $ d’,k’,h’ $

  • $ r = x_0([k]G) = x_0([k’]G) $ 雖然這可能表明 $ k=k’ $ 它不是。原因是座標場 $ p $ 小於訂單 $ n $ 的基點。因此,我們可以有除瑣碎之外的解決方案。
  • $ s = k^{-1}\cdot (h+r\cdot d) = k’^{-1}\cdot (h’+r\cdot d’) $ ,

然後與 $ k’=k $ 我們有;

$$ \begin{align} (d’-d)\cdot r &= (h-h’) \ \end{align} $$

然後與 $ k’\neq k $ 和 $ c = k^{-1} $ 和 $ c’ = k’^{-1} $ (對於我們的眼睛)我們有;

$$ \begin{align} c’\cdot h + c’ \cdot r \cdot d &= c\cdot h’ + c \cdot r \cdot d’ \ c’\cdot h -c\cdot h’ &= c \cdot c \cdot d’ -c’ \cdot r \cdot d \ c’\cdot h -c\cdot h’ &= r \cdot ( c \cdot d’ -c’ \cdot d) \ \end{align} $$

正如我們所知道的 $ r $ ;

任何一個

  • 我們需要找到一個合適的 $ d’ $ 對於給定的 $ d $ 對於給定的不同雜湊值。這是免費的,因為我們只是通過算術找到了私鑰。
  • 或者,我們需要找到一條產生所需雜湊值的消息 $ h’ $ 使我們平等。這很難,因為我們需要打破 SHA256 的原像電阻。

正如我們所看到的,這是可能的,但很難。

對於案件 $ k’\neq k $ 計算是相似的。

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