Signature
我的 El Gamal 簽名範例有什麼問題
我正在嘗試使用 El Gamal 對消息 m 進行數字簽名。到目前為止,我無法驗證我使用 El Gamal 製作的數字簽名。
我正在使用素數p = 8369。素數根g = 3031。私鑰參數x = 61。和消息m = 9876
我正在計算y和r為:
- 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 p和w = 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
例如,您可以使用此計算器。