ElGamal
算法¶
公私钥生成¶
使用了离散对数困难问题的加密算法。 1. 选择一个素数q,\alpha是q的素根。 2. 随机生成一个整数X_A,使得1<X_a<q-1 3. 计算Y_A=\alpha^{X_A}\mod q 4. A的私钥位X_A,公钥为q,\alpha,Y_a。
加密¶
- 讲信息表示为一个整数M,其中1\leq M \leq q-1,以分组密码序列的方式发送信息。
- 选择任意整数k,使得1\leq k \leq q-1.
- 计算一次密钥 K=Y_A^k \mod q
- 将M加密成密文对(C1,C2),C_1=\alpha ^k \mod q;C_2=KM \mod q
解密¶
- 计算出K=(C_1)^{X_A} \mod q
- 计算M=(C_2 K^{-1}) \mod q
攻击¶
如果k用于多个分块,则知道一个分块即可计算出其他块。
本页面的全部内容在 CC BY-NC-SA 4.0 协议之条款下提供,附加条款亦可能应用。