安全协议理论与实践
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录
目录.......................................................................................................... I 摘要......................................................................................................... II 前言........................................................................................................ III 1SHAMIR无秘钥协议 (1)
1.1研究背景 (1)
1.2参数设置 (1)
1.3具体步骤 (1)
1.4运算结果 (2)
2DIFFIE-HELLMAN秘钥协商协议 (3)
2.1研究背景 (3)
2.2参数设置 (3)
2.3具体步骤 (3)
2.4运行结果 (4)
3KEA秘钥协商协议 (5)
3.1研究背景 (5)
3.2参数设置 (5)
3.3具体步骤 (5)
3.4运行结果 (6)
4总结 (7)
致谢 (8)
参考文献 (9)
摘要
本课题主要是运用C#,研究几个安全协议其相应的算法和用程序实现其结果。本文较详细地介绍了这一程序的设计思想,功能结构以及某些功能函数的设计。本文还给出了对这一程序的测试情况以及对测试结果的分析。
关键词:安全协议,秘钥协议
前言
随着全球信息化程度的日益提高,网络已经成为人类胡获取信息、沟通交流以及社会生产和生活活动的一种不可或缺的重要载体和手段,信息安全的重要性和紧迫性日益凸显。随着金融、交通、电信等重要基础设施对网络的依赖性逐渐增大,信息安全对于社会和经济的影响也越来越大。信息安全问题已经由个人、团体的隐私与机密性问题上升为国家的战略性问题,而安全协议是解决网络安全问题最直接、最有效的手段之一,它可以有效地解决源认证和目标认证、消息的完整性、匿名通信、抗拒绝服务、抵赖性、授权等一系列重要安全问题。
安全协议是简历在密码算法基础上的一种高互通协议,它运行在计算机网络或分布式系统中,为安全需求的各方提供一系列步骤,借助于密码算法来达到秘钥分发、身份认证以及安全地实现网络通信或电子交易等目的。
2 Shamir 无秘钥协议
2.1 研究背景
在使用对称秘钥算法实现秘钥分配协议时,如果系统中不存在认证服务器,可能需要协议的参与者一开始就共享一个长期秘钥信息。基于对称密码算法的点对点秘钥分配协议利用了一个参与双方预先共享的对称秘钥K 。这个对称秘钥可以通过一个安全通信分发,也可以使用一个秘钥预分配协议得到。
2.2 参数设置
(1)选择并公布一个公用素数p ,使得以p 为模的离散对数是计算上不可行的。
(2)用户A 和B 分别随机选择秘密数a 和b ,其中2,1-≤≤p b a ,均与1-p 互素。然后分别计算)1mod(1-=-p a c 和)1mod(1-=-p b d 。
2.3 具体步骤
快速傅里叶变换(FFT )并不是一种新的变换,而是离散傅里叶变换(DFT )的一种快速算法。
(1)A 随机选择一个秘钥k ,计算p k a mod ,并将其发送给B 。 (2)B 收到消息后,计算p k b a mod )(,并将其发送被A 。
(3)A 将收到的值进行c 次模p 幂指数运算,从而“消除”以前的指数运算,得到p k b mod ,并将其发送给B 。
(4)B 将收到的值进行d 次模p 幂指数运算,从而“消除”以前的指数运
算,得到会话秘钥k。
2.4运算结果
对多次结果进行分析,可以得出结论B最终计算的秘钥与A选择的秘钥是相同的,说明该协议是安全的。
3 Diffie-Hellman 秘钥协商协议 3.1 研究背景
秘钥协商协议大部分使用公钥密码算法来实现,也有少部分使用对称秘钥算法来实现,一般需要一个秘钥预分配协议。秘钥分配协议是提供分享秘钥的一张方法,该方法在初始阶段有一个可信服务器为用户生成并发送秘密信息,并使任何一对用户可以随后计算其他所有人不知道的共享秘钥。
基于公钥密码算法的秘钥协商协议的研究成果非常丰富,大多以Diffie-Hellman 秘钥协商协议为基础:用户U 和V 都会分别选择一个新的指数U a 和V a ,并且该协议中没有长期秘钥。
3.2 参数设置
公开群),
(∙G 和以阶为n 的元素G a ∈。 3.3 具体步骤
(1) U 选取一个随机数U a ,10-≤≤n a U ,然后计算U
a U
b ∂
=,并将U
b 发送被V 。
(2) V 选取一个随机数V a ,10-≤
≤n a V ,然后计算V
a V
b ∂=,并将V b 发送被U 。
(3) U 计算得出U
a V
b K )(=,V 计算得出V
a U
b K )(=
3.4 运行结果
选择2=∂
,测得大量结果如下表:
对多次结果进行分析,可以得出结论B 最终计算的共享秘钥与A 计算的共享秘钥是相同的,说明该协议是安全的。
4 KEA 秘钥协商协议
4.1 研究背景
KEA 协议是美国国家安全局在20世纪90年推出的秘钥托管机制。密钥托管技术又称为秘钥恢复(Key Recovery ),是一种能够在紧急情况下获取解密信息的技术。它用于保存用户的 私钥备份,既可在必要时帮助国家司法或安全等部门获取原始明文信息,也可在用户丢失、损坏自己的密钥的情况下恢复明文。因此它不同于一般的加密和解密操作。
4.2 参数设置
系统选择并公布一个适合的大素数p ,并且使得1-p 的因子中有一个足够大的素数q ,g 是p Z 上的一个q 阶乘发生产元。用户A 拥有公钥x g 和对应的私钥x ,用户B 拥有公钥y g 和私钥y 。
4.3 具体步骤
(1) A 随机选取一个元素a ,11-≤≤q a ,计算p g s a A mod =,并将A s 发给
B 。
(2) B 随机选取一个元素b ,11-≤≤q b ,计算p g s b B mod =,并将B s 发给
A 。
(3) B 接收到消息A s ,计算共享秘钥p g s k b x y A mod )()(+=。 (4) A 接收到消息B s ,计算共享秘钥p g s k a y x B mod )()(+=。