CN109245905A - 基于rsa和aes算法对消息进行数字签名及加密的方法 - Google Patents

基于rsa和aes算法对消息进行数字签名及加密的方法 Download PDF

Info

Publication number
CN109245905A
CN109245905A CN201811295466.3A CN201811295466A CN109245905A CN 109245905 A CN109245905 A CN 109245905A CN 201811295466 A CN201811295466 A CN 201811295466A CN 109245905 A CN109245905 A CN 109245905A
Authority
CN
China
Prior art keywords
server
data
client
encrypted
aes
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.)
Pending
Application number
CN201811295466.3A
Other languages
English (en)
Inventor
王松
彭世伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sichuan Changhong Electric Co Ltd
Original Assignee
Sichuan Changhong Electric Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sichuan Changhong Electric Co Ltd filed Critical Sichuan Changhong Electric Co Ltd
Priority to CN201811295466.3A priority Critical patent/CN109245905A/zh
Publication of CN109245905A publication Critical patent/CN109245905A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • H04L9/3249Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using RSA or related signature schemes, e.g. Rabin scheme
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0435Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/72Signcrypting, i.e. digital signing and encrypting simultaneously
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/168Implementing security features at a particular protocol layer above the transport layer

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了基于RSA和AES算法对消息进行数字签名及加密的方法,包括步骤:A.客户端对待加密数据采用数字签名算法产生数字签证;B.客户端对待加密数据进行AES加密;C.客户端对加密数据的AES密钥进行加密;D.客户端封装并序列化步骤A至步骤C产生的数据,并向服务端发送HTTPS请求;E.服务端接收到客户端发出的请求后解析各项已加密的数据,具体包括以下步骤:E1.服务端验签数字签证;E2.服务端解密被加密的数据;E3.服务端对解密得到的数据进行验签;F.服务端根据步骤E的处理结果向客户端反馈信息。本发明的方法其加密加签实现简单方便且高效安全,可作为大多数支付平台产品加密实现的可选方案,可快速实现对消息的加密加签等功能。

Description

