密码学_Elgamal密码体制 1

版权声明:转载请附上博客地址 https://blog.csdn.net/weixin_38134491/article/details/84542205

Elgama算法是基于离散对数的算法,应用于数字签名标志DSS、S/MIME电子邮件标准,

与Diffie-Hellman一样,Elgama算法也是用户共同选择一个素数q,α是q的素根,用户A生成的秘钥对如下:

  1. 随机生成整数 XA,1<XA<q-1
  2. 计算 YA=α^XA mod q
  3. A的私钥为 XA, 公钥为 {q, α, YA}

 其他任何用户B通过A的公钥可以加密信息:

  1. 将信息表示为一个整数M,1<=M<=q-1, 以分组密码序列的方式来发送信息,其中每个分块的长度不小于整数q
  2. 选择任意整数k,1<=k<=q-1
  3. 计算一次秘钥 k=(YA)^k mod q
  4. 将M加密城明文对 (C1,C2), C1=α^k mod q,   C2=K·M mod q 

用A恢复明文: 

  1. 计算 K= (C1)^XA mod q 恢复秘钥
  2. 计算 M=(C2·K^-1) mod q

以上是Elgama算法加密全部过程

猜你喜欢

转载自blog.csdn.net/weixin_38134491/article/details/84542205