离散对数加密算法

离散对数也是一种公钥加密算法,和RSA是基于大数分解这一数学难题一样,离散对数加密也是基于一个数学求解的难题,相对于大数据分解,求取离散对数的难度更大,所以离散对数加密也就相对更安全。
对于离散对数加密,下面对几个基本的概念:

1、离散对数求取难题

对于素数 p ,其可构成有限域Gp,可设 g Gp域上的生成元,对于任意 x ,求取h=gx,这个正向运算是非常简单的,但是,在已知 g h的条件下求取 x 则是非常困难的,这就是离散对数的求取难题,很显然,我们可以把x作为私钥,而把 h 作为公钥,反正你知道了h也很难求出 x

2、离散对数加密过程

假定有两个人要进行保密通信,也就是Alice要给Bob通信,Bob他把(p,g,h)作为公钥, k 作为私钥,公钥和私钥的关系是:h=gk
Alice这个时候有条信息 m 需要发送给Bob,她将采用如下的方式加密,首先,她选取一个随机数r,得到 C1=gr C2=mhr ,然后将 (C1,C2) 发送给Bob,这就完成了信息加密的过程,显然,Alice用了Bob的公钥进行加密,并且从加密的过程可以看出,Alice,随便选了一个 r ,但她给Bob传的是C1=gr,依据离散对数的求取难题,她可以放心的这样传,因为很难从 C1 得到 r

3、离散对数解密过程

Bob收到信息之后就利用自己的私钥进行解密:
C2(Ck1)1=mhrgrk=mgrkgrk=m

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值