基于RSA和AES算法对消息进行数字签名及加密的方法
技术领域
本发明涉及数据传输安全技术领域,特别涉及一种基于RSA和AES算法对消息进行数字签名及加密的方法。
背景技术
在网络金融蓬勃发展的大背景下,人们的日常交易行为基本通过互联网通信来实现,因此保证交易信息在网络上完整,安全地传输是不可或缺的。尤其在与支付相关系统的开发过程中,实现对敏感信息的加签加密就显得十分重要。
借助于成熟的加密算法:如RSA非对称加密,AES加密等技术,实现对网络通信敏感信息的加密加签/验签解密已经是项目开发中必须的环节。本方案可作为一套可复用解决方案应用于支付相关项目,可极大降低开发成本。
发明内容
本发明的目的是克服上述背景技术中不足,提供一种基于RSA和AES算法对消息进行数字签名及加密的方法,其加密加签实现简单方便且高效安全,可作为大多数支付平台产品加密实现的可选方案。同时,本发明还有利于节约企业在支付相关项目的开发成本,快速实现对消息的加密加签等功能。
为了达到上述的技术效果,本发明采取以下技术方案:
基于RSA和AES算法对消息进行数字签名及加密的方法,包括以下步骤:
A.客户端对待加密数据采用数字签名算法产生数字签证;
B.客户端对待加密数据进行AES加密;
C.客户端对加密数据的AES密钥进行加密;
D.客户端封装并序列化步骤A至步骤C产生的数据,并向服务端发送HTTPS请求;
E.服务端接收到客户端发出的请求后解析各项已加密的数据,具体包括以下步骤:
E1.服务端验签数字签证;
E2.服务端解密被加密的数据;
E3.服务端对解密得到的数据进行验签;
F.服务端根据步骤E的处理结果向客户端反馈信息。
进一步地,所述步骤A具体为:客户端应用客户端的RSA私钥并采用SHA1WithRSA算法对待加密数据产生数字签证;所述步骤B具体为:客户端应用客户端的AES密钥对待加密数据进行加密,得到加密后的数据ENC1;所述步骤C具体为:客户端应用服务端的RSA公钥对AES密钥进行加密并得到加密后的数据ENC2。
进一步地,所述步骤E1具体为:服务端根据服务端RSA私钥解密被加密的数据ENC2,得到AES密钥;所述步骤E2具体为:服务端利用步骤E1中得到的AES密钥解密数据ENC1得到原始数据;所述步骤E3具体为:服务端利用步骤E2中得到的原始数据和客户端RSA公钥对原始数据进行验签,且仅在验签通过时才响应客户端发出的请求。
本发明与现有技术相比,具有以下的有益效果:
本发明的基于RSA和AES算法对消息进行数字签名及加密的方法,主要联合应用RSA非对称加密算法和AES对称加密算法,实现提高数据在网络传输过程中的安全性,其中,本发明在完全应用上需要客户端和服务端一起配合完成,客户端进行加密加签,服务端负责相应的解密验签,本发明在应用上相比其他RSA+AES加密应用创新在于用于对传输数据加密的AES密钥是系统随机生成而不是依赖于客户端或者外部系统,且服务端解密验签的时候为了保证客户公钥和服务私钥的安全性对密钥进行三段加密分别存储,从而进一步提升了安全性能。
具体实施方式
下面结合本发明的实施例对本发明作进一步的阐述和说明。
实施例:
一种基于RSA和AES算法对消息进行数字签名及加密的方法,具体包括以下两个流程即客户端加签/加密流程及服务端解密/验签流程。
其中,客户端加签/加密流程具体包括以下步骤:
S101.客户端对待加密数据(Message)产生数字签证,具体为客户端应用客户端的RSA私钥(APP_RSA_PRIVATE_KEY),并采用SHA1WithRSA算法产数字签证(Signature)对待加密数据(Message)产生数字签证。
S102.客户端对待加密数据(Message)进行AES加密,具体为客户端应用客户端的AES密钥(APP_AES_KEY)对待加密数据(Message)进行加密,得到加密后的数据ENC(Message)。
S103.客户端对加密数据的AES密钥进行加密,具体为客户端应用服务端的RSA公钥(SVR_RSA_PUBLIC_KEY)对AES密钥(APP_AES_KEY)进行加密,得到加密后的数据ENC(APP_AES_KEY)。
S104.客户端封装并序列化以上数据,并向服务端发送HTTPS请求。
服务端解密/验签流程具体包括以下步骤:
S201.服务端接收客户端请求并解析出各项已加密的数据:
S202.服务端验签数字签证,具体为服务端根据服务端RSA私钥(SVR_RSA_PRIVATE_KEY)解密被加密的ENC(APP_AES_KEY),得到AES密钥(APP_AES_KEY);
S203.服务端解密被加密的数据ENC(Message),具体为服务端利用步骤S202中得到AES密钥,解密ENC(Message)的原始数据Message。
S204.服务端验签数据,具体为服务端利用步骤S203中的Message和客户端RSA公钥(APP_RSA_PUBLIC_KEY),对Message进行验签。
其中,验签通过表明数据是完整且服务端是该数据的接收者,则可以响应客户端的请求并对数据做进一步处理,如果验签不通过,则表明数据不完整或者属于非法数据。
S205.服务端根据步骤S204的处理结果,向客户端反馈信息。
由上可知,本发明的基于RSA和AES算法对消息进行数字签名及加密的方法主要联合应用RSA非对称加密算法和AES对称加密算法,提高数据在网络传输过程中的安全性,其中,本发明方法的完全应用需要客户端和服务端一起配合完成,由客户端进行加密加签,由服务端负责相应的解密验签,所以需要两对RSA公私钥以及一个AES密钥。本发明的方法在应用上相比其他RSA+AES加密应用创新在于用于对传输数据加密的AES密钥是系统随机生成而不是依赖于客户端或者外部系统,且服务端解密验签的时候为了保证客户公钥和服务私钥的安全性对密钥进行三段加密分别存储。
可以理解的是,以上实施方式仅仅是为了说明本发明的原理而采用的示例性实施方式,然而本发明并不局限于此。对于本领域内的普通技术人员而言,在不脱离本发明的精神和实质的情况下,可以做出各种变型和改进,这些变型和改进也视为本发明的保护范围。

Claims (3)

