离散对数加密算法

来源:互联网 发布:ppt 触发器 mac 设置 编辑:程序博客网 时间:2024/05/17 07:45

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

1、离散对数求取难题

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

2、离散对数加密过程

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

3、离散对数解密过程

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

0 0
原创粉丝点击