一种重复长数据加密传输的方法及系统与流程

文档序号:12278747阅读:570来源:国知局
一种重复长数据加密传输的方法及系统与流程

本发明涉及数据加密领域,具体涉及一种重复长数据加密传输的方法及系统。



背景技术:

随着计算机通信技术的高速发展,越来越多的重要信息会选择通过网络来 进行传输,因此,如何保障通信数据在网络中进行传递的安全性已成为了人们 重点关注的网络安全问题之一,且以加密为手段的信息安全技术成为了网络安 全的核心研究点。

在数据加密传输技术中,RSA算法和数据加密标准(data encryption standard,DES)算法得到了广泛应用,在上述加密算法中,RSA算法虽然形式简单且保密性强,但是其加解密速度比较慢,如果通过RSA算法为整个报文进行加解密则效率极低,无法满足实际需求,因此不适用于加密信息内容比较长的报文;DES算法虽然加解密的速度比较快,但是其密钥分配过程比较复杂,且加密算法安全性低于RSA算法,不适用于加密信息非常重要的报文。并且在加密过程中使用压缩算法压缩特定类型的数据,使用有针对性的策略可以提高压缩效率和性能,但是如果数据包含很长的重复数据,那么运用RLE策略,压缩效率和性能得到更好的提高。



技术实现要素:

本发明实施例的目的在于提供一种重复长数据加密传输的方法。

为实现上述目的,本发明所采用的技术方案是:

一种重复长数据加密传输的方法,所述方法包括以下步骤:

(1)服务器接收并检测来自客户端的登录报文,包括客户端的用户名、密码、时间戳和RSA公钥。

(2)服务器动态生成数据加密算法DES密钥,并用来自客户端动态生成的 RSA公钥为所述DES密钥加密,生成RSA加密密文。

(3)客户端将接收到的所述RSA加密密文解密,获取所述DES密钥。

(4)客户端清空RSA密钥对。

(5)利用RLE算法压缩服务器和客户端之间传送的报文,并用所述DES密钥对压缩后的报文加密处理。

(6)客户端/服务器用所述DES密钥对接收到的报文进行解密,并用RLE算法对解密后的报文进行解压缩。

所述步骤(1)的具体实现方法为:服务器接收并检测来自客户端的用 户名、密码、时间戳和RSA公钥;当用户名和密码均正确且时间戳标示为当前时间时,则执行步骤(2)。

所述登录报文中的时间戳和密码用消息摘要SHA算法加密。

所述步骤(4)中RSA密钥对包括所述RSA公钥及其相应的 RSA私钥。

本发明还提供一种重复长数据加密传输的系统,包括服务器和至少一个客户端,所述服务器包括DES密钥生成模块,用于动态生成DES密钥;

RSA加密模块,用于采用来自所述客户端动态生成的RSA公钥为所述DES 密钥加密,生成RSA加密密文;

第一报文发送模块,用于利用RLE算法为报文进行压缩,并利用所述DES 密钥为压缩后的报文进行加密后发送给客户端;

所述客户端包括DES密钥获取模块,用于将接收到的所述RSA加密密文解密,获取所述 DES密钥;

第二报文发送模块,用于利用RLE算法为报文进行压缩,并利用所述DES 密钥为压缩后的报文进行加密后发送给所述服务器。

所述服务器还包括登录报文检测模块,用于接收来自客户端的登录报文,并检测所述登录报文中的用户名和密码是否正确且时间戳是否标示为当前时间。

所述所述客户端还包括RSA密钥对清空模块,用于在获取了所述DES密钥后,清空RSA密钥对。

所述所述客户端还包括第一解密模块,用于利用所述DES密钥对接收到的报文进行解密,并利用RLE算法对解密后的报文进行解压缩。

所述所述服务器还包括第二解密模块,用于利用所述DES密钥对接收到的报文进行解密,并用RLE算法对解密后的报文进行解压缩。

本发明采用了RSA与DES加密算法相结合的方法,用DES 算法为报文进行加密,同时用RSA算法为DES密钥进行加密,从而结合了DES 算法加解密速度快的优势和RSA算法安全性高的优势,并且在加密过程中使用压缩算法压缩特定类型的数据,使用有针对性的策略可以提高压缩效率和性能,但是如果数据包含很长的重复数据,那么运用RLE策略,压缩效率和性能得到更好的提高。

附图说明

图1为本发明实施例提供的系统的网络结构图。

图2为本发明实施例提供的方法流程图。

图3为本发明实施例提供的系统结构图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。

实施例1

