网络数据通信的加密传输设计.docx

上传人:b****4 文档编号:4650228 上传时间:2023-05-07 格式:DOCX 页数:59 大小:659.34KB
下载 相关 举报
网络数据通信的加密传输设计.docx_第1页
第1页 / 共59页
网络数据通信的加密传输设计.docx_第2页
第2页 / 共59页
网络数据通信的加密传输设计.docx_第3页
第3页 / 共59页
网络数据通信的加密传输设计.docx_第4页
第4页 / 共59页
网络数据通信的加密传输设计.docx_第5页
第5页 / 共59页
网络数据通信的加密传输设计.docx_第6页
第6页 / 共59页
网络数据通信的加密传输设计.docx_第7页
第7页 / 共59页
网络数据通信的加密传输设计.docx_第8页
第8页 / 共59页
网络数据通信的加密传输设计.docx_第9页
第9页 / 共59页
网络数据通信的加密传输设计.docx_第10页
第10页 / 共59页
网络数据通信的加密传输设计.docx_第11页
第11页 / 共59页
网络数据通信的加密传输设计.docx_第12页
第12页 / 共59页
网络数据通信的加密传输设计.docx_第13页
第13页 / 共59页
网络数据通信的加密传输设计.docx_第14页
第14页 / 共59页
网络数据通信的加密传输设计.docx_第15页
第15页 / 共59页
网络数据通信的加密传输设计.docx_第16页
第16页 / 共59页
网络数据通信的加密传输设计.docx_第17页
第17页 / 共59页
网络数据通信的加密传输设计.docx_第18页
第18页 / 共59页
网络数据通信的加密传输设计.docx_第19页
第19页 / 共59页
网络数据通信的加密传输设计.docx_第20页
第20页 / 共59页
亲,该文档总共59页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

网络数据通信的加密传输设计.docx

《网络数据通信的加密传输设计.docx》由会员分享,可在线阅读,更多相关《网络数据通信的加密传输设计.docx(59页珍藏版)》请在冰点文库上搜索。

网络数据通信的加密传输设计.docx

网络数据通信的加密传输设计

1绪论1

1.1研究背景及意义1

1.2国内外研究的现状2

1.3本论文的研究内容3

2数据加密的相关概念4

2.1密码学的根本概念4

2.1.1密码体制的构成4

2.1.2密码体制的分类4

2.1.3密钥的管理6

2.1.4数据加密的应用7

2.2对称密钥加密算法8

2.2.1对称密钥加密算法简介8

2.2.2数据加密标准〔DES〕8

2.3非对称密钥加密算法14

非对称密钥加密算法简介14

2.3.2RSA算法15

3数据加密传输系统的设计18

3.1系统的整体结构18

3.2模块设计18

3.2.1加解密模块18

3.2.2文件传输模块24

3.3本章小结25

4数据加密传输系统的实现26

4.1C++语言介绍26

4.2数据加密传输系统的实现27

4.2.1DES加密传输系统的实现27

4.2.2RSA加密传输系统的实现30

4.2.1DES和RSA混合加密传输系统的实现33

4.3本章小结37

5总结38

附录ADES加密算法程序40

附录BRSA加密算法程序43

附录C文件传输模块程序46

参考文献49

致谢51

 

1绪论

1.1研究背景及意义

随着信息技术突飞猛进的开展和计算机技术的广泛应用,计算机网络得到了长足开展和应用,比方电子商务,基于网络的产品设计、经营管理等[1]。

同时,由于计算机网络缺乏足够的平安性,网络上传输的信息随时都受到非法存取、盗听、篡改和破坏等的威胁,网络平安性问题日益突出,网络平安对策研究显得尤为重要[2]。

对计算机和网络平安造成威胁的可分为两类:

一是对网络本身的威胁,即这种威胁是针对网络设备和网络软件系统平台的;二是对网络中信息的威胁,即这种威胁是针对网络中的数据以及处理这些数据的信息系统和应用软件的。

