uvw77ay_aiffip

博客介绍了Diffie-Hellman密钥交换协议的工作原理,并通过一个具体的例子展示了如何利用该协议计算共享密钥。在给定的题目中,通过解析协商数据和给定的参数,计算得出32位的密钥,从而得出最终答案。
摘要由CSDN通过智能技术生成

uvw77ay_aiffip

题目

小明听说某软件会自动备份自己的聊天记录,非常恼火,一怒之下设计了个超级基础协商协议。某天他准备和你通讯,发给你了一段协商消息,附件中还有公用生成元g和你的私钥,以及保证密钥长度的质数。那么,你们的最后协商的32位密钥是啥呢?(题目标题有玄机,答案为32位的十进制数) 注意:得到的 flag 请包上 flag{} 提交

你们共同有一个公开已知生成元g=34

你的私钥=9360

小明向你发来协商数据:57687185873717832710418532982088

保证长度的质数为:72542982052896163041354492265957

解题

光看题目看着很懵啊,去搜了一下,知道是DH密钥协议

Diffie–Hellman密钥交换协议

Diffie–Hellman(以下简称DH)密钥交换是一个特殊的交换密钥的方法。它是密码学领域内最早付诸实践的密钥交换方法之一。DH可以让双方在完全缺乏对方(私有)信息的前提条件下通过不安全的信道达成一个共享的密钥。此密钥用于对后续信息交换进行对称加密。

安全依据:计算离散对数(Discrete Logarithm Problem,DLP)的困难程度

方案原理:Alice和Bob想共有一个密钥,用于对称加密。但是他们之间的通信渠道是不安全的。所有经过此渠道的信息均会被敌对方:Eve看到。哪他们要如何交换信息,才能不让Eve知道这个密钥呢?
在这里插入图片描述
方案要求:q是一个很大的素数(如1024bit),而且(q-1)/2也是个素数。

Alice,Bob在不安全的信道建立相同的密钥:

Alice选择一个底数g,素数p,随机数a,
计算A=ga mod p,发送g,A,p给Bob

Bob选择一个随机数b,
计算B=gb mod p,将B发送给Alice,同时计算Ab mod p作为密钥k

Alice再计算Bamodp作为密钥k,那么最终密钥是相同的。

如果想直接破解就是离散对数问题,但是DH密钥交换难以抵御中间人攻击。

将a,A看作Alice的私钥和公钥,b,B看作Bob的私钥和公钥。

另外相似的,椭圆曲线上的密钥交换ECDH。

回到这个题,只需要计算:
B=57687185873717832710418532982088,
a=9360,
p=72542982052896163041354492265957,

那么k=pow(B,a,p)=37799067929880674766269861874334

答案

flag{37799067929880674766269861874334}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值