如图1所示,一种重复长数据加密传输的系统由服务器1和至少一个客户端2构成,且服务器1和客户端2间基于TCP协议进行网络通信,能够实现相互的数据传输。本发明提供的所有实施例也均适用于基于UDP协议进行的网络通信,由于UDP协议没有服务器与客户端的概念,因此当基于UDP协议进行网络通信时,登录方与被登录方分别作为虚拟的客户端与服务器,实现与基于TCP协议通信的客户端与服务器相同的作用。

如图2所示,一种重复长数据加密传输的方法,实现流程如下:

(1)客户端动态生成RSA密钥对,所述密钥对包括RSA公钥及其相应的RSA 私钥。

在本实施例中,由于客户端动态生成的是RSA算法的密钥,因此,生成的密钥为两个,一个为RSA公钥,即公共密钥,一个为RSA私钥,即私有密钥,在实际的加解密过程中,RSA公钥是由其主人公开的,加密方单独地利用RSA 公钥进行加密,而RSA私钥需要保密存放,专门用于对经过加密的RSA密文进行解密。

(2)客户端将生成的RSA公钥发送至服务器。

在本实施例中,客户端生成的RSA密钥以登录报文的形式进行封装后发送给服务器。本发明的一个实施例,登录报文由客户端生成,还可以包含客户端的用户名、密码和时间戳。在本实施例中,用户名和密码用于标示客户端的合法性,而时间戳用于标示服务器接收到该登录报文的时间,而其中,密码和时间戳均用消息摘要算法SHA进行加密。相应地,当登录报文包含了客户端的用户名、密码和时间戳时,服务端在 接收到登录报文之后,首先需要判断其中的用户名和密码是否正确,同时,还 需要检测其中的时间戳是否标示为当前时间,如果是,则执行下一步骤。

(3)服务器动态生成DES密钥,并用接收到的来自客户端的RSA公钥为动 态生成的DES密钥加密,从而生成RSA加密密文。

(4)服务器将生成的RSA加密密文发送至客户端。

(5)客户端利用RSA私钥对接收到的RSA加密密文进行解密,从而获取到 服务器动态生成的DES密钥。

此时,客户端和服务端均获取到了用于加密发送报文的DES密钥。

同时,作为本发明的一个实施例,当客户端利用RSA私钥解密从而获取到 用于加解密报文的DES密钥后,会对当前的RSA密钥对进行清空,以方便下一次动态生成新的RSA密钥对,提高了数据传输的安全性。

(6)服务器利用DES密钥为需要发送的报文进行加密后发送给客户端,或者客户端利用获取到的DES密钥为需要发送的报文进行加密后发送给服务器。

在本实施例中,由于DES算法的加解密速度比较快,因此,对于信息内容 相对较长的报文来说,采用DES算法进行加解密,能够提高数据传输和数据处理的效率。

在服务器或者客户端接收到对方发送过来的加密报文之后,同样利用获取 到的DES密钥为加密报文进行解密,从而获取到实际报文。

作为本发明的一个实施例,在服务器或者客户端对需要发送的报文进行加 密之前,可以先采用RLE算法对报文进行压缩,而当客户端或者服务器将接收到的报文进行解密之后,同样利用RLE算法对该报文进行解压缩,由此,使得进行传输的数据为经过压缩的数据,以提高数据传输的效率。

如图3所示,一种重复长数据加密传输的系统,其中服务器10包括:DES密钥生成模块11,动态生成DES密钥。

RSA加密模块12,采用来自所述客户端动态生成的RSA公钥为所述DES 密钥加密,生成RSA加密密文。

第一报文发送模块13,利用所述DES密钥为报文进行加密后发送给客户端。

客户端3包括:DES密钥获取模块6,将接收到的所述RSA加密密文解密,获取所述DES密钥。

第二报文发送模块8,利用所述DES密钥为报文进行加密后发送给所述服务器。

客户端3还包括:登录报文生成模块4,生成包括了客户端3的用户名、密码、时间戳和动态生成的RSA密钥对的登录报文。

服务器10还包括:登录报文检测模块9,接收来自客户端3的登录报文,并检测登录报文中的用户名和密码是否正确且时间戳是否标示为当前时间。

当DES密钥获取模块6获取到服务器10动态生成的DES密钥后,客户端3还包括了:RSA密钥对清空模块5,在获取了所述DES密钥后,清空RSA密钥对。

在客户端3或者服务器10接收到对方发送来的加密报文之后,客户端3还包括:第一解密模块7,利用DES密钥对接收到的报文进行解密。

服务器10还包括:第二解密模块14,利用所述DES密钥对接收到的报文进行解密。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1