法律状态公告日
法律状态信息
法律状态
2017-08-25
授权
授权
2014-04-23
实质审查的生效 IPC(主分类):H04L9/32 申请日:20131225
实质审查的生效
2014-03-26
公开
公开
技术领域
本发明涉及移动终端收发数据的加解密流程的技术领域,尤其是指一种基 于DES、RSA、SHA-1加密算法的通信数据加解密方法。
背景技术
随着社会的发展,移动终端的功能越来越强悍,各种公司企业提供的业务 也越来越多种多样,大大的方便了人们的生活。但是,伴随而来的就是信息安 全的问题。例如现在人们会通过移动终端来传送账号密码等信息,有许多的不 法之徒就会采用恶意攻击等手段来截获用户的有用信息以求牟利。本发明提出 的移动终端的加密流程是基于以下三种现在的技术的。
DES加密算法:DES算法是一种分组加密算法。该算法将要加密的数据按 64位进行分组,使用的密钥也是64位,但因为每8位作为一个奇偶校验位,所 以实际上只有56位密钥。使用DES加密首先将64位明文进行初始变换,然后 用64位的初始密钥产生16组子密钥,对初始变换后的明文进行16层的加密变 换,产生64位输出,然后进行逆初始变换产生64位密文。
SHA-1加密算法:SHA是美国国家标准和技术局发布的国家标准。SHA-1 是SHA家族中应用最为广泛的一个算法。SHA-1算法对输入的报文长度不限, 然后将输入的明文按照512位(64个字节)每组进行分块,经过一种不可逆的 散列运算产生一组160位(20字节)的报文摘要。由于SHA-1的散列算法有不 可逆性和良好的雪崩效应,所以不可能从散列结果推导出任何的原始数据,并 且也原始数据任何的改变,哪怕一位,都会造成散列结果的差异。将要传送的 明文和报文摘要一起发送给接收方,接收方利用收到的明文产生相应的报文摘 要,将产生的报文摘要与接收到的报文摘要进行比较,如果相同说明明文没有 被篡改,否则就是中间被人篡改了。
RSA加密算法:RSA是一种非对称加密算法,即有公钥和私钥两种密钥。 发送方利用接收方提供的公共密钥来对数据加密,接收方就用自己拥有的私钥 对信息进行解密。因为公钥和私钥是一一对应的,所以只有拥有私钥的接收方 才能解密用它提供的公钥加密的数据。并且RSA算法是一种“由已知加密密钥 推导出解密密钥在计算上是不可行的”安全体制,这也保证了加密数据的安全 性。
发明内容
本发明的目的在于克服现有技术的不足与缺陷,提供一种基于DES、RSA、 SHA-1加密算法的通信数据加解密方法,不但使得移动终端传输的加密数据更 加安全,而且实现了数字签名,使得数据更具有不可抵赖性。
为实现上述目的,本发明所提供的技术方案为:一种基于DES、RSA、SHA-1 加密算法的通信数据加解密方法,包括以下步骤:
1)获取待加密发送的数据;
2)将待发送的数据进行第一次加密,即进行分组DES加密;
3)对完成第一次加密的数据使用SHA-1加密算法生成摘要内容;
4)利用接收端提供的RSA加密公钥对经过SHA-1加密的数据以及摘要进 行加密;
5)发送密文;
6)接收端接收密文并利用自身的私钥对密文进行第一次解密;
7)对接收到的数据进行身份认证;
8)对完成身份认证的数据进行DES解密,读取数据内容。
在步骤4)中,在进行RSA加密前,先查看发送端是否有接收端的含有RSA 加密公钥的数字证书,有则进行RSA加密,否则,则暂停加密,而改为向接收 端发送数字证书请求消息。
在步骤7)中,对收到的数据进行身份认证的过程为:首先对进行第一次解 密后的数据中除开摘要部分的其它所有数据进行SHA-1运算,形成新的一个摘 要,然后将得到的摘要与接收到的摘要进行对比,如有不同,则说明数据被人 篡改过,丢弃数据,否则,转至步骤8)。
在步骤8)中,在进行DES解密前,先查看接收端是否有发送端的有效数 字证书,有则直接进行DES解密,否则暂停解密,转而向发送端发送数字证书 请求消息,然后从数字证书中解密出DES密钥来完成解密。
所述数字证书包含用户ID、RSA公钥对、DES密钥、证书启用时间、证书 停用时间,其中,所述RSA公钥对存放的是接收端自身的RSA公钥对;所述 DES密钥存放的是发送端自身的DES密钥,所述DES密钥是经过SHA-1身份 认证加密以及使用接收端中所存储的RSA公钥对进行RSA加密。
本发明与现有技术相比,具有如下优点与有益效果:
1、对于一般的数据加密,基本都是只进行分组加密或者非对称加密中的一 种,而本发明同时使用了分组加密和非对称加密两种形式的加密方法,所以使 得数据具有更高的安全性;
2、本发明对数据进行加密的同时,还进行了数字签名,这样在对数据加密 的同时,也保证了加入数据不行被篡改,也不会因为篡改的信息而遭受损失, 进而很好地预防恶意篡改数据带来的危害。
附图说明
图1为本发明在加密阶段的流程图。
图2为本发明在解密阶段的流程图。
具体实施方式
下面结合具体实施例对本发明作进一步说明。
本实施例所述的基于DES、RSA、SHA-1加密算法的通信数据加解密方法, 其具体情况如下:
1)获取待加密发送的数据;
2)将待发送的数据进行第一次加密,即进行分组DES加密;
3)对完成第一次加密的数据使用SHA-1加密算法生成摘要内容;
4)利用接收端提供的RSA加密公钥对经过SHA-1加密的数据以及摘要进 行加密;
5)发送密文;
6)接收端接收密文并利用自身的私钥对密文进行第一次解密;
7)对接收到的数据进行身份认证;
8)对完成身份认证的数据进行DES解密,读取数据内容。
在步骤4)中,在进行RSA加密前,先查看发送端是否有接收端的含有RSA 加密公钥的数字证书,有则进行RSA加密,否则,则暂停加密,而改为向接收 端发送数字证书请求消息。
在步骤7)中,对收到的数据进行身份认证的过程为:首先对进行第一次解 密后的数据中除开摘要部分的其它所有数据进行SHA-1运算,形成新的一个摘 要,然后将得到的摘要与接收到的摘要进行对比,如有不同,则说明数据被人 篡改过,丢弃数据,否则,转至步骤8)。
在步骤8)中,在进行DES解密前,先查看接收端是否有发送端的有效数 字证书,有则直接进行DES解密,否则暂停解密,转而向发送端发送数字证书 请求消息,然后从数字证书中解密出DES密钥来完成解密。
由于本发明同时采用了DES加密和RSA加密两种方式,涉及到密钥的传送 问题,这里提出了一种新的数字证书内容,如下表所示:
其中,RSA公钥对存放的是接收端自身的RSA公钥对,DES密钥存放的是 发送端自身的DES密钥;数字证书中存储的DES密钥并非直接的DES密钥而 是经过了SHA-1身份认证加密以及使用接收端数字证书中所存储的RSA公钥对 进行了RSA加密,这样就保证了DES密钥的安全。所以接收端要使用DES密 钥时,必须先用自身的RSA密钥进行解密以及身份验证后才可以使用。
本实施例所述的发送端包括有加密模块、密钥存储模块、发送模块,所述 的接收端包括有数据获取模块、显示模块、缓存模块、接收模块。其中,所述 密钥存储模块里存放着自身的用于DES加密的64位密钥、RSA解密私钥对, 其它终端的数字证书。
如图1所示,在加密阶段,数据获取模块得到数据后,首先将明文数据分 组成若干组的64位明文组,如若最后不足64位,则按照DES算法的要求填充 成64位,从密钥存储模块得到64位密钥,对数据进行DES加密,每个分组得 到的密文结果先缓存在缓存模块中,然后将所有明文产生的总的密文进行 SHA-1加密得到一个摘要。
得到报文摘要的密文和摘要一起进行RSA加密,在进行RSA加密前,发送 端先检查自己的密钥存储模块是否有接收端的数字证书以及数字证书是否过 期,如果有且在使用期内,则继续进行,如果没有所需数字证书或者已经过期, 则把密文和摘要放到缓存模块中,转而向接收端发送数字证书请求消息。得到 接收端的数字证书后,利用其中的RSA加密公钥对,对经过一轮加密的密文和 摘要进行RSA加密,得到最终的密文,然后从发送模块发送出去。
如图2所示,在解密阶段,接收模块接受到密文后,首先对其进行RSA解 密。进行RSA解密时,接收端调用自己RSA私钥对,只有和发送端使用的公钥 对是适配的私钥对才可以正确地对密文进行解密。
完成RSA解密的数据分为两个部分:一部分是报文摘要S1,另一部分是进 过了DES加密的密文。对密文进行重新一轮的SHA-1运算,得到另外一个报文 摘要S2,然后将得到的报文摘要S2与原来的报文摘要S1进行比较,如果完全 一致,则说明数据没有被篡改,可以继续下面的解密,如果有任何出入,则说 明有被改动,把得到的数据丢弃,并且向发送端发送警报信号。
完成身份认证的数据将进行最后的DES解密,在DES解密前,接收端先检 查自己的密钥存储模块是否有发送端的数字证书并且是否在使用期内。如果有 且在有效期内,则直接进行DES解密,如果没有需要的数字证书或者已经过期, 则将数据暂时放入缓存,转而向发送端发送数字证书请求消息。得到发送端的 数字证书后,利用其中的DES密钥对数据进行最后的解密,得到最后所需的明 文。
在本发明中,同时运用了DES加密以及RSA加密,下面我们给出一个实验 结果,来简单体会一下这两种加密的结果,在此,我们仅用对简单的字符信息 加密来说明:
假设我们要加密的字符信息为:You are nice!我们仅仅使用DES加密的结 果为:11101101001010111111111010010001011101000101111110111101 1011111010100101001100011100110101101011000110010101111000111010 01011100。我们仅仅用RSA加密的结果为:12025521415244140113。我们将经 过了DES加密的消息再经过RSA加密得到的结果为:28109619619317246565。 解密的时候就需要先对达到的密文进行RSA解密然后再进行DES解密,才可以 得到You are nice!的原始明文。
在数据经过DES加密进行RSA加密之前,我们还给数据进行了一次SHA 加密。进行SHA加密的主要目的是产生一串报文摘要。例如,我们要对字符串 消息“abc”进行SHA加密,可以得到其报文摘要为: “a9993e364706816aba3e25717850c26c9cd0d89d”,加入我们对字符信息进行了 修改,比如改为“bbc”,那么对其进行SHA加密,得到的报文摘要就为: “0fbe2a58568b4590569588e52ed6a7da4e91b6ab”。那么在接收端就可以知道得到 的信息被人篡改了。
以上所述之实施例子只为本发明之较佳实施例,并非以此限制本发明的实 施范围,故凡依本发明之形状、原理所作的变化,均应涵盖在本发明的保护范 围内。
机译: 基于布尔矩阵的消息加解密方法及数据通信系统
机译: 一种基于移动国家码的保密通信加密算法的确定方法
机译: 一种基于移动国家码的保密通信加密算法的确定方法