Signature

我的 El Gamal 簽名範例有什麼問題

  • June 2, 2019

我正在嘗試使用 El Gamal 對消息 m 進行數字簽名。到目前為止,我無法驗證我使用 El Gamal 製作的數字簽名。

我正在使用素數p = 8369。素數根g = 3031。私鑰參數x = 61。和消息m = 9876

我正在計算yr為:

  • y = 3031 ^ 61 模 8369 = 3400
  • r = 3031 ^ 11 模 8369 = 2954

簽名消息 s, s = k^-1 (m – xr) mod (p-1)

  • s = 11 ^ -1 (9876 - 61 * 2954) mod 8368
  • s = 13788/11 這不可能是正確的

然後,我嘗試從 11 中刪除逆冪,我在另一個範例中看到了它,它產生了以下結果

  • s = 11 (9876 - 61 * 2954) 模 8368 = 934

當我使用v = g^m mod pw = y^rr^s mod p我得到了

  • v = 3031 ^ 9876 模 8369 = 6346
  • w = 3400 ^ 2954 * 2954 ^ 934 模 8369 = 855

V 和 W 不匹配意味著簽名無效,我在驗證中犯了錯誤。我哪裡出錯了,我在正確的軌道上嗎?

一般情況下, $ k^{-1} $ 等於 $ x $ 這樣 $ x \cdot k=1 $ . 在你的問題中,計算 $ 11^{-1} $ ,你必須找到 $ x $ 這樣 $ x\cdot11=1 \pmod {8368} $ . 你可以計算 $ x $ 通過使用擴展歐幾里得算法。

在這種情況下,它應該是 11^(-1)= 3043 mod 8368

例如,您可以使用此計算器

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