CN103684794B - 一种基于des、rsa、sha‑1加密算法的通信数据加解密方法 - Google Patents
一种基于des、rsa、sha‑1加密算法的通信数据加解密方法 Download PDFInfo
- Publication number
- CN103684794B CN103684794B CN201310733082.6A CN201310733082A CN103684794B CN 103684794 B CN103684794 B CN 103684794B CN 201310733082 A CN201310733082 A CN 201310733082A CN 103684794 B CN103684794 B CN 103684794B
- Authority
- CN
- China
- Prior art keywords
- data
- encryption
- des
- rsa
- sha
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Storage Device Security (AREA)
- Mobile Radio Communication Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于DES、RSA、SHA‑1加密算法的通信数据加解密方法,其步骤为:1)生成待加密发送的数据;2)将待发送的数据进行第一次加密,即进行分组DES加密;3)对完成第一次加密的数据使用SHA‑1加密算法生成摘要内容;4)利用接收端提供的RSA加密公钥对经过SHA‑1加密的数据以及摘要进行加密;5)发送密文;6)接收端接收密文并利用自身的私钥对密文进行第一次解密;7)对接收到的数据进行身份认证;8)对完成身份认证的数据进行DES解密,读取数据内容。本发明利用三种加密算法的不同特点,将待发送的消息分别经过DES、SHA‑1以及RSA算法的加密,使得用于通信的加密信息更加安全,并且实现数字签名,用于保证收到的信息为发送端发送的原始信息,而没有受到篡改。
Description
技术领域
本发明涉及移动终端收发数据的加解密流程的技术领域,尤其是指一种基于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加密两种方式,涉及到密钥的传送问题,这里提出了一种新的数字证书内容,如下表所示:
用户ID | RSA公钥对 | DES密钥 | 证书启用时间 | 证书停用时间 |
其中,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加密的结果为:11101101001010111111111010010001011101000101111110111101101111101010010100110001110011010110101100011001010111100011101001011100。我们仅仅用RSA加密的结果为:12025521415244140113。我们将经过了DES加密的消息再经过RSA加密得到的结果为:28109619619317246565。解密的时候就需要先对达到的密文进行RSA解密然后再进行DES解密,才可以得到You are nice!的原始明文。
在数据经过DES加密进行RSA加密之前,我们还给数据进行了一次SHA加密。进行SHA加密的主要目的是产生一串报文摘要。例如,我们要对字符串消息“abc”进行SHA加密,可以得到其报文摘要为:“a9993e364706816aba3e25717850c26c9cd0d89d”,加入我们对字符信息进行了修改,比如改为“bbc”,那么对其进行SHA加密,得到的报文摘要就为:“0fbe2a58568b4590569588e52ed6a7da4e91b6ab”。那么在接收端就可以知道得到的信息被人篡改了。
以上所述之实施例子只为本发明之较佳实施例,并非以此限制本发明的实施范围,故凡依本发明之形状、原理所作的变化,均应涵盖在本发明的保护范围内。
Claims (1)
1.一种基于DES、RSA、SHA-1加密算法的通信数据加解密方法,其特征在于,包括以下步骤:
1)获取待加密发送的数据;
2)将待发送的数据进行第一次加密,即进行分组DES加密;
3)对完成第一次加密的数据使用SHA-1加密算法生成摘要内容;
4)利用接收端提供的RSA加密公钥对经过SHA-1加密的数据以及摘要进行加密;其中,在进行RSA加密前,先查看发送端是否有接收端的含有RSA加密公钥的数字证书,有则进行RSA加密,否则,则暂停加密,而改为向接收端发送数字证书请求消息;
5)发送密文;
6)接收端接收密文并利用自身的私钥对密文进行第一次解密;
7)对接收到的数据进行身份认证;其中,对收到的数据进行身份认证的过程为:首先对进行第一次解密后的数据中除开摘要部分的其它所有数据进行SHA-1运算,形成新的一个摘要,然后将得到的摘要与接收到的摘要进行对比,如有不同,则说明数据被人篡改过,丢弃数据,否则,转至步骤8);
8)对完成身份认证的数据进行DES解密,读取数据内容;其中,在进行DES解密前,先查看接收端是否有发送端的有效数字证书,有则直接进行DES解密,否则暂停解密,转而向发送端发送数字证书请求消息,然后从数字证书中解密出DES密钥来完成解密;
其中,上述的数字证书包含用户ID、RSA公钥对、DES密钥、证书启用时间、证书停用时间,其中,所述RSA公钥对存放的是接收端自身的RSA公钥对;所述DES密钥存放的是发送端自身的DES密钥,所述DES密钥是经过SHA-1身份认证加密以及使用接收端中所存储的RSA公钥对进行RSA加密。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310733082.6A CN103684794B (zh) | 2013-12-25 | 2013-12-25 | 一种基于des、rsa、sha‑1加密算法的通信数据加解密方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310733082.6A CN103684794B (zh) | 2013-12-25 | 2013-12-25 | 一种基于des、rsa、sha‑1加密算法的通信数据加解密方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103684794A CN103684794A (zh) | 2014-03-26 |
CN103684794B true CN103684794B (zh) | 2017-08-25 |
Family
ID=50321188
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310733082.6A Active CN103684794B (zh) | 2013-12-25 | 2013-12-25 | 一种基于des、rsa、sha‑1加密算法的通信数据加解密方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103684794B (zh) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104009842A (zh) * | 2014-05-15 | 2014-08-27 | 华南理工大学 | 基于des、rsa加密算法及脆弱数字水印的通信数据加解密方法 |
CN104331987B (zh) * | 2014-09-15 | 2017-01-25 | 郑州天迈科技股份有限公司 | 一种公交车投币机开锁密码加密方法 |
CN105205359B (zh) * | 2015-10-12 | 2018-11-23 | 厦门飞信网络科技有限公司 | 一种JavaScript代码保护方法及装置 |
CN105554031B (zh) * | 2016-01-29 | 2019-01-15 | 宇龙计算机通信科技(深圳)有限公司 | 加密方法、加密装置、解密方法、解密装置和终端 |
CN106385313A (zh) * | 2016-09-08 | 2017-02-08 | 四川长虹电器股份有限公司 | 基于分组加密算法的随机密文系统及实现方法 |
CN106789060B (zh) * | 2016-11-18 | 2020-04-21 | 畅捷通信息技术股份有限公司 | 数据传输方法与装置、数据处理方法与装置、数据传输系统 |
CN106789053A (zh) * | 2016-12-13 | 2017-05-31 | 四川长虹电器股份有限公司 | 随机密文生成方法及系统、解密方法及系统 |
CN108270565A (zh) * | 2016-12-30 | 2018-07-10 | 广东精点数据科技股份有限公司 | 一种数据混合加密方法 |
CN107249002B (zh) * | 2017-07-20 | 2021-02-23 | 云南电网有限责任公司电力科学研究院 | 一种提高智能电能表安全性的方法、系统及装置 |
CN109495426B (zh) * | 2017-09-12 | 2021-08-17 | 腾讯科技(深圳)有限公司 | 一种数据访问方法、装置及电子设备 |
CN107959684A (zh) * | 2017-12-08 | 2018-04-24 | 上海壹账通金融科技有限公司 | 安全通信方法、装置、计算机设备及存储介质 |
CN110661746B (zh) * | 2018-06-28 | 2022-03-18 | 中车株洲电力机车研究所有限公司 | 一种列车can总线通信安全加密方法、解密方法 |
CN110661621A (zh) * | 2018-06-28 | 2020-01-07 | 中车株洲电力机车研究所有限公司 | 一种基于hmac、aes、rsa的混合加解密方法 |
CN109981667B (zh) * | 2019-04-01 | 2020-07-03 | 北京纬百科技有限公司 | 一种用户数据传输方法和装置 |
CN110138544A (zh) * | 2019-04-28 | 2019-08-16 | 广东工业大学 | 一种物联网设备的加密解密系统及方法 |
CN110191136A (zh) * | 2019-06-12 | 2019-08-30 | 南京东科优信网络安全技术研究院有限公司 | 一种便捷的文件安全传输方法及设备 |
CN110380861A (zh) * | 2019-06-25 | 2019-10-25 | 深圳易普森科技股份有限公司 | 数字认证及其加密传输方法、系统和存储介质 |
CN111049738B (zh) * | 2019-12-24 | 2022-04-22 | 杭州安司源科技有限公司 | 基于混合加密的电子邮件数据安全保护方法 |
CN111414653A (zh) * | 2020-03-17 | 2020-07-14 | 安徽农业大学 | 一种基于rsa非对称加密算法的电脑开机启动方法 |
CN113347143B (zh) * | 2021-04-14 | 2023-04-21 | 西安慧博文定信息技术有限公司 | 一种身份验证方法、装置、设备及存储介质 |
CN113709121A (zh) * | 2021-08-13 | 2021-11-26 | 华能济南黄台发电有限公司 | 一种数据发送、接收和传输方法及系统 |
CN113709158A (zh) * | 2021-08-27 | 2021-11-26 | 国网安徽省电力有限公司池州供电公司 | 一种基于pki的安全电子邮件认证方法 |
CN114567431B (zh) * | 2022-02-28 | 2023-09-12 | 中国人民解放军空军预警学院 | 一种用于单向传输的安全认证方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7219223B1 (en) * | 2002-02-08 | 2007-05-15 | Cisco Technology, Inc. | Method and apparatus for providing data from a service to a client based on encryption capabilities of the client |
CN102710605A (zh) * | 2012-05-08 | 2012-10-03 | 重庆大学 | 一种云制造环境下的信息安全管控方法 |
-
2013
- 2013-12-25 CN CN201310733082.6A patent/CN103684794B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7219223B1 (en) * | 2002-02-08 | 2007-05-15 | Cisco Technology, Inc. | Method and apparatus for providing data from a service to a client based on encryption capabilities of the client |
CN102710605A (zh) * | 2012-05-08 | 2012-10-03 | 重庆大学 | 一种云制造环境下的信息安全管控方法 |
Non-Patent Citations (1)
Title |
---|
基于S/MIME协议的信息安全研究与实现;薛峰;《中国优秀硕士学位论文全文数据库 信息科技辑》;20040315;第2005年卷(第1期);I139-141 * |
Also Published As
Publication number | Publication date |
---|---|
CN103684794A (zh) | 2014-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103684794B (zh) | 一种基于des、rsa、sha‑1加密算法的通信数据加解密方法 | |
CN103731270B (zh) | 一种基于bss、rsa、sha‑1加密算法的通信数据加解密方法 | |
CN109743171B (zh) | 一种解决多方数字签名、时间戳及加密的密钥串联方法 | |
CN1323507C (zh) | 分组加密算法中对短分组的处理方法 | |
CN105554031B (zh) | 加密方法、加密装置、解密方法、解密装置和终端 | |
CN106533656B (zh) | 一种基于wsn的密钥多层混合加/解密方法 | |
CN112804205A (zh) | 数据加密方法及装置、数据解密方法及装置 | |
CN104009842A (zh) | 基于des、rsa加密算法及脆弱数字水印的通信数据加解密方法 | |
CN107534558B (zh) | 用于保护经由数据总线传输的数据的信息安全的方法以及数据总线系统 | |
CN103905187A (zh) | 一种基于内容的网络通信加密方法 | |
CN103179514A (zh) | 一种敏感信息的手机安全群分发方法和装置 | |
CN114448641A (zh) | 一种隐私加密方法、电子设备、存储介质以及芯片 | |
CN111049738B (zh) | 基于混合加密的电子邮件数据安全保护方法 | |
KR101991775B1 (ko) | Fpga기반의 데이터 암복호화 방법 | |
CN104486756A (zh) | 一种密笺短信的加解密方法及系统 | |
CN102271043B (zh) | 数据传输保护方法 | |
KR20040009766A (ko) | 암호 시스템에서 송수신 장치 및 방법 | |
Azaim et al. | Design and implementation of encrypted SMS on Android smartphone combining ECDSA-ECDH and AES | |
CN112532637B (zh) | 一种基于区块链技术的新能源汽车联网信息加密传输方法 | |
CN115174085A (zh) | 一种基于rsa加密的数据安全传输方法 | |
CN101500146A (zh) | 一种基于双向网络的数字电视收视控制方法和装置 | |
KR100388059B1 (ko) | 비대칭키 암호 알고리즘을 이용한 데이터 암호화 시스템및 그 방법 | |
CN106357382A (zh) | 一种用于网络数据传输的加密方法和系统 | |
CN111865578A (zh) | 一种基于sm2的多接收方公钥加密方法 | |
Pandey et al. | Survey paper: Cryptography the art of hiding information |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |