Rsa
在 RSA 上使用 ElGamal-SIGNATURE 的任何場景?
在家庭作業中,我們被要求舉一個例子,在這種情況下,人們將使用 ElGamal 簽名而不是 RSA 簽名。我發現了這個問題,但答案也只描述了為什麼 RSA 更勝一籌。我現在搜尋了一段時間,但我真的找不到任何理由使用 Schoolbook-ElGamal(不是 DSA 或橢圓曲線)而不是 RSA。
有沒有人有其他想法?
ElGamal 簽名的工作原理如下。定義一個大素數 $ p = 2qs + 1 $ 在哪裡 $ q $ 是一個素數。讓 $ g $ 成為秩序的要素 $ q $ 和一個雜湊函式 $ H\colon {0,1}^* \to \mathbb{Z}_q $ . 公鑰是 $ y = g^x \bmod p $ 和私鑰是 $ x \in \mathbb{Z}_q $ . 消息的簽名 $ m $ 由一對給出 $ (r,s) $ 在哪裡
$$ r=g^k \bmod p\quad\text{and}\quad s = k^{-1}(H(m) - xr) \bmod q $$ 對於隨機整數 $ k \in \mathbb{Z}_q $ . 簽名的有效性 $ (r,s) $ 留言 $ m $ 通過驗證來檢查 $ r^sy^r \equiv g^{H(m)} \pmod p $ . 值得一看的是,簽名生成中的兩個代價高昂的操作,即計算 $ g^k \bmod p $ 和 $ k^{-1} \bmod q $ , 獨立於要簽名的消息。因此可以預先計算它們。當需要快速完成簽名時,ElGamal 簽名可能是首選,例如在收費橋上對汽車進行身份驗證。在這種模式下(稱為離線/線上),
- **$$ off-line phase $$**幾張優惠券 $ (r_i, t_i) $ , 和 $ r_i = g^{k_i} \bmod p $ 和 $ t_i = k_i^{-1} \bmod q $ , 對於隨機整數 $ k_i \in \mathbb{Z}_q $ 是預先計算的;
- **$$ on-line phase $$**當一條消息 $ m $ 必須簽名,簽名者拿一張新的優惠券 $ (r_i, t_i) $ 並將簽名計算為 $ r = r_i $ 和 $ s = t_i(H(m) - xr_i) \bmod q $ .
筆記。
- 一張優惠券只能使用一次。每個簽名都需要一張新的優惠券。
- 在線上階段,一個 ElGamal 簽名的成本只是幾個乘法模 $ q $ (在 RSA 的情況下,這比完全模冪運算要快得多)。