Diffie Hellman 密钥交换原理及ElGamal加密算法
本文最后更新于:2022年7月21日 下午
Diffie Hellman 密钥交换原理及ElGamal加密算法
密钥交换指的是两名用户在不安全信道中,在没有任何预先消息的情况下商量出一个密钥,从而建立一个安全信道。
Diffie和Hellman是两个人,他们在1976年发明了这个算法。
算法安全性基于离散对数问题:已知p是质数,g和x是整数,计算快。但是已知p,g,y,计算x很困难。
过程
- Alice和Bob先选择一个质数p和一个整数g(公开)
- Alice选择一个秘密整数a,计算,然后将A发送给Bob(A公开)
- Bob选择一个秘密整数b,计算,然后将B发送给Alice(B公开)
- Alice计算。
- Bob计算。
- 可知
ElGamal加密算法
本原根
满足,且,则是的本原根。
Elgamal加密算法是基于Diffie Hellman 密钥交换的非对称加密算法,过程如下:
- 选择质数,公开
- 计算模情况下的本原根,公开
- 选择整数作为私钥
- 计算公钥
- 设明文,随机选择整数,使与互质
- 计算
- 计算
- 密文为
- 解密明文为
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!