影响计算机网络平安的因素有很多,其中一个主要的因素是来自于用户在操作中的失误,如口令选择不慎,随意将自己的账户借给他人或与他人共享等,这些都会对网络信息平安造成威胁[3]。

然而,计算机网络平安所面临的最大威胁那么来自于人为的恶意攻击。

这种人为攻击分两种,一是主动攻击,即以各种方式对系统和数据的有效性和完整性进行有选择性的破坏。

二是被动攻击,即在不影响网络和系统正常运行的情况下,对重要的机密信息进行截获和窃取。

软件本身存在的缺陷和漏洞以及由于平安配置不当所造成的平安漏洞(如防火墙软件配置的不正确),这些也是威胁网络平安的因素之一[4]。

另外,还有一个威胁网络平安的因素就是计算机病毒。

计算机病毒由于其特点具有隐蔽性、潜伏性、传染性和破坏性,因而对计算机网络平安所造成的破坏也十分巨大。

网络平安是计算机科学的新分支,也是信息产业的新领域。

它的产生源于网络通信的保密需要,它的开展得益于人们为应对侵犯网络通信连网计算机网络的各种攻击所做出的锲而不舍的努力。

随着互联网应用的深入和普及,如何不断地采取最有效的平安措施保护网络通信内容不被窃取、篡改和伪造以及保护连网计算机网络免受侵扰已变得至关重要。

在计算机网络日益扩大和普及的今天,计算机对平安的要求更高、涉及面更广[5]。

其内容主要包括:

(1)实体平安。

实体平安是指对场地、环境、设施、设备、载体、人员采取的各种平安对策和措施;

(2)数据传输网络平安。

是指信息在数据传输网络中传输时,如何保证其平安性的问题,防止在传输途中遭受非法窃取、篡改等;

(3)软件平安。

它涉及信息在存储和处理状态下的保护问题;

(4)信息平安。

即数据平安,是指系统有能力抵抗外来非法入侵者对信息的恶意访问、泄露、修改和破坏等,即:

机密性、完整性、可用性。

所以,如何实现计算机网络中数据传输平安,近年来一直是人们研究的课题之一。

迄今为止,对网络和数据传输平安的最重要的自开工具是加密。

数据在网络上传输时,其平安威胁主要来自于非法窃听,因此可将数据经加密算法加密成密文,然后在将密文发送到网络上进行传输,这是一种十分有效的平安保密手段。

1.2国内外研究的现状

随着涉密信息系统的不断扩展,信息平安保密技术得到广泛应用。

信息平安保密技术主要包括监控、扫描、检测、加密、认证、防攻击、防病毒以及审计等几个方面,其中数据加密技术是网络平安的核心技术,已经渗透到大局部涉密信息系统平安产品之中,并正向芯片化、量子化方向开展[6]。

在我国,信息网络平安研究历经了通信保密、数据保护两个阶段,正在进入网络信息平安研究阶段,现已开发研制出防火墙、平安路由器、平安网关、黑客入侵检测、系统脆弱性扫描软件等。

作为信息平安关键技术的密码学,近年来空前活泼,1976年美国学者提出的公开密钥密码体制,克服了网络信息系统密钥管理的困难,同时解决了数字签名问题,它是当前研究的热点。

而电子商务的平安性已是当前人们普遍关注的焦点,目前正处于研究和开展阶段,量子密码、DNA密码、混沌理论等密码新技术正处于探索之中。

解决网络信息平安问题的主要途径是利用密码技术和网络访问控制技术。

密码技术用于隐蔽传输信息、认证用户身份等。

网络访问控制技术用于对系统进行平安保护,抵抗各种外来攻击。

 一般来说,数据的操作包括存储、传输、处理3个过程,数据在网络上传输时可能会遇到的攻击手段有:

非法用户冒充合法用户对系统进行非法访问;非法窃听敏感数据;随意篡改窃听到的数据,使接收方接收到的数据失真甚至完全破坏等[7]。

数据加密技术是对信息进行重新编码,从而到达隐藏信息内容,非法用户无法获得信息真实内容的一种技术手段。

