信息从基于纸面转化为基于数字电子媒体的形式,在其生成、保存、传输和验证等多方面都会有新的技术需求。要满足这些需求就不可避免的要解决一些问题和克服一些困难,显然,这其中最重要的就是信息的安全问题。普遍的观点认为,密码技术是解决信息安全问题的最有效的方法,而且密码学的研究也是当前国际上的一个研究热点。
在计算机通信活动中,数据加密是保护数据的最基本方法,它可以防止第三者获得真实数据,但不能防止通信双方的相互欺骗。而数字签名技术则可以有效解决这一问题,使用数字签名技术可使得发送者事后不能否认发送的报文签名、接收者能够核实发送者发送的报文签名、接收者不能伪造发送者的报文签名、接收者不能对发送者的报文进行修改、网络中某一用户不能冒充另一用户。
正是由于数字签名具有的独特功能和实际用途,尤其在数据完整性检验、身份鉴别、身份证明、防否认等方面,因此,数字签名技术在网络通信中有着重要的作用和特殊的位置。
1.2 国内外研究现状
1.3 论文的结构安排
论文在介绍密码学相关概念的前提下,重点讲述了以RSA算法为基础的数字签名方案的设计与实现过程。论文的结构安排如下:
第一章简要介绍了数字签名的研究背景及意义、数字签名技术的国内外研究现状、以及本论文的结构安排。
第二章简要介绍了一些与本课题相关的概念作为准备知识,包括公钥密码体制和数字签名的概念以及RSA算法和MD5算法的基本原理。
第三章阐述了完成本课题所进行的方案设计,包括软件的功能需求分析以及软件的流程框图设计。论文网
第四章着重阐述软件的设计实现过程,包括项目工程的建立、软件界面的设计以及软件中各个算法的实现。
第五章简要介绍了软件的运行结果。
2 相关的基础知识
2.1 公钥密码体制
密码体制从原理上可分为两大类,即对称密钥体制和公开密钥体制(非对称密钥体制)。
对称密钥体制是加密和解密均采用同一密钥,而且通信双方都必须获得这一密钥,并保持密钥的保密。对称密钥体制的安全性主要取决于密钥的安全性。如何产生满足要求的密钥,如何将密钥安全可靠地分配给通信双方是这类体制设计和实现的主要课题。对称密钥体制的最大特点是算法实现速度快。
公开密钥体制是加密和解密使用不用的密钥。加密密钥和解密密钥中的其中一个可以公开,称为公开密钥,但另一个必须保密,称为私有密钥,而且由公开密钥不能推算出私有密钥。公开密钥体制的优点是适应网络的开放性要求,密钥管理相对简单,但加密算法和解密算法的速度较低。
2.2 数字签名
在公钥密码体制中,密钥是由公开密钥和私有密钥组成的密码对。数字签名就是用私有密钥进行加密,用公开密钥进行解密。由于从公开密钥不能推算出私有密钥,所以公开密钥不会损害私有密钥的安全。因此,当某人用其私有密钥加密消息后,能够用他的公开密钥正确解密,就可以肯定该消息是某人签字的,这就是数字签名的基本原理。因为其他人的公开密钥不可能正确解密该加密过的消息,而且其他人也不可能拥有该人的私有密钥而制造出该加密过的消息。
数字签名的实现步骤:
发送方先对消息 做一个摘要
然后发送方用自己的私钥对 进行加密,得到签名