密码学_Elgamal密码体制 1

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算法加密全部过程

 

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值