网络中的数据加密那么是通过对网络中传输的信息进行数据加密,满足网络平安中数据加密、数据完整性等要求,而基于数据加密技术的数字签名技术那么可满足审计追踪等平安要求。

可见,数据加密技术是实现网络平安的关键技术。

对数据加密系统的研究,除了加解密算法本身进行深入研究外,还包括密钥的生成、分发和密钥本身的平安性。

加密算法的平安性一方面依赖于算法内部的数学结构的严密性,另一方面也依赖于密钥的保密性[8]。

密钥在加密算法中有着举足轻重的地位,密钥一旦被泄露,那么意味着任何人都能在这个加密系统中加解密信息,加密算法也形同虚设。

因此用什么样的数据作为密钥、如何将密钥分发给数据传输双方及如何保存密钥都是十分重要的,所以建立一个平安的数据传输系统是网络平安领域研究的重点之一[9]。

1.3本论文的研究内容

本次毕业设计是对网络平安问题的当前状况进行研究,主要研究数据加密传输的应用设计与实现。

通过对对称密钥加密算法和非对称密钥加密算法的分析和研究,并对对称密钥加密算法和非对称密钥加密算法的代表DES算法和RSA算法的比拟,确定并且实现了根本的文件加密解密的处理流程,能提供对文件的平安、有效的保护。

在研究数据加密算法的根底上,根据网络应用的具体情况,在VC平台上设计并实现了数据的加解密传输,软件分为发送端和接收端。

发送端的功能主要为发送和加密文件,在发送之前,发送端有浏览文件的功能,该功能可以确定文件的位置;接收端可以将接收的文件进行解密,并且能够显示传输信息。

该文件传输系统按钮比拟少,操作起来很容易,而且使用了很成熟的加密算法,从而保证敏感数据在网络传输上的机密性和平安性。

 

2数据加密的相关概念

2.1密码学的根本概念

2.1.1密码体制的构成

一个密码体制

可定义为

,其中

是明文空间(亦称信息空间),

是密文空间,

是密钥空间,

是加密映射族,

是解密映射族。

一个密码体制由以下五个局部组成:

①明文空间

②密文空间

③加密密钥空间

④解密密钥空间

⑤加密变换

⑥解密变换

表示明文,

表示密文。

加密变换

又记为

,解密变换

又记为

如果

成立,那么称该密码体制具有保密性;如果

成立,并且解密密钥只能被唯一的一个数据传输实体所知晓,那么称该密码具有认证性。

当我们强调一个密码体制的保密功能时,称该密码体制为加密体制;强调一个密码体制的认证功能时,称该密码为签名体制;强调一个密码体制的密钥交换功能时,称该密码为密钥交换体制[10]。

2.1.2密码体制的分类

对称密钥加密法也称为私钥加密法,加密与解密使用相同的密钥,需要对加随着密码学的不断开展出现了两种不同的密码体制,他们分别是对称的密码体制和非对称的密码体制。

对称的密码体制:

又称单钥体制、私钥体制、传统密钥体制,它的特点是Ek和Dk中的任意一个,就能容易的求出另外一个,同时对Ek和Dk加以保护即可满足保密性和真实性的要求,图2.1是它的示意图。

对称密码体制的优点是具有很高的保密强度,可以到达经受较高级破译力量的分析和攻击,但它的密钥必须通过平安可靠的途径传递,密钥管理成为影响系统平安的关键性因素,使它难以满足系统的开放性要求[11]。

对称密码加密算法中最著名的是DES(DataEncryptionStandard)加密算法,它是由IBM公司开发的数据加密算法,它的核心是乘积变换。

美国于1997年1月将其定为非机密数据的正式数据加密标准。

它可有效地防止穷尽搜索攻击。

还有一些其他常用的私钥加密算法,如3DES、IDEA等[12]。

 

 

图2.1对称加密算法的示意图

非对称的密码体制:

与对称的密码体制相对,又称双钥体制、公钥体制,它的特点是Ek无法容易的求出Dk,从而公开Ek不会丧失对Dk的保护。