1.基于RSA和AES算法对消息进行数字签名及加密的方法,其特征在于,包括以下步骤:
A.客户端对待加密数据采用数字签名算法产生数字签证;
B.客户端对待加密数据进行AES加密;
C.客户端对加密数据的AES密钥进行加密;
D.客户端封装并序列化步骤A至步骤C产生的数据,并向服务端发送HTTPS请求;
E.服务端接收到客户端发出的请求后解析各项已加密的数据,具体包括以下步骤:
E1.服务端验签数字签证;
E2.服务端解密被加密的数据;
E3.服务端对解密得到的数据进行验签;
F.服务端根据步骤E的处理结果向客户端反馈信息。
2.根据权利要求1所述的基于RSA和AES算法对消息进行数字签名及加密的方法,其特征在于:
所述步骤A具体为:客户端应用客户端的RSA私钥并采用SHA1WithRSA算法对待加密数据产生数字签证;
所述步骤B具体为:客户端应用客户端的AES密钥对待加密数据进行加密,得到加密后的数据ENC1;
所述步骤C具体为:客户端应用服务端的RSA公钥对AES密钥进行加密并得到加密后的数据ENC2。
3.根据权利要求2所述的基于RSA和AES算法对消息进行数字签名及加密的方法,其特征在于:
所述步骤E1具体为:服务端根据服务端RSA私钥解密被加密的数据ENC2,得到AES密钥;
所述步骤E2具体为:服务端利用步骤E1中得到的AES密钥解密数据ENC1得到原始数据;
所述步骤E3具体为:服务端利用步骤E2中得到的原始数据和客户端RSA公钥对原始数据进行验签,且仅在验签通过时才响应客户端发出的请求。
CN201811295466.3A 2018-11-01 2018-11-01 基于rsa和aes算法对消息进行数字签名及加密的方法 Pending CN109245905A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811295466.3A CN109245905A (zh) 2018-11-01 2018-11-01 基于rsa和aes算法对消息进行数字签名及加密的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811295466.3A CN109245905A (zh) 2018-11-01 2018-11-01 基于rsa和aes算法对消息进行数字签名及加密的方法

Publications (1)

Publication Number Publication Date
CN109245905A true CN109245905A (zh) 2019-01-18

Family

ID=65080346

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811295466.3A Pending CN109245905A (zh) 2018-11-01 2018-11-01 基于rsa和aes算法对消息进行数字签名及加密的方法

Country Status (1)

