• ElGamal体制


    1. ElGamal体制

    (1)参数设置

    ① 随机选择大素数p,且要求p-1有大素因子,g是Zp*
    的生成元。

    ② 随机选取一个整数x(1<x<p-1),计算y=g^xmodp

    公开密钥(公钥):k1=(y,g,p)

    私有密钥(私钥):k2=x

    (2)加密

    消息明文为m,随机选取整数r,1<r<p-1,计算:

    c=grmodp,c'=myrmodp

    将密文(c,c')发送给接收方。

    (3)解密

    • 注1:发送方A利用接收方B的公钥进行加密,接收方利用自己的私钥进行解密。
    • 注2:r解密过程中用不到,所以不需告知接收者。另,每次加密r的选取都不同,好处:

    ①如果每次r值不变均相同,则有:

    ②相同明文的密文不同,不同明文的密文可能相同,增加破译难度。

    例 发送方为A,接收方为B,B选择素数p=13171,生成元g=2,私钥 x=23,A将消息m=bu加密后发送给B,消息明文按英文字母表m=bu=0120

    解:密钥生成:

    公钥:y=11852,g=2,p=13171

    私钥:x=23

    加密:

    解密:

    (4)攻击
    攻击者需由y,g,p及y=g^xmodp求出x,该问题称为离散对数问题:

    x=loggy

    注:该问题目前还没有被解决,是公认的数学难题之一。

    注:有如下一些攻击方法:小步大步算法、指数积分法,但威胁不大。

    量子计算机若出现,则可以很轻松穷举破译离散对数问题。

  • 相关阅读:
    select在各个浏览器中的兼容性问题
    pc打开手机站提示切换为手机屏幕
    图片预加载
    div盒子水平垂直居中的方法
    如何检测该浏览器为微信浏览器
    小箭头的写法,z-index在ie7显示混乱问题
    微信a标签不跳转
    css font简写规则
    windows环境cmd下执行jar
    docker制作镜像步骤
  • 原文地址:https://www.cnblogs.com/liugangjiayou/p/12657882.html
Copyright © 2020-2023  润新知