基于RSA的数字签名的设计与实现(2)
时间:2016-12-24 15:58 来源:毕业论文 作者:毕业论文 点击:次
目前,数字签名技术已应用于商业、军事、金融等领域,尤其在电子邮件、电子转帐 、数据交换、数据存储、数据的完整性验证等领域的应用,让人们从更深的层次意识到了数字签名的重要性。RSA数字签名体制在许多安全标准中得以广泛应用。ISO/IEC 9796和ANSI X9。30-199X 以及美国联邦信息处理标准FIPS186-2已经将RSA作为推荐的数字签名标准算法之一。1991 年8 月美国NIST(National Institute of Standard and Technology) 公布了数字签名标准(DSS)。2004 年8 月, 我国正式颁布了《中华人民共和国电子签名法》, 从而确立了电子签名的法律效力和地位。这部法律有力地保障和支持了我国数字签名理论和应用研究的顺利进行。 1.3 本课题的研究内容 本文以 RSA 数字签名体制为研究对象。RSA加密算法是迄今在理论上最为成熟、成功的公钥密码系统。RSA加密算法的安全性是以下述论断为基础的:计算两个大素数的积是很容易的,但若要分解它们的积为两个素数因子则是极其困难的。本文从数学理论上分析了RSA 算法的原理,讨论了并实现了基于RSA的数字签名。 2 相关理论知识 2.1数字签名 2.1.1数字签名 数字签名:数字签名技术是指用密码算法对想要发送的数据加密,生成摘要信息,并将这段信息和原文一起进行发送,这段信息的作用类似我们现实生活中中的签名或者是盖章,收到信息后,接收方会对这段信息进行验证来判断原文的真伪。数字签名目的是保障数据完整性和提供抗抵赖服务[4]。 2.1.2数字签名的实现方法 数字签名的实现过程[5]如下: (1) 发送方A对原文作哈希运算,计算可得原文的数字摘要MD; (2) 发送方A通过RSA算法用自己的私钥PVA对原文的数字摘要MD加密可得数字签名DS; (3) 发送方A通过对称算法DES中的对称密钥SK对包括原文、数字签名SD和发送方A的公钥PBA在内的数据块加密可得密文块E; (4) 发送方A通过RSA算法用接收方B的公钥PVB,对密钥SK进行加密,则样就形成了数字信封DE。密钥SK就像被装到了一个用接收方的公钥加密过的信封中; (5) 发送方A将密文E和数字信封DE一块发送给接收方B; (6) 接收方B在接受到数字信封DE后,先用自己的私钥PVB对数字信封进行解密,从而得出对称密钥SK; (7) 接收方B用解封出的对称密钥SK采用对称算法DES解密密文块E,可得出原文、数字签名SD和发送方A的公钥PBA; (8) 接收方B先用发送方A的公钥对数字签名进行解密,得出数字摘要MD; (9) 接收方B将原文用同样的哈希函数作运算,可得另一个数字摘要MD`; (10)接收方B将MD和MD`两个数字摘要进行比较,从而验证原文是否被篡改。若二者相等,就可说明数据未被篡改,签名是真实的; 这样就可以保证需要保密的信息在数字签名的传输中不能被篡改,而且未经授权的人是看不到原数据,起到了对数据的保密作用。 2.1.3采用数字签名的加密技术的优点 (1)完整性:它提供了一种可以验证明文是否完整的机制,接受者可以确定原来的明文是否完整且没有经人篡改 (2)可验证性:能够确认密文信息的来源。用发件人的私钥产生的数字签名块必须用发件人的对应的公钥才能解开,因此接收者如果能用附发的公钥解开密文则能判断信息的发送者。 (3)不可否认性:由于公钥是经权威认证机构认证过的能唯一标识某一个用户,发送者不能抵赖。 (责任编辑:qin) |