(二)稳定性
采用成熟的标准化DES的加密算法,该算法经过市场多年的研究,已经非成熟,能够有效地防止服务端的崩溃。
(三) 认证性
由于网络信息通信系统的特殊性,所以对个人或企业实体进行身份确认成了很重要的一环,对个人或实体的身份进行鉴别,为身份的真实性提供保证,即交易双方能够在想互不见面的情况下确认对方的身份,这意着当某人或实体声称具有某个特定的身份时,鉴别服务将提供一种方法来验证其声明的正确性。
针对以上需求,这次毕业设计所完成的DES算法,主要是要实现对网络中电子交易传输的数据进行DES加密解密操作,以确保网络间通信的安全有效。
3.2 通讯模块设计
网络通信协议采用协议(Transmission Control Protocol/Internet Protocol,传输控制协议网络协议)。主要研究的是会话应用层的数据加密。
为了搭建网络通讯的实现环境,需要构建C/S架构实现整个过程,此次设计中设置客户机与服务器之间的通信环境。 然后利用windows API接口做网络编程,实现客户机和服务器之间的通信,当服务器监听到客户机有数据传输的时候便建立连接并且启用接收线程来接收客户端发出来的数据,而此时,客户端发出来的数据是用自己的私钥对发送的数据进行des加密之后的密文数据,当服务器接收到客户机发送出来的数据之后,他先要用自己的私钥对客户端发送的加密过的公钥进行解密得到公钥明文,然后用这个公钥对客户端发送过来的数据密文进行解密,得到所需的数据。此后,它们之间客户机和服务器的角色随着彼此所处职责的不同而进行同样的通信。本程序的网络传输是基于visual studio 2012封装了 Winsock API 的 Socket 类来实现的,根据网络通信的需要,程序分别为服务器端和客户端两个角色定义了两个 Socket 的子类:Server 和Client。Window s API 提供了一组完成Socket 调用的函数。系统模型如图3.1 所示。
图 3.1 Winsock应用程序的系统模型
Winsock使用的是TCP协议和UDP协议, 允许建立并保持一个到远程计算机上的连接, 且可以在连接结束之前实时地进行数据交换。用户仅通过设置属性并借助事件处理就能轻而易举地连接到一个远程的计算机上, 而且只用两个命令就可以实现数据交换。使用TCP 协议时, 如果需要创建一个客户应用程序, 就必须识别服务器的名称或IP地址。应用程序的通信端口随时都将仔细检测对方发出的消息,这是系统进行可靠连接的保证。一旦连接发生, 任何一方都可以通过send( ) 发送数据和recv ( ) 接收数据。Winsock 可以让本地计算机连接到远程的计算机上, 同时使用UDP或TCP 协议, 两个协议都能创建客户机和服务器应用。使用Winsock 时, 通信的双方需要选定相同的协议。T CP 协议适用于传送大容量、需要安全性保证的数据文件; 而UDP 协议适用需要分别与很多下属通信, 或建立的连接比较多且为时变的情况。
3.3 数据DES加解密模块
在整个网络通讯的过程中,当一方发送数据的时候,可以选择对发送的数据进行des加密,以确保数据的安全性,des加密为对称加密,所以他会使用用户提供的密钥产生加密所需的轮密钥进行数据的加密。同理,当另一方接收到加密的数据之后,他会用发送方传送过来公钥对加密过的数据进行解密,得到需要的数据信息。
3.3.1 DES算法原理
DES运行的流程如图
图 3.2 DES流程图
图3.2是DES加密算法的框图,其中明文分组长为64比特,密钥长为56比特。图的左边是明文的处理过程,有3个阶段,首先是一个初始置换IP,用于重排明文分组的64比特数据。然后是具有相同功能的16轮变换,每论中都有置换和代换运算,第16轮变换的输出分为左右两半,并被交换次序。最后再经过一个逆初始置换IP-1(为IP的逆)从而产生64比特的密文。除初始置换和逆初始置换外,DES的结构和Feistel密码结构完全相同。 DES信息安全传递系统的设计与实现(6):http://www.youerw.com/jisuanji/lunwen_9548.html