非对称密码体制的主要优点是可以适应开放性的使用环境,密钥管理问题相对简单,可以方便、平安地实现数字签名和验证,图2.2是非对称性加密算法示意图。

非对称加密算法中最著名的是由美国MIT的Rivset、Shemir、Adleman于1977年实现的RSA算法[13]。

 

图2.2非对称加密算法的示意图

2.1.3密钥的管理 

密钥既然要求保密,这就涉及到密钥的管理问题,密钥的管理涉及到以下几个方面:

 

(1)密钥使用的时效和次数 

如果用户使用同样密钥屡次与其他用户交换信息,那么密钥也同其它任何密码一样存在着一定的平安性。

虽然用户的私钥是不对外公开的,但是也很难保证私钥长期的保密性,很难保证长期以来不被泄漏[14]。

如果入侵者偶然地知道了用户的密钥,那么用户曾经和其他用户交换的每一条消息都不再是保密的。

另外使用一个特定密钥加密的信息越多,提供应窃听者的材料也就越多,从某种意义上来讲也就越不平安了。

因此,一般强调仅将一个对话密钥用于一条信息中或一次对话中,或者建立一种按时更换密钥的机制以减小密钥暴露的可能性。

 

(2)多密钥的管理 

假设在某机构中有100用户,如果任意两个用户之间可以进行秘密对话,那么总共需要多少密钥呢?

每个人需要知道多少密钥呢?

如果任何两个用户之间通信需要不同的密钥,那么总共需要4950个密钥,而且每个人应记住99个密钥。

如果机构的用户更多,这种方法就显然过于平庸[15]。

 

Kerberos提供了一种解决这个较好方案,它是由MIT创造的,使保密密钥的管理和分发变得十分容易,但这种方法本身还存在一定的缺点。

为能在互联网上提供一个实用的解决方案,Kerberos建立了一个平安的、可信任的密钥分发中心(Key Distribution Center,KDC),每个用户只要知道一个和KDC进行会话的密钥就可以了,而不需要知道成百上千个不同的密钥。

2.1.4数据加密的应用 

数据加密技术的应用是多方面的,但最为广泛的还是在电子商务和VPN上的应用。

 

(1)在电子商务方面的应用 

电子商务(E-business)允许顾客和商家可以在网上进行各种商务活动,同时不必担忧相应的商务信息被盗用,比方信用卡号码、商品报价等。

RSA的出现,提高网上交易的平安性,从而使电子商务走向实用成为可能[16]。

 

NETSCAPE公司提供了一种基于RSA的平安套接层协议SSL(SecureSockets

Layer)即为数据加密技术在电子商务方面应用的一个典型案例[17]。

 

SSL2.0用电子证书(Electric certificate)来实行身份进行验证后,双方就可以用保密密钥进行平安的会话了。

它同时使用“对称〞和“非对称〞加密方法,在客户与电子商务的效劳器进行沟通的过程中,客户会产生一个Session Key,然后客户用效劳器端的公钥将Session Key进行加密,再传给效劳器端,在双方都知道Session Key后,传输的数据都是以Session Key进行加密与解密的,但效劳器端发给用户的公钥必需先向有关发证机关中请,以得到公证。

 

SSL协议是一个比拟优秀而久经考验的网络平安协议,一般情况下能够抵抗窃听、篡改、会话劫持、中间人等多种攻击手段。

协议的设计模式为“契入式〞,与高层应用协议和低层网络协议无关,可以方便地集成到多种网络环境中去,可根据不同的平安需求,选择协议提供得多种密码算法和密钥交换协议。

SSL目前在Web和电子商务中的应用相当广泛。

 

(2)加密技术在VPN中的应用

目前,跨地域国际化的机构越来越多。

一个机构在多个城市、国家设有分支机构。

每一个机构都有自己的局域网LAN (Local AreaNetwork)。

事实上,很多机构一般租用专用线路来连结这些虚拟的局域网。

这种情况下,机构内部的重要文件、数据是通过广域网进行传输,因此网络的平安问题最为重要。

