- 59.39 KB
- 2022-08-13 发布
- 1、本文档由用户上传,淘文库整理发布,可阅读全部内容。
- 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,请立即联系网站客服。
- 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细阅读内容确认后进行付费下载。
- 网站客服QQ:403074932
计算机安全学数字签名概述计科0602田立康2009070071一.引言传统书信都有亲笔签名,公文都普遍有印章,这些签名和印章是用来证明其真实性的。在网络环境中,电子数据的真实性同样需要证明,证明其有效性的正式数字签名。数字签名可以解决篡改,冒充,伪造和否认等问题,是网络环境屮不可或缺的技术手段。二.数字签名的相关定义所谓“数字签名”,就是通过某种密码运算生成一系列符号及代码组成电子密码进行签名,来代替手写签名或印章,对于这种电子式的签名还可进行技术验证。数字签名在ISO7498-2标准中定义为:“附加在数据单元上的一些数据,或是对数据单元所作的密码变换,这种数据和变换允许数据单元的接收者用以确认数据单元来源和数据单元的完整性,并保护数据,防止被人(例如接收者)进行伪造”。数字签名实现的功能与我们“有纸办公”的手写签名类同,具有准确性、实用性、完整性、可鉴别性、不可抵赖性等特性,同吋解决否认、伪造、篡改及冒充等问题。签名方案由P,A,K,S,V}组成,并满足:(DP为可能消息的有限集;(2)A为可能签名的有限集;⑶K为可能密钥的有限集;(4)对于每一个twK,存在签名算法yzgwS和验证算法v勺gV,sigk:PTA,verk:PxA—>{ture,faIse},[ture,如果y=sig(x)ven(x,y)=\f1faIse,如果yHsig(x)三.数字签名的原理数字签名技术离不开公钥密码学,在公钥密码学中,密码有公开密码和私有密码组成,数字签名包含两个过程:签名过程(即使用私钥进行加密)和验证过程(即\n接收方使用公钥进行解密)。由于从公钥不能推算出私钥,因此不会损害私钥的安全性。因此,若某人用其私钥对加密消息,并用其公钥正确解密,就可以肯定消息是某人“亲笔签名”的。因为其他人的公钥不可能•正确解密该加密过的消息,其他人也不可能拥有其私钥而制造出虚假消息。这就是数字签名的原理。从技术上来讲,数字签名其实就是通过一个单向函数对要传送的报文进行处理,产生别人无法识别的一段数字串,这个数字串用来证明报文的来源并核实该报文是否发生了变化。在数字签名中,私有密钥是某个人知道的秘密值,与Z配对的位置公开密钥存放在数字证书或公共数据库中,用签名人掌握的秘密值签署文件,用对应的数字证书进行验证。几种常用的签名算法基于公钥密码体制的数字签名,包括普通数字签名和特殊数字签名。普通数字签名算法有RSA、Schnorr.DSA数字签名算法等。特殊数字签名有代理签名、门限签名等。>RSA数字签名设A为签名人,任意选取两个大整数p和q,计算n=pq,(I)(n)=(p-l)(q-l),随机选择整数ev,瞒住GCD(e,©(n))二1;计算整数d,满足ed^lmod4)(n).p,q和©(n)保密,A的公钥为(“),私钥为d。签名过程:对于消息m(mSchnorr数字签名Schnorr数字签名是EIGamal型签名方案的一种变形,该方案由Schnorr\n于1989年提出,包括初始过程,签名过程和验证过程。初始过程:(1)系统参数:大素数p和q满足q|p-l,q>=2160,p>=2512ogeZp,且满足罗=l(modp),g工l,h为单向Hash函数°Pqg作为系统参数,共所有用户使用,在系统内开放。(2)用户私钥:用户选取一个私钥x,lDSA数字签名DSA数字签名方案在1991年8月由美国国家标准局公布,其安全性给予离散对数难题。1.初始过程⑴系统参数:大素数p和q满足q|p-1,2511