Diffie-Hellman加密算法

一、概述

DH秘钥交换算法,可以让双方在完全缺乏对方信息的前提条件下,通过不安全的信道达成一个共享密钥。

此秘钥用于对后续信息交换进行对称加密

二、离散对数问题(Discrete Logarithm Problem,DLP)

如果p是一个素数,g和x是整数,计算 y = g^x mod p 非常快。但是相反,先知道p,g,y要求某个x(离散对数)

满足等式y = g^x mod p 是十分困难的。

15 = 3 ^ x mod 17 ==> x = 6


g和p的选择对此类系统的安全性影响很大,为了保证无法求解离散对数问题,p应该是一个很大的素数。例如

三、

Alice和Bob想共有一个秘钥,用于对称加密。但是他们之间的通信渠道是不安全的。可能被第三方Eve看到。

1.Alice和Bob先对p和g达成一致,而且是公开的,Eve也是知道的他们的值

2.Alice取一个私密的整数a,不让任何其他人知道,发送Bob计算结果 A = g^a mod p.Eve也能看到A的值

3.类似,Bob取一个私密的整数b,发给Alice结果 B = g^b mod p. Eve也能看到B的值

4.Alice计算 S=B^a mod p = (g^b )^a mod p = g^ab mod p

5.Bob计算 S = A^b mod p = (g^a )^b mod p = g^ab mod p

你可能感兴趣的:(Diffie-Hellman加密算法)