基于DES和RSA算法的数据加密传输系统设计
- 格式:pdf
- 大小:377.12 KB
- 文档页数:5
文件加密系统设计与实现摘要:该文论述了数据加密的原理与方法,介绍了几种常见的加密算法并在此基础之上比较了常用的加密算法的优缺点,在掌握了这几种算法的基础之上,对比对称密钥加密体制和公共密钥密码体制的优缺点以及前面的两个需求,最终利用DES算法和RSA算法来设计和实现自己的加密系统。
该文详细的介绍了理论原理并详细记录了系统设计与实现过程。
关键词:密码学;DES算法;RSA算法;加密系统设计中图分类号:TP311文献标识码:A文章编号:1009-3044(2011)14-3299-03Design and Implementation of a Encrypting File SystemLIN Pei-tong(Guangdong Food and Drug Vocational Technical School, Guangzhou 510663, China)Abstract: After mastery these types of algorithms, compared the advantages and disadvantages between the Symmetrical cryptograph and nonsymmetrical cryptograph, as well as consider the two demands in front, at last decide use DES algorithm and the RSA algorithm to design and realize myencryption system. In this article, Detail the theoretical principles of Cryptographic and note the detailed of design and realize process..Key words: cryptography; DES; RSA; design1 绪言随着Internet的发展人类已经步入信息时代,在信息时代,信息安全问题越来越重要。
文章标题:深入探讨联邦数据加密标准(DES)算法数据加密随着信息化时代的不断发展,数据安全问题变得愈发突出。
在处理机密信息时,保护数据的安全性至关重要。
而联邦数据加密标准(DES)算法作为一种被广泛应用的数据加密方式,其加密原理和应用领域备受关注。
本文将从深度和广度的角度,全面探讨DES算法的数据加密,让我们共同深入理解这一重要技术。
一、理解DES算法1.1 DES算法的基本概念在加密领域,DES算法是一种对称密钥加密算法,它使用相同的密钥对数据进行加密和解密。
其基本原理是通过将明文按照密钥进行置换和替换运算,生成密文,从而实现数据的加密。
1.2 DES算法的加密过程DES算法的加密过程包括初始置换、16轮迭代运算和终结置换。
在初始置换阶段,明文经过一系列置换操作后得到L0和R0,然后进行16轮迭代运算,最终得到L16和R16。
通过终结置换生成密文,完成加密过程。
1.3 DES算法的密钥管理DES算法的密钥长度为56位,但采用64位的密钥空间,在加密和解密中对密钥进行了置换和选择操作。
密钥管理是DES算法中至关重要的一环,合理的密钥管理可以有效提升数据的安全性。
二、DES算法的应用领域2.1 网络数据传输安全在网络数据传输安全领域,DES算法被广泛应用于加密通信协议、虚拟专用网络等方面,保障了网络数据的安全传输和交换。
2.2 数据存储安全在数据存储领域,DES算法可用于对存储在磁盘上的数据进行加密保护,防止未经授权的访问和篡改。
2.3 金融交易安全在金融领域,DES算法可用于加密银行卡交易数据、电子支付信息等,保障了用户资金安全和交易隐私。
三、对DES算法的个人观点和理解在我看来,DES算法作为一种经典的对称密钥加密算法,在数据安全领域的应用前景广阔。
然而,随着计算机算力的不断提升,DES算法的安全性逐渐受到挑战,其密钥长度较短、加密速度较慢等问题也亟待解决。
针对DES算法的不足之处,我们可以结合其他加密算法,如AES算法、RSA算法等,构建更为安全和高效的数据加密方案。
云计算数据安全管理系统的设计与实现随着互联网技术的不断发展,云计算已经成为了数字化转型的重要手段之一。
云计算的优势在于可以将企业的IT系统和数据存储资源和其它企业或合作伙伴共享,实现规模化、智能化管理。
但是,随之而来的,数据安全问题也成为了企业在云计算应用过程中必须面对和解决的问题之一。
因此,对于云计算来说,保障数据安全已经成为了一项重要的需要考虑的问题。
一、云计算数据安全面临的挑战在云计算应用中,数据安全面临许多挑战。
首先是物理环境的安全性问题。
云计算使用的数据中心,往往是开放访问的,因此,外部攻击尝试通过对机房的攻击来盗窃数据或损坏云计算核心设备的可能性很高。
其次,云计算服务供应商由于平台共享,存储有许多用户的数据,也更容易成为被攻击的目标。
最后,由于云计算技术具有开放性和可扩展性,也更容易受到恶意攻击的影响。
为了解决这些问题,需要建立完善的云计算数据安全管理系统,即针对云计算应用场景提供专业的数据安全保护措施。
下面是针对云计算数据安全管理系统的设计和实现的探讨。
二、云计算数据安全管理系统的设计1. 设计架构云计算数据安全管理系统的架构通常包括以下组成部分:安全审核、安全策略、授权管理、数据备份、用户认证、管理流程的审批管、数据加密解密模块等。
为了实现密钥的安全管理,云计算数据安全管理系统应该分为三层: 应用层,中间层和底层。
应用层主要负责系统的用户操作,中间层主需要处理用户请求数据的加密与解密,底层需要实现数据的存储和传输。
2. 加密算法云计算数据安全管理系统的核心是数据加密技术,目前广泛应用的加密算法有DES、3DES和RSA。
在实践中,可以根据实际应用情况进行不同的加密算法的选择,以满足不同应用需求下数据的安全保障。
在加密算法的选择上,应优先考虑可逆性和加密强度等评价指标。
3. 数据备份数据备份也是云计算数据安全管理系统中非常重要的部分。
为保证数据的完整性和可用性,必须进行全面的数据备份工作。
RSA和DES加密算法详解RSA加密算法:RSA是一种非对称加密算法,它的安全性基于大数的因数分解难题。
RSA算法的原理如下:1.选择两个不同的质数p和q,并计算它们的乘积n=p*q。
n被称为RSA算法的模数。
2.计算n的欧拉函数φ(n)=(p-1)*(q-1)。
3.选择一个整数e,使得1<e<φ(n),且e和φ(n)互质。
e被称为RSA算法的公钥指数。
4. 计算整数d,使得d*e ≡ 1 (mod φ(n))。
d被称为RSA算法的私钥指数。
5.公钥为(n,e),私钥为(n,d)。
6. 加密消息m时,将m的整数表示x,计算密文c ≡ x^e (mod n)。
7. 解密密文c时,计算明文m ≡ c^d (mod n)。
RSA算法的优点是加密速度较快,且在典型情况下很难被破解。
其主要应用领域包括数据传输中的身份认证、数字签名、数字证书等。
DES加密算法:DES(Data Encryption Standard)是一种对称加密算法,它采用64位的分组长度和56位的密钥长度。
DES算法的原理如下:1.初始置换(IP):将输入的64位明文分为左右两个32位部分。
2.迭代运算:通过16次的迭代运算,先对右半部分进行扩展和异或运算,然后经过S盒置换和P盒置换,最后与左半部分进行异或运算。
3.逆初始置换(IP-1):将得到的64位结果进行逆初始置换得到密文。
4.这里的迭代运算中,用到了轮密钥生成算法。
DES算法的密钥扩展过程中,通过对56位密钥进行位移、选择和置换操作生成各轮所使用的子密钥。
DES算法的缺点是安全性较低,主要是由于其算法密钥长度较短,易受到穷举攻击。
因此在实际应用中,通常采用3DES算法,即对DES算法进行三次加密。
1.对称加密算法DES的加密速度较快,而非对称加密算法RSA的加密速度较慢。
这是因为RSA算法涉及大数的运算,而DES算法仅涉及位运算。
2.DES算法的密钥长度较短,容易受到穷举攻击,安全性较低。
安全的数据传输加密和保护敏感数据的方法在日常生活和工作中,我们经常需要进行数据的传输和存储,其中可能涉及到一些敏感信息。
为了确保数据的安全性,我们需要采取一些加密和保护敏感数据的方法。
本文将介绍几种常见的数据传输加密和敏感数据保护的方法。
一、数据传输加密方法1. 对称加密对称加密是一种常见的数据传输加密方法,它使用相同的密钥对数据进行加密和解密。
发信方和收信方都使用相同的密钥进行加密和解密操作,因此需要确保密钥的安全性。
常见的对称加密算法包括DES、AES等,使用这些加密算法可以有效地保护数据的机密性。
2. 非对称加密非对称加密使用不同的密钥对数据进行加密和解密。
发信方使用公钥进行加密,收信方使用私钥进行解密。
非对称加密算法常用的有RSA、DSA等,其主要优势在于密钥的安全传输问题,可以通过事先交换公钥实现加密通信。
非对称加密算法适用于保护数据的机密性和完整性。
3. SSL/TLS协议SSL(Secure Sockets Layer)和TLS(Transport Layer Security)是一种常见的安全传输协议,它基于非对称加密算法和对称加密算法,用于确保数据在传输过程中的安全性。
SSL/TLS协议广泛应用于Web浏览器和服务器之间的通信,通过使用数字证书对服务器进行身份验证,并加密传输的数据流,确保数据能够安全地传输。
二、敏感数据保护方法1. 数据分类和权限控制对于敏感数据,我们可以进行分类,并设置不同的访问权限。
通过合理地划分数据的敏感级别,并根据用户角色和需求设置权限,可以有效地保护敏感数据的安全。
例如,在数据库中,我们可以设置只有管理员或授权用户才能访问某些敏感数据表,以防止未经授权的访问。
2. 数据备份和恢复数据备份是保护敏感数据的一种重要手段。
定期对数据库和文件系统进行备份,可以在数据丢失或出现问题时进行数据的恢复。
同时,需要注意将备份数据存储在安全可靠的地方,并设置合适的访问权限,以防备份数据被未经授权的访问。
基于加密算法的网络数据安全传输与存储技术研究网络数据安全传输与存储技术是当今信息技术领域中的一大重要研究方向。
在网络流通信息数量不断增加的情况下,数据安全传输和存储技术的重要性也随之提高。
加密算法是一种保护网络数据安全的最主要手段之一。
因此,基于加密算法的网络数据安全传输和存储技术成为研究的重点。
一、问题背景网络是一个开放、自由的信息分享平台。
在这个平台上,人们可以和亲朋好友交流,还可以寻找各种各样的信息和资源。
但与此同时,网络也面临着数据泄露、黑客攻击、病毒感染等安全问题,而这些问题都对个人和企业的数据安全造成了巨大的威胁。
在如今互联网时代,人们无法避免不用网络,因此必须采取相应措施来保证网络数据的安全传输和存储。
究竟如何实现网络数据的安全传输和保密存储呢?二、加密算法的应用在网络传输和数据存储时,为了防止数据被篡改、窃听和非法访问,往往需要采取加密算法进行保密处理,以确保数据的机密性和完整性。
加密算法是通过对数据信息进行处理和转换的方式来实现保密效果的。
实际上,加密算法的应用非常广泛,不仅在网络安全领域,还包括银行业、军事、医疗等各个领域。
加密算法主要分为对称加密算法和非对称加密算法两种。
对称加密算法是一种基本加密算法,它的加密和解密过程中使用的密码是同一个。
常用的对称加密算法有DES、3DES、AES等。
相对地,非对称加密算法则使用公钥密码和私钥密码两个不同的密钥。
常用的非对称加密算法有RSA、D-H、ECC等。
三、网络数据安全传输技术网络传输时,有一些关键数据需要进行保密传输,以防止窃听、篡改和抵御恶意攻击。
实现网络数据安全传输的技术主要有以下几种。
3.1 SSL(安全套接层)传输SSL技术是通过加密通信实现对网络数据的安全传输。
SSL技术可以使用对称加密算法和非对称加密算法的组合,从而保证数据的安全传输。
同时,SSL技术还可以利用数字证书实现身份验证和数据完整性验证,以确保网络数据传输的安全性。
摘要随着计算机的应用和网络技术的不断发展,网络间的通讯量不断的加大,人们的个人信息、网络间的文件传递、电子商务等方面都需要大力的保护,文件加密技术也就随之产生。
文件的加密主要是由加密算法实现,加密算法有多种,常见的有RSA、DES、MD5等。
本程序设计对文件的加密使用的是DES加密算法。
DES是分块加密的。
DES用软件进行解码需要用很长时间,而用硬件解码速度非常快,1977年,人们估计要耗资两千万美元才能建成一个专门计算机用于DES的解密,而且需要12个小时的破解才能得到结果。
所以,当时DES被认为是一种十分强壮的加密方法。
但今天,只需二十万美元就可以制造一台破译DES的特殊的计算机,所以现在 DES 对要求“强壮”加密的场合已经不再适用了。
Java语言具有简单、安全、可移植、面向对象、健壮、多线程、体系结构中立、解释执行、高性能、分布式和动态等主要特点。
利用Java语言中秘密密钥工厂对DES算法的支持,使程序实现文件加密、解密两大功能更简单。
本程序设计所采用的就是DES算法。
同时利用Java的GUI编程,生成文本对话框,对文件的路径进行选择、提供密钥框、加密和解密按钮。
使用本程序可以对txt,word等多种文件进行加密解密,使用便捷实用,功能完善,满足了用户对文件安全性的需求。
关键词:JA V A ,DES,加密,解密。
目录1题目分析 (1)1.1课程设计的要求和内容 (1)1.2 DES算法描述 (1)2概要设计 (3)2.1抽象数据类型的定义 (3)2.1.1 程序所需要引入的包 (3)2.1.2 其他定义 (3)2.2主程序流程图 (4)2.3各程序模块之间的层次(调用)关系 (4)3详细设计 (6)3.1 窗体的设计与实现 (6)3.2文件导入模块 (8)4测试分析与结果 (9)4.1. 测试结果 (9)4.1.1运行程序 (9)4.1.2加密 (9)4.1.3解密 (11)总结 (13)参考文献 (14)附录 (15)1题目分析1.1课程设计的要求和内容基本要求:1.利用某种加密算法对指定的文本文件进行加密(应判断其是否已经加密,若已加密则结束该步骤,否则提示输入加密口令,对文件进行加密);2.加密解密方法:本设计采用DES加密算法。
《基于ECC与RSA的随机加密方案的研究与设计》篇一一、引言随着互联网的迅猛发展,网络安全问题逐渐受到广大用户的高度重视。
密码学作为保护网络安全的核心技术,对于数据的加密和解密至关重要。
其中,ECC(椭圆曲线密码)和RSA是两种主流的公钥加密算法。
本研究设计了一种基于ECC与RSA的随机加密方案,旨在提供更高层次的加密保护和更好的安全性。
二、ECC与RSA的概述椭圆曲线密码(ECC)是一种基于椭圆曲线数学的公钥密码系统。
由于其加密强度高、密钥长度小等优点,被广泛应用于数字签名、身份验证等领域。
另一方面,RSA算法则是一种基于大数因子分解的公钥密码系统,被广泛用于加密、解密和数字签名等安全领域。
三、研究动机与目的当前,单一使用ECC或RSA进行加密已无法满足日益增长的网络安全需求。
为了解决这一问题,本研究旨在设计一种结合ECC和RSA的随机加密方案。
此方案不仅能够充分利用两者的优点,提高加密强度,同时也能更好地应对各种网络攻击。
四、方案设计1. 密钥生成:首先,生成ECC私钥和公钥对。
然后,利用RSA算法生成RSA私钥和公钥对。
这两对密钥将作为后续加密和解密的基础。
2. 随机加密:在数据传输前,采用随机数生成器生成一个随机数作为一次性的会话密钥。
该会话密钥将用于对数据进行初步的加密处理。
3. ECC加密:将初步加密的数据和ECC公钥作为输入,利用ECC算法进行二次加密。
此时,只有拥有对应ECC私钥的用户才能解密数据。
4. RSA加密:将经过ECC加密的数据和RSA公钥作为输入,利用RSA算法进行第三次加密。
此时,即使拥有ECC私钥,若无对应的RSA私钥也无法解密数据。
5. 数据传输:经过上述三个步骤加密后的数据,通过安全信道进行传输。
五、方案优势本方案结合了ECC和RSA两种算法的优点,具有以下优势:1. 高强度加密:通过三次加密过程,极大地提高了数据的安全性。
2. 随机性:采用随机数生成器生成的会话密钥,增强了数据的保密性。
网络数据传输中的加密技术原理一、引言随着互联网和信息技术的迅猛发展,人们的生活和工作方式发生了翻天覆地的变化。
而网络数据传输安全问题也日益引起人们的关注。
在数据传输过程中,数据易被黑客窃取、篡改和破坏,因此数据的加密技术已成为网络安全的关键。
二、基础概念在了解网络数据传输中的加密技术原理之前,先对以下基础概念进行介绍:1.明文:在加密前的原始消息或数据。
2.密文:将明文通过加密算法进行加密产生的消息或数据。
3.加密算法:将明文转换成密文的过程或方法。
4.密钥:加密算法需要用到的某个参数或信息,它能够影响加密算法的输出结果。
5.解密算法:密文通过解密算法进行解密,得到原始消息或数据(明文)。
三、对称加密对称加密也称为私钥加密。
在对称加密中,加密和解密使用同样的密钥。
这个密钥只有发送和接收的双方知道,第三方无法知道。
因此对称加密具有加密速度快、加密强度高等优点,但密钥传输的安全性成为对称加密的缺点之一。
对称加密主要有以下3种算法:1. DES算法:是数据加密标准,它是一种使用56位密钥的对称加密算法。
DES算法使用的密钥长度较短,现在已经被弃用。
2. 3DES算法:是DES算法的加强版,使用两个或三个密钥进行三次加密。
3DES算法比DES算法更加安全。
3. AES算法:是高级加密标准算法,它是一种使用128位到256位密钥的对称加密算法。
AES算法比3DES算法更加安全。
四、非对称加密非对称加密也称为公钥加密,它使用两个密钥:公钥和私钥。
公钥是用于加密消息的,只有私钥才能解密它。
私钥则是用于解密消息的,只有持有私钥的人或计算机才能解密。
主要有以下2种非对称加密算法:1. RSA算法:是现在最流行的公钥加密算法,它是基于大素数分解的。
RSA算法的强度取决于密钥长度。
2. ECC算法:是椭圆曲线加密算法。
相对于RSA算法,它可以在密钥长度较短的情况下提供更高的安全性。
五、数字证书数字证书是一种通过数字签名技术实现身份认证的方式。
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 DesignZHU 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 system0 引言目前的数据加密技术根据密钥类型可分为私钥加密(对称加密)系统和公钥加密(非对称加密)系统.对称加密系统与非对称加密相比,在加密、解密处理速度、防范能力、数字签名和身份认证等方面各有优劣.对称加密算法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-),女,硕士研究生,讲师,主要研究方向为计算机应用技术。
9091传[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 加解密算法主要由三个部分组成:密钥生成、加密函数、解密函数。
为了使算法具有良好的跨平台性,选择了标准C作为算法的实现语言。
DES密钥结构:struct deskeytype{int keylen; //密钥长度char key[20]; //密钥};(3)DES加密模块发送、接收的实现发送子模块的作用是将加解密子模块的输出作为输入,然后按照设计的协议对数据进行封装,然后利用TCP/IP协议将数据完整的发送出去。
[7]接收子模块的作用是利用TCP/IP协议从网络接收完整的数据,然后按照协议对数据进行解包,并将解包后的结果作为加解密子模块的输入,在完成解密后会将结果传给上层的应用。
为了确保数据传输的准确、可靠,在发送、接收子模块的具体实现中使用TCP协议作为低层的传输协议,同样,为了使生成的代码能运行于不同的平台,使用了标准C的套接字编程,经过windows下的传输测试,一切工作良好。
2.3 WDES系统的设计实现系统采用VC6.0开发,是采用面向对象的方法设计,所有的功能全部集成到每一个子模块里了,每一个子模块由很多类组成,每一个类执行不同的功能。
因此本系统的模块图层次很清楚,也很容易理解。
系统由控制模块、数据加密模块、数字签名模块、数据数据传输模块四个模块组成,[8]模块间的图4 系统模块的关系系统控制模块给加密模块、签名模块和数据传输模块发送指令,对他们进行控制;数据加密模块进行数据的DES 加解密功能,签名模块进行数字签名的功能,数据传输模块进行数据传输功能,它有三种模式,第一是对话模式,考虑到数据传输双方在传送文件前可能进行简单的对话,因此设计这个模式,可以将对话内容直接显示在屏幕上;二是明文传送模式,[9]它可以传送各种正规格式的文件,只要文件不含有乱码,都可以使用这种模式传送文件;第三种模式可以传送含有不规则符号的文件,它是专门为传送一些特殊文件设计,一般不使用。