Diffine-Hellman Key exchange 3

对称加密与非对称加密的对称指的是什么? 

对称加密就是用一个秘钥加密和解密,非对称加密就是加密、解密用的不同秘钥

这节要讲的是Diffine-Hellman秘钥交换协议,看看这个算法遵循什么协议机制,

之前我们讲的是怎么生成各自的公钥、怎么交换各自的公钥、怎么生成共享秘钥,

到目前还没谈到加密明文的内容,只是对秘钥大作文章,其实用户可以自己选择q和α,

并将q和α放入第一条消息,之前我们讲的变量XA,XB代表的是用户自己的私钥,YA,YB代表的是公钥,

第三节里面说到 Alice可以获得 共享秘钥  K= (YB)^XA mod q ,  Alice可以计算出这个K, 因为对于Alice而言

这个公式里的变量都是已知的,那么Alice可以计算出 Bob的 私钥XB么?

当然,Alice可以通过 K=(YA)^XB mod q这个公式, K已经知道了,求出XB即可,但由于求大素数的对数很困难,所有很难真的求解出

从全局来看,通信的双方都知道对方的各自私密信息,也就是双方是公开化的. 

 

Key exchange protocol

1. Users could create random private/public DH keys each time they communicate

2. Users could create a known private /public DH key and publish in a directory, then used to securely communicate with them

Both of these are vulnerable to a man-in-the-middle attack

Authentication of the keys is nedded

 

中间人攻击

其实我们上面提到的Alice和 Bob的通信协议过程也是有弱点的,就是不能抵抗所谓的中间人攻击

下面我们介绍下中间人攻击的方法和过程:

现在hacker先生成两个随机的私钥 XD1和XD2, 然后得出对应的公钥YD1和YD2,

在公钥交换的过程时,Alice想把自己的公钥传给Bob,但这时hacker截获YA,然后将YD1传给Bob,

黑客同时计算K2=(YA)^XD2 mod q, 也就是hacker计算出了自己产生的共享秘钥,这不是真的共享秘钥,

因为hacker并没有获得Bob的私钥,那Bob拿到的是hacker产生的公钥,并没有拿到Alice的公钥,

一句话就是,hacker干了Bob要干的事,然后还骗了Bob, Bob还不知道.

Bob这时开心的收到了YD1,计算 K1= (YD1)^XB mod q.

然后Bob将YB传给Alice,这时可恨的hacker又开始截获YB, 然后将YD2传给Alice,

hacker这时计算: K1= (YB)^XD1 mod q. 

Alice收到 YD2,计算:  K2=(YD2)^XA mod q,

这个过程hacker也干了Alice要干的事情,

但Alice 和Bob都以为自己顺利的完成了秘钥交换,他们以为自己既交换了各自的秘钥也交换了各自的私钥,

但是Bob和hacker共享了秘钥 K1,Alice和hacker共享了秘钥 K2,到此,问题已经很严重了!!!

第五节继续讲

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值