![密码协议设计与安全研究_第1页](http://file4.renrendoc.com/view/415ccacac7c8aa1bc28914548c7c1fc8/415ccacac7c8aa1bc28914548c7c1fc81.gif)
![密码协议设计与安全研究_第2页](http://file4.renrendoc.com/view/415ccacac7c8aa1bc28914548c7c1fc8/415ccacac7c8aa1bc28914548c7c1fc82.gif)
![密码协议设计与安全研究_第3页](http://file4.renrendoc.com/view/415ccacac7c8aa1bc28914548c7c1fc8/415ccacac7c8aa1bc28914548c7c1fc83.gif)
![密码协议设计与安全研究_第4页](http://file4.renrendoc.com/view/415ccacac7c8aa1bc28914548c7c1fc8/415ccacac7c8aa1bc28914548c7c1fc84.gif)
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PAGEPAGE1密码协议设计与安全研究/*
*
版权所有:jxccy,引用请注明出处
*
作者:jxccy
*邮箱:jxccy888@163.com
*
完成时间:
2008年6月
*/一、Diffie-Hellman协议以及安全研究Diffie-Hellman密钥交换算法的有效性依赖于计算离散对数的难度。简言之,可以如下定义离散对数:首先定义一个素数的原根,为其各次幂产生从1到的所有整数根,也就是说,如果是素数的一个原根,那么数值
mod,mod,...,mod
是各不相同的整数,并且以某种排列方式组成了从1到的所有整数。
对于一个整数和素数的一个原根,可以找到惟一的指数,使得
=
其中0≤≤()
指数称为的以为基数的模的离散对数或者指数。该值被记为,()。
基于此背景知识,可以定义Diffie-Hellman密钥交换算法。该算法描述如下:
1、有两个全局公开的参数,一个素数和一个整数,是的一个原根。
2、假设用户A和B希望交换一个密钥,用户A选择一个作为私有密钥的随机数<,并计算公开密钥=。A对的值保密存放而使能被B公开获得。类似地,用户B选择一个私有的随机数<,并计算公开密钥=。B对的值保密存放而使能被A公开获得。
3、用户A产生共享秘密密钥的计算方式是=()。同样,用户B产生共享秘密密钥的计算是=()。这两个计算产生相同的结果:
=()
=()
=()
(根据取模运算规则得到)
=
=()
=(
)
=()
因此相当于双方已经交换了一个相同的秘密密钥。
4、因为和是保密的,一个敌对方可以利用的参数只有、、和。因而敌对方被迫取离散对数来确定密钥。例如,要获取用户B的秘密密钥,敌对方必须先计算
=,()
然后再使用用户B采用的同样方法计算其秘密密钥。
Diffie-Hellman密钥交换算法的安全性依赖于这样一个事实:虽然计算以一个素数为模的指数相对容易,但计算离散对数却很困难。对于大的素数,计算出离散对数几乎是不可能的。
下面给出例子。密钥交换基于素数=97和97的一个原根=5。A和B分别选择私有密钥=36和=58。每人计算其公开密钥
=536=5097
=558=4497
在他们相互获取了公开密钥之后,各自通过计算得到双方共享的秘密密钥如下:
=()97=4436=7597
=()97=5058=7597
从出发,攻击者要计算出75很不容易。二、具体实现过程classUser{public: stringname; inta1;//用户随机选项的数 inta2;//对方发送的数 intk;//会话密钥 User(stringname);};User::User(std::stringna){ this->name=na;}//大数幂乘算法intmul(intx,intr,intn){ inta=x; intb=r; intc=1; while(b!=0) { if(b%2!=0) { b=b-1; c=(c*a)%n; } else { b=b/2; a=(a*a)%n; } } returnc;}//判断数组里面元素都不相等(不相等为真)boolIsEqualInArray(int*a,intn){ intflag=0; for(inti=0;i<n;i++) { for(intj=i+1;j<n-1;j++) { if(a[i]==a[j]) { returnfalse; } } } returntrue;}//求本原元voidBenYuan(intprime){ int*a=newint[prime]; cout<<prime<<"的本原元为:"; for(inti=1;i<=prime;i++) { for(intj=0;j<prime;j++)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年雄烯二醇项目投资可行性研究分析报告
- 2025年中国全套刀具行业市场发展前景及发展趋势与投资战略研究报告
- 餐饮行业因病辞职申请书
- 职业培训机构招生计划书范文
- 2025年临时用电工程施工合作协议范本3篇
- 2025年度市政设施改造工程造价预算合同
- 2025年度农业机械设备购销及技术改造合同
- 2025年度金融借款合同纠纷管辖法院指定协议
- 长春2024年吉林长春汽车经济技术开发区事业单位专项招聘24人笔试历年参考题库附带答案详解
- 金华2025年浙江金华兰溪市“人才直通车”(事业综合)人才引进18人笔试历年参考题库附带答案详解
- 雅思阅读题型与技巧课件
- 招商银行房地产贷款压力测试
- 公文与公文写作课件
- 车削成形面和表面修饰加工课件
- 基于振动信号的齿轮故障诊断方法研究
- 义务教育物理课程标准(2022年版word版)
- 医疗器械分类目录2002版
- DB11_T1713-2020 城市综合管廊工程资料管理规程
- 气管套管滑脱急救知识分享
- 特种设备自检自查表
- 省政府审批单独选址项目用地市级审查报告文本格式
评论
0/150
提交评论