具有加密/解密功能的路由器等设备的出现,使通过广域网组成局域网成为可能,即所谓的的虚拟专用网(Virtual Private Network, VPN)[18]。

当数据离开发送者所在的局域网时,该数据首先被用户湍连接到互联网上的路由器进行硬件加密,数据在互联网上是以加密的形式传送的,当到达目的LAN的路由器时,该路由器就会对数据进行解密,这样目的LAN中的用户就可以看到真正的信息了。

而加密解密过程对于普通的非网络管理用户来说,是透明的,既普通用户无需考虑VPN及加密解密的相关问题。

因此,对普通用户来说,VPN在使用过程中和一般LAN没有任何区别。

2.2对称密钥加密算法

2.2.1对称密钥加密算法简介

对称密钥加密法也称为私钥加密法,加密与解密使用相同的密钥,需要对加密和解密的密钥进行保密,即从一个易于得出另一个,其本质就是替换与置换密钥。

对称密钥加密的平安性取决于两个因素。

第一,加密算法必须足够强大,使得仅根据密文不容易破译出明文。

第二,取决于密钥的平安性,换言之,我们不必为算法保密,仅需对密钥保密。

但对称密钥加密法在实际应用中存在两个问题。

第一,密钥协定或密钥发布。

双方如何确定密钥?

一个方法是发送方的某个人实际访问接收方,交出密钥;另一个方法是由信使传递写有密钥的纸张;第三个方法是通过网络向接收方发一个密钥并请求确认,但如果第三方得到这个消息,那么可以解释后面的所有消息。

第二,由于加密和解密使用相同的密钥,因此一对通信需要一个密钥。

假设A要与B和C平安通信,那么与B通信要一个密钥,与C通信要一个密钥。

A与B通信所用的密钥不能再A与C通信时使用,否那么C可能解释A与B之间的通信消息,B可能解释A与C之间的通信消息[19]。

由于Internet上有几千个商家向几十万个买家销售商品,如果使用这种模式,根本行不通。

无论如何,由于这些缺点可以用巧妙的解决方案克服,加上对称密钥加密法还有几个优点,因此使用很广泛。

2.2.2数据加密标准〔DES〕

(1)DES算法简介

目前使用最广泛的加密方法都基于1997年被美国标准局作为第46号联邦信息处理标准而采用的数据加密标准DES。

DES算法是对称密码体制的算法中最著名的代表,它是由IBM公司在70年代开展起来的,并经过政府的加密标准筛选后,于1976年11月被美国政府采用,DES随后被美国国家标准局和美国国家标准协会(ANSI)成认。

(2)DES加密原理

DES是一种分组密码体制。

在DES中数据以64位分组进行加密,密钥长度为56位(另外8位可以作为奇偶检验或者完全随意设置)。

加密算法经过一系列的步骤把64位的输入变换成64位的输出,解密过程中使用同样的步骤和同样的密钥。

其根本思想就是采用变换的组合与迭代,将明文中的各组变为密文组。

图2.3是DES算法中的主要步骤。

图2.3DES算法中的主要步骤

〔1〕对文M进行初始置换

初始置换只发生一次,是在第一轮之前进行的,图2.4是初始置换使用的完整置换表。

58

50

42

34

26

18

10

2

60

52

44

36

28

20

12

4

62

54

46

38

30

22

14

6

64

56

48

40

32

24

16

8

57

49

41

33

25

17

9

1

59

51

43

35

27

19

11

3

61

53

45

37

29

21

13

5

63

55

47

39

31

23

15

7

 

图2.4初始置换表

(2)DES的一轮

DES的一轮包括图2.5所示的步骤。

 

图2.5DES的一轮

第1步:

密钥变换

最初64位密钥通过放弃每个第8位而得到56位密钥,每一轮从这个56位密钥产生不同的48位密钥,称为密钥变换。

56位密钥分成两半,各为28位,循环左移一位或两位。

例如,如果轮号为1、2、9、16,那么只移一位,否那么移两位,相应移位后选择56位中的48位。

