Elliptic-Curves

將消息的雜湊映射到橢圓曲線點以進行簽名

  • September 16, 2020

讓子群 $ G $ 用點構造的橢圓曲線 $ P $ 以主順序 $ q $ 經過 $ G=\langle P\rangle $ . 這 $ h(x) $ 是一個雜湊函式。我們想映射任意消息的雜湊 $ m $ 到一個點 $ G $ 用於簽名算法(如 BLS)。

為什麼我們不使用 $ k=h(m) \bmod q $ 接著 $ S=kP $ ,而很明顯這一點 $ S $ 在 $ G $ ? 這有什麼缺陷?安全還是效率?

那是不安全的。

在 BLS 簽名中:用於私鑰 $ x $ 和公鑰 $ X = xP $ ,簽名計算為 $ T = xS $ ,並且驗證檢查是否 $ e(T, P) = e(S, X) $ ,這是因為:

  • $ e(T, P) = e(xS, P) = e(xS, P) = e(S, P)^x $
  • $ e(S,X) = e(S, xP) = e(S, P)^x $

如果你知道 $ S = kP $ , 然後你可以為帶有雜湊的消息偽造簽名 $ k’ $ 來自帶有雜湊的消息的簽名 $ k $ 通過簡單的計算 $ T’ = k’k^{-1}T $ ,這是因為:

  • $ T’ = k’k^{-1}xS = k’k^{-1}xkP = xk’P = xS’ $

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