基于DES和RSA算法的数据加密传输系统设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2010年第04期,第43卷通信技术 Vol.43,No.04,2010 总第220期Communications Technology No.220,Totally
基于DES和RSA算法的数据加密传输系统设计
朱作付,徐超,葛红美
(徐州工业职业技术学院,江苏徐州 221000)
【摘要】DES和RSA是两种应用非常广泛和成熟的数据加密算法。本文通过对DES和RSA加密技术进行分析,建立了一个包括信息交换格式、交换协议和加解密算法的数据传输系统。系统的整体设计建立于现在流行的分布式系统的基础上,由于采用了agent的结构,使得任何一个部件的故障对系统的负面影响达到最小,从而保证了整个系统运行的健壮性,即保证各个Agent与中央控制器进行安全数据传输。系统具有良好的可操作性,能够适用于不同的应用环境。
【关键词】算法;传输系统;数据加密;分布式系统
【中图分类号】TP392【文献标识码】B【文章编号】1002-0802(2010)04-0090-03 Design of DES and RSA-based Data Encryption Transmission System Design
ZHU Zuo-fu, XU Chao, GE Hong-mei
(Xuzhou College of Industrial Technology, Xuzhou Jiangsu 221000, China)
【Abstract】DES and RSA are two widely-applied and mature data encryption algorithms. This article, through analysis on DES and the RSA encryption technologies, proposes a data transmission system, which includes the form of information exchange, swapping agreement and encryption algorithm. The overall design of the system is based on the present popular distributed system. Owing to the adoption of agent structure, the negative impact of any component failure on the system is minimized, thus ensuring the robustness of the whole system operation, that is, guaranteeing the safe data transmission between each Agent and the central controller. This system is of excellent operability and suitable for various application environments.
【Key words】algorithm; transmission system; data encryption; distributed system
0 引言
目前的数据加密技术根据密钥类型可分为私钥加密(对称加密)系统和公钥加密(非对称加密)系统.对称加密系统与非对称加密相比,在加密、解密处理速度、防范能力、数字签名和身份认证等方面各有优劣.对称加密算法DES和非对称加密算法RSA的安全性都较好,还没有在短时间内破译它们的有效方法,常常采用DES与RSA相结合的加密算法.在加密、解密的处理效率方面,DES算法优于RSA算法.在密钥的管理方面,RSA算法比DES算法更加优越,DES算法从原理上不可能实现数字签名和身份认证.因此,本文将采用对称加密DES算法、非对称加密RSA算法相结合,实现数据加密数据加密传输系统。[1]1 数据加密传输系统WDES的设计
1.1 系统的整体设计
研究网络环境下的数据加密问题,首先需要建立一个可以进行信息交互的数据传输环境,在该环境下进行数据的加密传输才有意义,否则,脱离数据传输环境而研究数据加密技术是没有任何意义的。[2]因此本文提出建立一个分布式入数据传输系统。系统的设计采用了分布式的结构,各个分布式部件的设计采用了Agent的形式,每个Agent既可单独运行,同时又作为整个系统不可分割的一部分,受整个系统的调控,另一方面,由于采用了Agent的结构,使得任何一个部件的故障对系统的负面影响达到最小,从而保证了整个系统运行的健壮性。如下页图1所示。
1.2 数据加解密方案的设计
发送端将要发送的明文交给数据传输模块,数据传输模块根据要求使用特定的加密算法对明文进行加密,然后将加密后的密文发送给接收端,接收端的数据传输模块接收到相应的密文后选择相应的解密函数进行解密,解密后的明文再
收稿日期:2009-08-25。
作者简介:朱作付(1968-),男,教授,硕士研究生,主要研究方向为计算机系统结构;徐超(1980-),男,硕士研究生,讲师,
主要研究方向为计算机软件与理论;葛红美(1982-),女,
硕士研究生,讲师,主要研究方向为计算机应用技术。
90
91
传
[3]
图2数据加密工作流程
1.3 DES 和RSA 算法设计
(1)对称密码体制算法的选择和实现
对称密码体制中DES 算法是一种采用传统加密方法的区组密码。在该数据传输模块设计中,DES 采用64位分组进行加密,密钥长度为56位,对64位的数据块进行16轮自循环编码。在每轮编码时,48位的子密钥由56位的完整密钥经过循环左移、置换选择得出来。
为进一步提高安全性,在数据传输模块设计中使用DES 的改进算法,这种方法用三个密钥对明文进行三次加密,假设三个密钥是K1、K2和K3,P 是明文,C 是密文,则C=EK3[DK2[EK1[P ]]]这要花费原来三倍的时间,但是采用三重DES 的168位密钥是很“强壮”的加密方式了。DES 算法的实现过程由密钥生成、加密、解密三个部分组成。为了使算法具有良好的跨平台性,选择了标准C 语言作为算法的实现语言,将这三个过程封装成三个子函数,并在Linux 和Windows 环境下对算法的正确性进行检验。由于采用软件实现DES 加解密,速度较硬件实现慢,但软件实现方便、成本低,能够满足系统的要求。
(2)非对称密码体制算法的选择
非对称密码体制中RSA 算法是一个既能用于数据加密也能用于数字签名的加密算法。根据RSA 算法的特点,可以使用RSA 算法加密DES 的加密密钥,然后通过网络传递经加密以后的密文,可有效的提高系统数据传输的安全性。但RSA 加密算法仅适用于组件向控制台注册的过程。[4]
实现过程中采用标准C 语言将RSA 密钥的生成、加密、解密过程封装成三个子函数,并在Linux 和Windows 环境下对算法的正确性进行检验。实验表明RSA 密钥生成过程所需时间较长,根据不同机器的性能大约需要2~3 min ,能够满足分布式入侵检测系统的要求。[5]
2 数据加密传输系统WDES 的实现
2.1 数据传输模块
数据传输模块负责与中控器间的秘密数据传输。数据传输模块的主要功能为:创建监听线程监听固定的端口,以便其它组件和中央控制器建立连接,发送信息给中央控制器;中央控制器和其它组件建立连接,发送信息给其它组件。数据传输模块对应的类为CCommunicator 。数据传输模块包括发送和接收信息和信息处理两个子模块。发送和接收信息子模块:将一定格式的信息发送到中控器、从中控器接收信息;信息处理子模块:负责信息的处理,如处理注册过程、事件信息、处理中控器发送到主防火墙的信息以及向中控器发送信息。
2.2 WDES 的DES 加解密模块
(1)DES 算法(见图3)
DES 算法的入口参数有三个:Key 、Data 、Mode 。
其中Key 为8个字节共64位,是DES 算法的工作密钥;Data 是8个字节64位,是要被加密或被解密的数据;Mode 为DES 的工作方式,有两种:加密或解密。
DES 算法工作方式:如Mode 为加密,则用Key 把数据Data 进行加密, 生成Data 的密码形式(64位)作为DES 的输出结果;如Mode 为解密,则用Key 去把密码形式的数据Data 解密,还原为Data 的明码形式(64位)作为DES 的输出结果。在数据传输网络的两端,双方约定一致的Key ,在数据传输的源点用Key 对核心数据进行DES 加密,然后以密码形式在网络中传输到数据传输网络的终点,数据到达目的地后,用同样的Key 对密码数据进行解密,便再现了明码形式的核心数据。这样,便保证了核心数据(如PIN 、MAC [6]图3 DES 算法示意
(2)DES 算法的实现
DES 加解密算法主要由三个部分组成:密钥生成、加密函数、解密函数。为了使算法具有良好的跨平台性,选择了