874380901公文加密论文.doc
《874380901公文加密论文.doc》由会员分享,可在线阅读,更多相关《874380901公文加密论文.doc(37页珍藏版)》请在三一办公上搜索。
1、引言自计算机网络产生以来信息安全就一直是一个很重要的研究课题。特别是在当前,信息安全的研究和应用更是达到空前的繁荣。信息社会需要高度可靠的安全技术。虽然我们的信息产业发展很快,但是安全技术过分依赖于国外的技术和产品。学习和研究外国的先进技术, 发展我们自己的安全技术和产品是一个紧迫而又重要的任务。1 背景概述1.1 电子政务以及公文无纸化人们普遍使用计算机来提高个人工作效率,但是在需要许多人一起协同工作的现代工作环境中,我们更需要提高我们的整体工作效率。利用网络通讯基础及先进的网络应用平台,建设一个安全、可靠、开放、高效的信息网络和办公自动化、信息管理电子化系统,为管理部门提供现代化的日常办公
2、条件及丰富的综合信息服务,实现档案管理自动化和办公事务处理自动化,以提高办公效率和管理水平,实现企业各部门日常业务工作的规范化、电子化、标准化,增强档案部门文书档案、人事档案、科技档案、 财务档案等档案的可管理性,实现信息的在线查询、借阅。最终实现“无纸”办公。办公实际就是文件的制作、修改、传递、签订、保存、销毁、存档的过程。那么随着文件的这一流程,产生了各种各样的设备。随着技术的发展,计算机网络技术的进步,办公自动化网络的建设也得到了大力推广。1.1.1传统的办公模式图1.1传统的办公模式示意图如图1.1所示。传统的办公模式主要以纸介质为主,在信息革命的浪潮中,显然已经远远不能满足高效率、快
3、节奏的现代工作和生活的需要。如何实现信息处理的自动化和办公的无纸化逐步得到了人们的重视。1.1.2网络化办公模式Internet/Intranet的迅猛发展,为信息的交流和共享,团队的协同运作提供了技术的保证,同时也预示着网络化办公时代来临。图1.2网络化办公模式示意图如图1.2所示。现有办公自动化系统和大型信息管理系统中,企业业务流程重组或者是文件流转功能都是核心功能。企业办公主要是一个文件流转的过程。公文的处理功能已经成为办公自动化和大型信息管理系统的核心功能。1.2 安全问题在电子政务和办公无纸化的同时,也出现了各种各样的安全问题。例如对公文的截获,修改公文,伪造公文等。公文的保密性和完
4、整性受到了越来越多的威胁。由于公文在现实生活中比商业信息还敏感,因此公文的安全性也获得越来越多的重视。为了安全、可靠、快速的实现对公文的处理,实现了这个内部公文处理系统。这个系统实现了对内部公文的一系列处理,包括对内部公文进行加密和解密,进行数字签名和验证数字签名,密钥对的生成和分发等。2 系统概述2.1 系统开发工具简介Visual Studio.NET 是一套完整的开发工具,用于生成各种应用程序。Visual Basic.NET、Visual C+.NET、Visual C#.NET 和 Visual J#.NET 全都使用相同的集成开发环境 (IDE),该环境允许它们共享工具并有助于创建
5、混合语言解决方案。另外,这些语言利用了 .NET Framework 的功能,此框架提供对简化应用程序和系统开发的关键技术的访问。此外,除了生成高性能的应用程序外,还可以使用 Visual Studio 基于组件的强大开发工具和其他技术,简化基于团队的企业级解决方案的设计、开发和部署。在Visual Studio中可以使用微软基础类库(MFC,Microsoft Fundamental Classes).通过MFC的使用,可以调用许多已经写好的基础类。通过这种方式,可以大大简化开发过程、提高开发效率、产生更优秀的应用程序。2.2 系统实现功能简介在这个系统中,通过VC实现了内部公文的加密和解密
6、,签名和签名验证,数字认证的发放和管理等内部公文的处理。实现的主要功能有:(1) 对文件的加密和解密。即数据的发送方在发送数据时,先用一种加密算法进行加密以保证数据的保密性。这里可以使用DES算法进行加密和解密,也可以使用混合加密算法进行加密和解密。这里的加密只是对报文的加密,不会涉及到密钥的加密。(2) 对文件进行签名。即数据的发送方在发送数据的同时利用单向的Hash函数或者其它信息文摘算法计算出所传输数据的消息文摘,并将该消息文摘作为数字签名随数据一同发送。接收方在收到数据的同时也收到该数据的数字签名,接收方使用相同的算法计算出接收到的数据的数字签名,并将该数字签名和接收到的数字签名进行比
7、较,若二者相同,则说明数据在传输过程中未被修改,数据完整性得到了保证。(3) 对文件的加密以及签名。在这里可以将上述的两个功能进行合并。在发送方发送文件之前,先用一种加密算法进行加密,然后对加密后的报文进行数字签名。这样一方面可以保证数据的保密性,另一方面也可以保证数据的完整性。(4) 密钥对的管理。对于使用这个系统的每个用户系统都应该为其生成两个密钥对。其中一对密钥用来进行混合加密算法的加密和解密。另外一对密钥用来进行数字签名。当密钥对生成后,应当将其保存起来。由于数据格式比较复杂,包括用户名称、密钥对、生成日期,所以采用Access数据库进行密钥对的保管。2.3 系统中采用的关键技术在这个
8、系统中采用了一种混合加密的关键技术。这个系统中实现了DES算法和混合加密算法。对文件进行加密和解密可以单独采用DES算法,也可以采用混合加密。混合加密就是在发送方发送文件之前,先用接收双方的DES密钥对报文进行加密,然后将用接收方的公钥加密后的DES私钥附在加密后的报文后面。当接收方接收到文件后。先用自己的私钥对报文后的加密块进行解密。然后将解密得到的DES密钥将加密后的报文进行解密。通过这样就可以将DES算法和RSA算法很有效的结合在一起了。通过这种方式,一方面可以结合各自的优点,克服各自的缺点;另一方面,可以加强保密强度,使得即使获得了密文破解这个密文也很困难。美国的保密增强邮件(PEM)
9、就是采用DES和RSA结合的方法,目前已经成为EMAIL保密通信的标准。3 系统实现原理3.1 网络安全及数据加密技术从本质上看,网络安全就是网络上的信息安全。从广义上来说,凡是涉及到网络信息的保密性、完整性、可用性、真实性和可控性的相关技术和理论都是网络安全的研究领域。数据加密技术是一门古老而深奥的学科,它对一般人来说是陌生的,因为长期以来,它只在很少的范围内,如军事、外交、情报等部门使用。数据加密技术是研究计算机信息加密、解密及其变换的科学,是数学和计算机的交叉学科,也是一门新兴的学科。在国外,它已成为计算机安全主要的研究方向,也是计算机安全课程教学中的主要内容。数据加密过程就是通过加密系
10、统把原始的数字信息(明文),按照加密算法变换成与明文完全不同的数字信息(密文)的过程,如图3.1所示。图3.13.2 DES算法原理3.2.1DES算法简介美国国家标准局1973年开始研究除国防部外的其它部门的计算机系统的数据加密标准,于1973年5月15日和1974年8月27日先后两次向公众发出了征求加密算法的公告。加密算法要达到的目的(通常称为DES 密码算法要求)主要为以下四点:(1) 提供高质量的数据保护,防止数据未经授权的泄露和未被察觉的修改。(2) 具有相当高的复杂性,使得破译的开销超过可能获得的利益,同时又要便于理解和掌握。(3) DES密码体制的安全性应该不依赖于算法的保密,其
11、安全性仅以加密密钥的保密为基础。(4) 实现经济,运行有效,并且适用于多种完全不同的应用。 1977年1月,美国政府颁布:采纳IBM公司设计的方案作为非机密数据的正式数据加密标准(DES Data Encryption Standard)。 DES主要采用替换和移位的方法加密。它用56位密钥对64位二进制数据块进行加密,每次加密可对64位的输入数据进行16轮编码,经一系列替换和移位后,输入的64位原始数据转换成完全不同的64位输出数据。DES算法仅使用最大为64位的标准算术和逻辑运算,运算速度快,密钥生产容易,适合于在当前大多数计算机上用软件方法实现,同时也适合于在专用芯片上实现。DES算法的
12、弱点是不能提供足够的安全性,因为其密钥容量只有56位。由于这个原因,后来又提出了三重DES或3DES系统,使用3个不同的密钥对数据块进行(两次或)三次加密,该方法比进行普通加密的三次快。其强度大约和112比特的密钥强度相当。3.2.2DES算法详述DES算法把64位的明文输入块变为64位的密文输出块,它所使用的密钥也是64位。DES算法的入口参数有三个:Key、Data、Mode。其中Key为8个字节共64位,是DES算法的工作密钥;Data也为8个字节64位,是要被加密或被解密的数据;Mode为DES的工作方式,有两种:加密或解密。DES算法是这样工作的:如Mode为加密,则用Key 去把数
13、据Data进行加密, 生成Data的密码形式(64位)作为DES的输出结果;如Mode为解密,则用Key去把密码形式的数据Data解密,还原为Data的明码形式(64位)作为DES的输出结果。在通信网络的两端,双方约定一致的Key,在通信的源点用Key对核心数据进行DES加密,然后以密码形式在公共通信网(如电话网)中传输到通信网络的终点,数据到达目的地后,用同样的Key对密码数据进行解密,便再现了明码形式的核心数据。这样,便保证了核心数据(如PIN、MAC等)在公共通信网中传输的安全性和可靠性。3.2.3DES算法图解DES的算法是对称的,既可用于加密又可用于解密。算法粗框图如图3.2所示。其
14、具体运算过程有如下七步:图3.23.2.4 DES算法的应用DES主要的应用范围有以下几个方面:(1) 计算机网络通信。对计算机网络通信中的数据提供保护是DES的一项重要应用。但这些被保护的数据一般只限于民用敏感信息,即不在政府确定的保密范围之内的信息(2) 电子资金传送系统。采用DES的方法加密电子资金传送系统中的信息,可准确、快速的传送数据,并较好的解决了信息安全的问题。(3) 保护用户文件。用户可自选密钥对重要文件进行加密,防治未授权的用户窃密。(4) 用户识别。DES还可以用于用户识别系统中。3.3 RSA算法原理3.3.1RSA 算法的简介该算法于1977年由美国麻省理工学院MIT(
15、Massachusetts Institute of Technology)的Ronal Rivest,Adi Shamir和Len Adleman三位年轻教授提出,并以三人的姓氏Rivest,Shamir和Adlernan命名为RSA算法。该算法利用了数论领域的一个事实,那就是虽然把两个大质数相乘生成一个合数是件十分容易的事情,但要把一个合数分解为两个质数却十分困难。合数分解问题目前仍然是数学领域尚未解决的一大难题,至今没有任何高效的分解方法。与Diffie-Hellman算法相比,RSA算法具有明显的优越性,因为它无须收发双方同时参与加密过程,且非常适合于电子函件系统的加密。它是第一个既能
16、用于数据加密也能用于数字签名的算法。它易于理解和操作,也很流行。但RSA的安全性一直未能得到理论上的证明。它经历了各种攻击,至今未被完全攻破。RSA简洁幽雅,但计算速度比较慢,通常加密中并不是直接使用RSA 来对所有的信息进行加密,最常见的情况是随机产生一个对称加密的密钥,然后使用对称加密算法对信息加密,之后用RSA对刚才的加密密钥进行加密。需要说明的是,当前小于1024位的N已经被证明是不安全的。自己使用中不要使用小于1024位的RSA,最好使用2048位的。RSA是被研究得最广泛的公钥算法,从提出到现在已近二十年,经历了各种攻击的考验,逐渐为人们接受,普遍认为是目前最优秀的公钥方案之一。R
17、SA的安全性依赖于大数的因子分解,但并没有从理论上证明破译RSA的难度与大数分解难度等价。即RSA的重大缺陷是无法从理论上把握它的保密性能如何,而且密码学界多数人士倾向于因子分解不是NPC问题。 RSA的缺点主要有:(1) 产生密钥很麻烦,受到素数产生技术的限制,因而难以做到一次一密。(2) 分组长度太大,为保证安全性,n 至少也要 600 bits 以上,使运算代价很高,尤其是速度较慢,较对称密码算法慢几个数量级;且随着大数分解技术的发展,这个长度还在增加,不利于数据格式的标准化。目前,SET( Secure Electronic Transaction )协议中要求CA采用2048比特长的
18、密钥,其他实体使用1024比特的密钥。3.3.2RSA算法的原理详解RSA公共密钥加密算法的核心是欧拉(Euler)函数。对于正整数n,(n)定义为小于n且与n互质的正整数的个数。例如(6) = 2,这是因为小于6且与6互质的数有1和5共两个数;再如(7) = 6,这是因为互质数有1,2,3,5,6共6个。函数的两个性质:性质1:如果p是质数,则(p) = (p1)。性质2:如果p与q均为质数,则(pq) = (p)(q) = (p1)(q1)。RSA算法正是注意到这两条性质来设计公共密钥加密系统的,p与q的乘积n可以作为公共密钥公布出来,而n的因子p和q则包含在专用密钥中,可以用来解密。如果
19、解密需要用到(n),收信方由于知道因子p和q,可以方便地算出(n) = (p1)(q1)。如果窃听者窃得了n,但由于不知道它的因子p与q,则很难求出(n)。这时,窃听者要么强行算出(n),要么对n进行因数分解求得p与q。然而,我们知道,在大数范围内作合数分解是十分困难的,因此窃密者很难成功。有了关于函数的认识,我们再来分析RSA算法的工作原理:(1) 密钥配制。设m是要加密的信息,任选两个大质数p与q,选择正整数e,使得e与(n) = (p1)(q1)互质。利用辗转相除法,计算d,使得ed mod (n) = 1,即ed = k(n) +1,其中k为某一正整数。公共密钥为(e,n),其中没有包
20、含任何有关n的因子p和q的信息。专用密钥为(d,n),其中d隐含有因子p和q的信息。(2) 加密过程。使用公式对明文m进行加密,得密文c。(3) 解密过程。使用(d,n)对密文c进行解密,得明文m. 关于RSA算法,还有几点需要进一步说明:(1) 之所以要求e与(p1)(q1)互质,是为了保证 ed mod (p1)(q1)有解。(2) 实际操作时,通常先选定e,再找出并确定质数p和q,使得计算出d后它们能满足公式(12-3)。常用的e有3和65537,这两个数都是费马序列中的数。费马序列是以17世纪法国数学家费马命名的序列。(3) 破密者主要通过将n分解成pq的办法来解密,不过目前还没有办法
21、证明这是唯一的办法,也可能有更有效的方法,因为因数分解问题毕竟是一个不断发展的领域,自从RSA算法发明以来,人们已经发现了不少有效的因数分解方法,在一定程度上降低了破译RSA算法的难度,但至今还没有出现动摇RSA算法根基的方法。(4) 在RSA算法中,n的长度是控制该算法可靠性的重要因素。目前129位、甚至155位的RSA加密勉强可解,但目前大多数加密程序均采用231、308甚至616位的RSA算法,因此RSA加密还是相当安全的。据专家测算,攻破512位密钥RSA算法大约需要8个月时间;而一个768位密钥RSA算法在2004年之前无法攻破。现在,在技术上还无法预测攻破具有2048位密钥的RSA
22、加密算法需要多少时间。美国Lotus公司悬赏1亿美元,奖励能破译其Domino产品中1024位密钥的RSA算法的人。从这个意义上说,遵照SET协议开发的电子商务系统是绝对安全的。3.3.3RSA算法图解算法粗框图如图3.3所示。其具体运算过程有如下三步:(1) 加密。(2) 密钥传递。(3) 解密。图3.33.3.4素数及其产生在利用RSA算法进行加密或者是进行数字签名时,它的安全性在很大程度上依赖以密钥的生成。而密钥的生成有来源于素数的产生。因而安全快捷的产生大素数对于RSA的应用是很重要的。在现实中用来进行素数产生的算法有以下几种:(1) Solovag-StrassonRobert So
23、lovag和Volker Strasson开发了一种概率的基本测试算法。这个算法使用了雅可比函数来测试p是否为素数:选择一个小于p的随机数a。如果GCD(a,p)1,那么p通不过测试,它是合数。计算j=a(p-1)/2 mod p。计算雅可比符号J(a,p)。如果jJ(a,p),那么p肯定不是素数。如果j=J(a,p),那么p不是素数的可能性值多是50%数a被称为一个证据,如果a不能确定p,p肯定不是素数。如果p是合数。随机数a是证据的概率不小于50%。对a选择t个不同的随机值,重复t次这种测试。p通过所有t次测试后,它是合数的可能性不超过1/2t。(2) Lehmann另一种更简单的测试是由
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 874380901 公文 加密 论文

链接地址:https://www.31ppt.com/p-3931047.html