浅谈数字签名技术的原理及应用

发布时间:2024-01-15 21:51:44   来源:文档文库   
字号:
脑 2010年第5期 
浅谈数字签名技术的原理及应用 
曲蕴慧 . 白新国2 
(1、西安医学院公共课部计算机教研室陕西西安710021 2、西安西安工程大学计算机学院陕西西安710048) 
【摘要】:文章从数字签名技术的概念与特点出发,分析了常见的几种数字签名技术的工作原理、特点及其实现算法。 
最后对数字签名技术的发展方向及应用前景进行了探讨。 
关键词】:数字签名,信息安全,算法 
数字签名的概念与特点 2.3基本算法 
1.1概念 数字签名的算法很多,应用最为广泛的三种是:Hash签名、 
所谓-数字签名”就是附加在数据单元上的一些数据.或是 DSS签名和RSA签名 对数据单元所作的密码变换。这种数据或变换允许数据单元的 1、Hash签名 


接收者用以确认数据单元的来源和数据单元的完整性并保护数 据,防止被人f例如接收者)进行伪造。基于公钥密码体制和私钥 密码体制都可以获得数字签名.目前主要是基于公钥密码体制 的数字签名。包括普通数字签名和特殊数字签名。”数字签名”是 目前电子商务、电子政务中应用最普遍、技术最成熟的、可操作 性最强的一种电子签名方法。它采用了规范化的程序和科学化 的方法,用于鉴定签名人的身份以及对一项电子数据内容的认 可。它还能验证出文件的原文在传输过程中有无变动.确保传输 电子文件的完整性、真实性和不可抵赖性 
Hash签名不属于强计算密集型算法,应用较广泛。它可以 降低服务器资源的消耗,减轻中央服务器的负荷。Hash的主要局 限是接收方必须持有用户密钥的副本以检验签名.因为双方都 知道生成签名的密钥,较容易攻破。存在伪造签名的可能。 
2、DSS和RSA签名 
DSS和RSA采用了公钥算法。不存在Hah的局限性。RSA 是最流行的一种加密标准.许多产品的内核中都有RSA的软件 
和类库。早在Web飞速发展之前.RSA数据安全公司就负责数 字签名软件与Macintosh操作系统的集成,在Apple的协作软件 
1.2特点 PowerTalk上还增加了签名拖放功能.用户只要把需要加密的数 
数字签名是解决网络通信中特有安全问题的一种有效方 据拖到相应的图标上,就完成了电子形式的数字签名。与DSS 法,它能够实现电子文档的辨认和验证,在保证数锯的完整性、 私有性不可抵赖性方面起着极其重要的作用 为了实现网络环 境下的身份鉴别、数据完整性认证和抗否认的功能.数字签名应 满足以下要求: 
(1)签名者发出签名的消息后就不能再否认自己所签发的 消息: 
不同,RSA既可以用来加密数据,也可以用于身份认证。和Hash 
签名相比.在公钥系统中.由于生成签名的密钥只存储于用户的 计算机中,安全系数大一些。 三.数字签名的实现 3.1用非对称加密算法和单向散列函数进行数字签名 
(1)原理:此方法使用两个密钥(公开密钥和私有密钥)分别 
2)接收者能够确认或证实签名者的签名,但不能否认: 对数据进行加密和解密。如果用公开密钥对数据进行加密,只有 (3)任何人都不能伪造签名; 用对应的私有密钥才能进行解密:如果用私有密钥对数据进行 4)第三方可以确认收发双方之间的消息传送,但不能伪造 加密,则只有用对应的公开密钥才能解密。 这一过程。这样当通信的双方关于签名的真伪发生争执时.可由 2)签名和验证过程:①发送方首先用公开的单向散列函数 第三方来解决双方的争执 对报文进行~次变换.得到数字签名.然后利用私有密钥对数字 =.数字签名的原理及实现算法 签名进行加密后附在报文之后一同发出。②接收方用发送方的 2.1工作原理 公开密钥对数字签名进行解密变换,得到一个数字签名的明文。 
数字签名采用了双重加密的方法来实现防伪、防赖。其原理 发送方的公钥是由一个可信赖的技术管理机构即验证机构f C 为: A)发布的。③接收方将得到的明文通过单向函数进行计算,同 
(1)被发送文件用SHA编码加密产生128bit的数字摘要。 样得到一个数字签名。再将两个数字签名进行对比,如果相同, 2)发送方用自己的私用密钥对摘要再加密,这就形成了数 则证明签名有效.否则无效 字签名。 3)特点:这种方法使任何拥有发送方公开密钥的人都可以 
3)将原文和加密的摘要同时传给对方。 验证数字签名的正确性。由于发送方私有密钥的保密性,使得接 (4)对方用发送方的公共密钥对摘要解密。同时对收到的文 收方既可以根据验证结果来拒收该报文.也能使其无法伪造报 件用SHA编码加密产生又一摘要 文签名及对报文进行修改。原因是数字签名是对整个报文进行 
(5)将解密后的摘要和收到的文件在接收方重新加密产生 的.是一组代表报文特征的定长代码.同一个人对不同的报文将 的摘要相互对比。如两者一致。则说明传送过程中信息没有被破 产生不同的数字签名。这就解决了银行通过网络传送一张支票。 坏或篡改过。否则不然。 而接收方可能对支票数额进行改动的问题.也避免了发送方逃 2.2算法的基本要求 避责任的可能性 
对于一个典型的数字签名体系而言.它必须包含两个个重 3.2用对称加密算法和仲裁者进行数字签名 
1)原理:此方法所用的加密密钥和解密密钥通常是相同 要的组成部分,即签名算法Signature Algorhm)和验证算法 
Vercaton Algohm)。 
为了满足上述两点要求.数字签名体系必须满足两条基本 假设:A签名密钥是安全的。只有其拥有者才能使用:B使用签 名密钥是产生数字签名的唯一途径。 
数字签名技术在具体工作时.首先发送方对信息施以数学 变换,所得的信息与原信息惟一对应:在接收方进行逆变换,得 到原始信息。只要数学变换方法优良,变换后的信息在传输中就 具有很强的安全性。很难被破译、篡改。这一个过程称为加密.对 应的反变换过程称为解密 
的,即使不同也可以很容易地由其中的任意一个推导出另一个。 在此算法中,加、解密双方所用的密钥都要保守秘密。由于计算 速度快而广泛应用于对大量数据如文件的加密过程中.如RD4 
和DES。 
2)签名和验证过程。仲裁者是可信的第三方T,他能同时 与发送方A和接收方B通信.而且他和发送方A共享一个密钥 
K 1,和接收方B也共享另一个不同的密钥K2。①A用K l加 密他准备发送给B的消息,并把它传送给T。②T对消息进行 
解密,和他收到A消息的声明,一起用K2加密,(下转第93页) 