Country Link
CN (1) CN109245905A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109981667A (zh) * 2019-04-01 2019-07-05 北京纬百科技有限公司 一种用户数据传输方法和装置
CN111030827A (zh) * 2019-12-06 2020-04-17 深圳乐信软件技术有限公司 信息交互方法、装置、电子设备、及存储介质
CN111769934A (zh) * 2020-07-08 2020-10-13 深圳思凯微电子有限公司 数据传输方法、系统及计算机可读存储介质
CN114143026A (zh) * 2021-10-26 2022-03-04 福建福诺移动通信技术有限公司 基于非对称与对称加密的数据安全接口及其工作方法
CN115834246A (zh) * 2023-01-29 2023-03-21 厦门简算科技有限公司 一种云端向本地终端数据传输安全防护方法及系统
CN115941773A (zh) * 2022-11-02 2023-04-07 广州市南方人力资源评价中心有限公司 基于云服务共享的项目交易方法、系统、终端设备及介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070014416A1 (en) * 2005-07-15 2007-01-18 David Rivera System and method for protecting against dictionary attacks on password-protected TPM keys
CN101064595A (zh) * 2006-04-27 2007-10-31 联想(北京)有限公司 一种计算机网络安全输入认证系统和方法
US20080148043A1 (en) * 2006-12-18 2008-06-19 Nortel Networks Limited Establishing a secured communication session
CN102025505A (zh) * 2010-12-16 2011-04-20 浪潮(北京)电子信息产业有限公司 一种基于aes算法的加密、解密方法及装置
CN104219041A (zh) * 2014-09-23 2014-12-17 中国南方电网有限责任公司 一种适用于移动互联网的数据传输加密方法
CN107231368A (zh) * 2017-06-22 2017-10-03 四川长虹电器股份有限公司 提升面向互联网开放的软件接口安全性的方法
CN109257347A (zh) * 2018-09-10 2019-01-22 中国建设银行股份有限公司 适于银企间数据交互的通信方法和相关装置、存储介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070014416A1 (en) * 2005-07-15 2007-01-18 David Rivera System and method for protecting against dictionary attacks on password-protected TPM keys
CN101064595A (zh) * 2006-04-27 2007-10-31 联想(北京)有限公司 一种计算机网络安全输入认证系统和方法
US20080148043A1 (en) * 2006-12-18 2008-06-19 Nortel Networks Limited Establishing a secured communication session
CN102025505A (zh) * 2010-12-16 2011-04-20 浪潮(北京)电子信息产业有限公司 一种基于aes算法的加密、解密方法及装置
CN104219041A (zh) * 2014-09-23 2014-12-17 中国南方电网有限责任公司 一种适用于移动互联网的数据传输加密方法
CN107231368A (zh) * 2017-06-22 2017-10-03 四川长虹电器股份有限公司 提升面向互联网开放的软件接口安全性的方法
CN109257347A (zh) * 2018-09-10 2019-01-22 中国建设银行股份有限公司 适于银企间数据交互的通信方法和相关装置、存储介质

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109981667A (zh) * 2019-04-01 2019-07-05 北京纬百科技有限公司 一种用户数据传输方法和装置
CN109981667B (zh) * 2019-04-01 2020-07-03 北京纬百科技有限公司 一种用户数据传输方法和装置
CN111030827A (zh) * 2019-12-06 2020-04-17 深圳乐信软件技术有限公司 信息交互方法、装置、电子设备、及存储介质
CN111769934A (zh) * 2020-07-08 2020-10-13 深圳思凯微电子有限公司 数据传输方法、系统及计算机可读存储介质
CN111769934B (zh) * 2020-07-08 2023-12-08 深圳思凯微电子有限公司 数据传输方法、系统及计算机可读存储介质
CN114143026A (zh) * 2021-10-26 2022-03-04 福建福诺移动通信技术有限公司 基于非对称与对称加密的数据安全接口及其工作方法
CN114143026B (zh) * 2021-10-26 2024-01-23 福建福诺移动通信技术有限公司 基于非对称与对称加密的数据安全接口及其工作方法
CN115941773A (zh) * 2022-11-02 2023-04-07 广州市南方人力资源评价中心有限公司 基于云服务共享的项目交易方法、系统、终端设备及介质
CN115834246A (zh) * 2023-01-29 2023-03-21 厦门简算科技有限公司 一种云端向本地终端数据传输安全防护方法及系统
CN115834246B (zh) * 2023-01-29 2023-09-01 厦门简算科技有限公司 一种云端向本地终端数据传输安全防护方法及系统

Similar Documents

Publication Publication Date Title
CN109245905A (zh) 基于rsa和aes算法对消息进行数字签名及加密的方法
CN107124274B (zh) 基于sm2的数字签名方法和装置
US9806889B2 (en) Key downloading method, management method, downloading management method, device and system
CN101640590B (zh) 一种获取标识密码算法私钥的方法和密码中心
CN109064324A (zh) 基于联盟链的交易方法、电子装置及可读存储介质
CN109034796B (zh) 基于联盟链的交易监管方法、电子装置及可读存储介质
CN104243456A (zh) 适用于云计算的基于sm2算法的签名及解密方法和系统
CN107360002B (zh) 一种数字证书的申请方法
CN110889696A (zh) 一种基于sgx技术的联盟区块链秘钥存储方法、装置、设备及介质
CN109274502B (zh) 公钥加密及密钥签名的创建方法、设备及可读存储介质
EP2792098B1 (en) Group encryption methods and devices
CN109068322B (zh) 解密方法、系统、移动终端、服务器及存储介质
CN102663640A (zh) 一种远程投标方法及系统
CN102710661B (zh) 云存储与聚合架构及其数据存储与聚合方法
CN111783129A (zh) 一种保护隐私的数据处理方法及系统
CN105554031A (zh) 加密方法、加密装置、解密方法、解密装置和终端
CN103973439B (zh) 一种多变量公钥加密方法
CN108270558A (zh) 一种基于临时密钥对的私钥导入方法
CN104200154A (zh) 一种基于标识的安装包签名方法及其装置
CN103051459B (zh) 安全卡的交易密钥的管理方法和装置
CN104486087A (zh) 一种基于远程硬件安全模块的数字签名方法
CN103414559A (zh) 一种云计算环境下的基于类ibe系统的身份认证方法
CN103634266A (zh) 一种对服务器、终端双向认证的方法
CN104767611A (zh) 一种从公钥基础设施环境到无证书环境的签密方法
CN104038336A (zh) 一种基于3des的数据加密方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20190118

RJ01 Rejection of invention patent application after publication