由于密钥变换要进行置换和选择56位中的48位,因此称为压缩置换。

第2步:

扩展置换

经过初始置换后,我们得到两个32位明文区,分别称为左明文和右明文。

扩展置换将右明文从32位扩展到48位。

除了从32位扩展到48位之外,这些位也进行置换,因此称为扩展置换。

过程如下:

〔1〕将32位右明文分为8块,每块各有4位。

〔2〕将上一步的每个4位块扩展为6位块,即每个4位块增加2位。

这两位实际上是重复4位块的第一位和第四位。

如图2.6所示。

图2.6右明文扩展置换过程

可以看出,密钥变换将56位密钥压缩成48位,而扩展置换将32位右明文扩展为48位。

现在,48位密钥与48位右明文进行异或运算,将结果传递到下一步,即S盒替换。

第3步:

S盒替换

48位输入块分为8个子块〔各有6位〕,每个子块指定一个S盒,S盒将6位输入变成4位输出。

8个S盒如下图:

14

4

13

1

2

15

11

8

3

10

6

12

5

9

0

7

0

15

7

4

14

2

13

1

10

6

12

11

9

5

3

8

4

1

14

8

13

16

2

11

15

12

9

7

3

10

5

0

15

12

8

2

4

9

1

7

5

11

3

14

10

0

6

13

图2.7S盒1

15

1

8

14

6

11

3

4

9

7

2

13

12

0

5

10

3

13

4

7

15

2

8

14

12

0

1

10

6

9

11

5

0

14

7

11

10

4

13

1

5

8

12

6

9

3

2

15

13

8

10

1

3

15

4

2

11

6

7

12

0

5

14

9

图2.8S盒2

10

0

9

14

6

3

15

5

1

13

12

7

11

4

2

8

13

7

0

9

3

4

6

10

2

8

5

14

12

11

15

1

13

6

4

9

8

15

3

0

11

1

2

12

5

10

14

7

1

10

13

0

6

9

8

7

4

15

14

3

11

5

2

12

图2.9S盒3

7

13

14

3

0

6

9

10

1

2

8

5

11

12

4

15

13

8

11

5

6

15

0

3

4

7

2

12

1

10

14

9

10

6

9

0

12

11

7

13

15

1

3

14

5

2

8

4

3

15

0

6

10

1

13

8

9

4

5

11

12

7

2

14

图2.10S盒4

2

12

4

1

7

10

11

6

8

5

3

15

13

0

14

9

14

11

2

12

4

7

13

1

5

0

15

10

3

9

8

6

4

2

1

11

10

13

7

8

15

9

12

5

6

3

0

14

11

8

12

7

1

14

2

13

6

15

0

9

10

4

5

3

图2.11S盒5

12

1

10

15

9

2

6

8

0

13

3

4

14

7

5

11

10

15

4

2

7

12

9

5

6

1

13

14

0

11

3

8

9

14

15

5

2

8

12

3

7

0

4

10

1

13

11

6

4

3

2

12

9

5

15

10

11

14

1

7

6

0

8

13

图2.12S盒6

4

11

2

14

15

0

8

13

3

12

9

7

5

10

6

1

13

0

11

7

4

9

1

10

14

3

5

12

2

15

8

6

1

4

11

13

12

3

7

14

10

15

6

8

0

5

9

2

6

11

13

8

1

4

10

7

9

5

0

15

14

2

3

12

图2.13S盒7

13

2

8

4

6

15

11

1

10

9

3

14

5

0

12

7

1

15

1

8

10

3

7

4

12

5

6

11

0

14

9

2

7

11

4

1

9

12

14

2

0

6

10

13

15

3

5

8

2

1

14

7

4

10

8

13

15

12

9

0

3

5

6

11

图2.14S盒8

第4步:

P盒置换

所有S盒的输出组成32位块,对该32位要进行P盒置换。

图2.15显示了P盒置换。

16

7

20

21

29

12

28

17

1

15

23

26

5

18

31

10

2

8

24

14

32

2

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高等教育 > 军事

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2