2010年第5期 建 电脑 93 
行运算中的正数都必须小于64位.因此需专用方法来处理大 2.3数字签名方案的实现 
数,最简单的方法是采用数组,但1024位的大数用十进制表示 也需要300多位.效率很低,如用二进制表示则效率更低。 
比较有效的方法是采用n进制的数组.对32位机而言n为 2 是比较合适的选择。这样对于各种运算最多只需要进行32 次循环。在数字签名实现方案中采用了0】00000000进制的方 
法。 
数字签名方案的实现流程图如图3所示: 
幂模运算是RSA算法的核心.模乘运算A*B%N的运算过 程中.如直接进行计算则会产生1O24位中问结果。需动态分配 内存.否则会造成数组空问增加1倍.而动态分配内存会造成大 数存储的不连续性.为避免以上两个问题。可采用图2所示的计 算方法: 
图3数字签名方案实现流程图 
数字签名方案在VC6.0环境中实现.采用厩向对象的程序 设计方法.分别构造了CBigInt类和CRSA类.其中CBiglnt类主 
要完成对大数的各种运算.CRSA类主要完成素性测试、密钥生 成等.主要类均以文件形式处理。以提高软件的复用性。该过程 使用3DES RSA混合算法,并实现了可视化对文件的数字签名。 3、结论 
本文讨论了基于3DES RSA对文档进行数字签名的技术与 方法.并在方案设计过程中充分考虑了可能对数字签名过程中 对签名速度的影响因素.实现了对Word、Excel和txt等不同的 
文档实现了数字签名,并实现了对数字签名的认证。该方案在相 
2.2对文档的数字签名 同密钥长度下可有效提高了数字签名的安全性.同时对数字签 
信息发送者对Word、Excel、 t等文档进行数字签名的过程 名过程中运算速度的影响较小 主要包括:读取明文的信息摘要、对信息摘要进行数字签名、在 
图2模乘运算流程图 
原文中附加签名内容 参考文献: 
信息接受者在获得文档后对经过数字签名的文档进行认 1]Dong Xiaolei,Qian Haieng,Cao,Zhenfu.Provably secure RSA—type 
gnature based on conc curve.Wireles Communicatom and Mobie 证。确认文档为原始文档。如果文档被篡改则不能通过认证。 si
ngⅡ】,2009(2):217—225. 读取明文的信息摘要通过SHA 1f哈希11算法计算散列值 Comput ̄]Tag Shaohua.Simple secret sharng and threshold KSA sgnate 的方法。对于不同的文档读取明文信息的方法略有不同,对于 
nal of Informaton and Compu ̄tonM ScienceⅡ】,2004(1): xt文档,读取方式相对比较简单,可以采用直接读取文档字符, schemes.Jour
然后采用SHA l算法即可解决 但对于Otce相关的文档相对 3】xu Qiu—Lig,Chen,Tzer—Shyong.An eCfcient thrhold RsA di td 
比较复杂,Omce办公软件是基于com接El的.其中相关文档的 
signare scheme.Appled Mathematcs and Compumton[Jl,2005(6):25— 
格式并未公布。故无法直接获得其相关内容.本文采用在读取 34.
 Ofe文件时直接读取相关字节码.然后对字节码进行数字签 4】Bao Feng,Lee ChengChi,Hwag,Min Shig.Cryptanalyss ad i- 名,再采用写文件的方式将字节码转换成Ofce相关文件.认证 provement on batch veriying mulple RSA digi妇1 sgnamxes.Appled 过程以同样的方法实现 Mathemcs and computadonⅡ】,2006(1):1 195—1200. (上接第66页) 
259-262. 
并把加密后的加密包传给B。③由于T是可信的,而密钥K2是 签名在内的安全技术措施、确定CA认证权的归属问题十分关 
B和T共享的.B可以解密此消息.而且B可以相信消息是从A 键。 
那里来的 
31特点:这个协议是可行的。但是缺点在于T必须绝对可 参考文献: 信。而且他的秘密密钥数据必须绝对安全。但做到这些是很困难 1]Yvo Demedt,Yair Franke- Threshold ̄rypto ̄setm[M].Lecture Not 
n Computer Science,435:307—315. 的。 
2】MihirBelare,SaraMiner.A forward—secure digi fg—nature scheme[P-1. 四.数字签名的发展 
数字签名技术作为信息安全的一项重要技术.其应用领域 
也日益广泛。伴随着计算机网络的飞速发展.许多领域对数字签 名技术提出了新的应用需求。目前应用于一些特殊场合具有特 殊用途的数字签名需求正在逐步增长。如防失败签名(Fai—sop) 将防范拥有充足计算资源的攻击者;盲签名(BHnd Sinatu 将 更为广泛地用于选举投票和数字货币协议中;而群签名(Group— oden ̄d Signature)在网上大规模的集团采购中会发挥更加重要 的作用.将显著降低电子商务交易的成本。大大提高交易的效 
率。 
volume 1666 of Lecture Notes inComputerScience. 
31AmirHerzberg,Markus Jakobsson,Stani law Jareck,HugoKrawczyk, 
MofYung.Proactve publc key ad sig—natre systems ACM,Apri: 100 
.In Fourh 
ACM Conference on Com—puter ad Communicaton Securiy,1997; 
4]程兴国,王蔚然;一种有效地结合数字签名与数字水即的算法Ⅱ】;福建 
电 ̄;2004年11期 
5】车如忠;数据加密和数字签名技术在局域网中的应用Ⅱ】;计算机应用研 究;2004年O5期 
数字签名在电子商务中应用的前途是光明的.但道路依然 曲折.安全问题是阻碍电子商务广泛应用的最大问题。改进数字 

本文来源:https://www.2haoxitong.net/k/doc/f811e058a7e9856a561252d380eb6294dd8822ff.html

《浅谈数字签名技术的原理及应用.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式