CN110661621A - 一种基于hmac、aes、rsa的混合加解密方法 - Google Patents

一种基于hmac、aes、rsa的混合加解密方法 Download PDF

Info

Publication number
CN110661621A
CN110661621A CN201810689818.7A CN201810689818A CN110661621A CN 110661621 A CN110661621 A CN 110661621A CN 201810689818 A CN201810689818 A CN 201810689818A CN 110661621 A CN110661621 A CN 110661621A
Authority
CN
China
Prior art keywords
file
hmac
rsa
digital signature
authentication
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
CN201810689818.7A
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.)
CRRC Zhuzhou Institute Co Ltd
Original Assignee
CRRC Zhuzhou Institute 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 CRRC Zhuzhou Institute Co Ltd filed Critical CRRC Zhuzhou Institute Co Ltd
Priority to CN201810689818.7A priority Critical patent/CN110661621A/zh
Publication of CN110661621A publication Critical patent/CN110661621A/zh
Pending legal-status Critical Current

Links

Images

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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • 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/045Network 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 hybrid encryption, i.e. combination of symmetric and asymmetric encryption
    • 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
    • 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/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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/3236Cryptographic 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 using cryptographic hash functions
    • H04L9/3242Cryptographic 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 using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
    • 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

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

本发明公开了一种基于HMAC、AES、RSA的混合加解密方法,包括:随机生成HMAC密钥,利用HMAC SHA‑256算法生成HMAC消息摘要,将所述HMAC密钥和HMAC消息摘要写入明文文件,得到明文认证文件;利用AES算法对所述明文认证文件进行加密,生成密文文件;利用RSA算法对所述密文文件进行数字签名,生成加密目标文件。本发明可以反编译,防范明文文件被窃取,防止未经过认证的目标码运行攻击***,保障***的安全运行,并且能够大限度的保证数据的完整性和可靠性。

Description

一种基于HMAC、AES、RSA的混合加解密方法
技术领域
本发明涉及信息安全技术领域,尤其涉及一种基于HMAC、AES、RSA的混合加解密方法。
背景技术
软件开发工程师每年会编写大量的软件,这些软件会通过二进制目标码形式流向制造部门和调试、售后部门。由于流通的环节是开放的,可能会造成二进制目标码的窃取并被反向编译或被盗用,造成公司财产的流失。并且***如果运行未经过认证的软件,会受到恶意攻击,运行环境被篡改,会造成整个***的崩溃,对于实时的控制平台会直接导致重大事故的发生。为此对软件的加密以及对***运行的软件进行认证成为一项十分紧迫的任务。
在网络信息传输过程中,信息安全是一项重要的课题。信息安全内容中主要有两大基本攻击:被动攻击和主动攻击。被动攻击是获取信息的内容或对业务流分析,对付被动攻击的主要方法是对消息使用加密和解密技术。数据加密技术是保证网络信息安全的重要技术。加密算法将信息从明文变换为密文,在信息的传播中使用密文传输,使窃听者难以获得有用的信息。对传输的信息以密文方式传递以防止第三方对信息窃取,从而保护信息的机密性,防止信息被篡改。主动攻击是假冒篡改信息,预防主动攻击的方法是使用认证技术。
为了实现信息传输的安全,亟待开发一种使用加解密技术和认证技术的混合加解密技术。
发明内容
本发明针对上述现有技术的不足,提供了一种基于HMAC、AES、RSA的混合加密方法,包括以下步骤:
随机生成HMAC密钥,利用HMAC SHA-256算法生成HMAC消息摘要,将所述HMAC密钥和HMAC消息摘要写入明文文件,得到明文认证文件;
利用AES算法对所述明文认证文件进行加密,生成密文文件;
利用RSA算法对所述密文文件进行数字签名,生成加密目标文件。
在一个实施例中,利用RSA算法对所述密文文件进行数字签名,生成加密目标文件,包括以下步骤:
利用RSA算法对所述密文文件进行数字签名,得到RSA数字签名;
将所述RSA数字签名写入所述密文文件,并在所述密文文件的起始位置写入文件头,得到加密目标文件;
其中,所述文件头包括HMAC、AES和RSA的加密认证类型、所述HMAC密钥在所述明文认证文件中的位置偏移量和所述HMAC密钥的字节长度,以及所述RSA数字签名在所述加密目标文件中的位置偏移量和所述RSA数字签名的字节长度。
在一个实施例中,所述HMAC密钥包括时间和随机数。
本发明还提供了一种基于HMAC、AES、RSA的混合解密方法,包括以下步骤:
获取RSA公钥,对加密目标文件中的RSA数字签名进行认证;
当所述RSA数字签名通过认证时,获取AES密钥,对所述加密目标文件中的密文文件进行解密,得到明文认证文件;
获取HMAC密钥,利用HMAC SHA-256算法对所述明文认证文件中的HMAC消息摘要进行认证;
当所述HMAC消息摘要通过认证时,得到所述明文认证文件中的明文文件。
在一个实施例中,获取RSA公钥,对加密目标文件中的RSA数字签名进行认证,包括以下步骤:
获取RSA公钥,利用RSA算法计算RSA签名;
从所述加密目标文件的文件头中获取所述RSA数字签名在所述加密目标文件中的位置偏移量和所述RSA数字签名的字节长度;
根据所述RSA数字签名在所述加密目标文件中的位置偏移量和所述RSA数字签名的字节长度,从所述加密目标文件中获取所述RSA数字签名;
将计算所得的RSA签名与所述RSA数字签名进行对比认证。
在一个实施例中,获取HMAC密钥,利用HMAC SHA-256算法对所述明文认证文件中的HMAC消息摘要进行认证,包括以下步骤:
从所述加密目标文件的文件头中获取所述HMAC密钥在所述明文认证文件中的位置偏移量和所述HMAC密钥的字节长度;
根据所述HMAC密钥在所述明文认证文件中的位置偏移量和所述HMAC密钥的字节长度,从所述明文认证文件中获取所述HMAC密钥,利用HMACSHA-256算法计算HMAC摘要;
将计算所得的HMAC摘要与所述明文认证文件中的HMAC消息摘要进行对比认证。
在一个实施例中,还包括以下步骤:
从所述加密目标文件的文件头中获取加密认证类型;
当判断出所述加密认证类型为HMAC、AES和RSA时,对所述加密目标文件中的RSA数字签名进行认证。
在一个实施例中,当判断出所述加密认证类型缺少HMAC、AES和RSA中的任一加密认证类型时,退出解密过程。
在一个实施例中,当所述RSA数字签名未通过认证时,退出解密过程。
在一个实施例中,当所述HMAC消息摘要未通过认证时,退出解密过程。
与现有技术相比,本发明的一个或多个实施例可以具有如下优点:
1)采用本发明的加解密混合方法可以将明文文件进行加密,在加密目标文件被窃取后,窃取者无法通过逆向工程进行反汇编,从而可以防范明文文件被窃取。
2)采用本发明的加解密混合方法可以对加密目标文件进行RSA签名认证和对解密后的明文文件进行认证,能够防止未经过认证的目标码运行攻击***,保障***的安全运行。
3)在本发明的加解密混合方法中,对明文文件和密文文件都进行认证能够大限度的保证数据的完整性和可靠性。
本发明的其它特征和优点将在随后的说明书中阐述,并且部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例共同用于解释本发明,并不构成对本发明的限制。在附图中:
图1为本发明实施例一的加密***的组成示意图;
图2为本发明实施例一的基于HMAC、AES、RSA的混合加密方法的流程图;
图3为本发明实施例一的程序目标码混合加密过程的示意图;
图4为本发明实施例一的基于HMAC、AES、RSA的混合解密方法的流程图;
图5为本发明实施例二的PC机端加密软件的界面示意图;
图6为本发明实施例二的基于HMAC、AES、RSA的混合解密方法的流程图。
具体实施方式
以下将结合附图及实施例来详细说明本发明的实施方式,借此对本发明如何应用技术手段来解决技术问题,并达成技术效果的实现过程能充分理解并据以实施。需要说明的是,只要不构成冲突,本发明中的各个实施例以及各实施例中的各个特征可以相互结合,所形成的技术方案均在本发明的保护范围之内。
实施例一
图1为本发明实施例一的加密***的组成示意图。
如图1所示,该加密***主要包括PC机端的加密软件和嵌入式***端的***。该加密***的工作流程如下所示。
首先,利用PC机端的加密软件对程序目标码进行加密和生成消息认证码,最终生成加密目标码。
其次,将加密目标码存入外部存储器并通过总线刷写到嵌入式***中。
需要说明的是,加密目标码刷写到嵌入式***中的嵌入式控制器的方式可以由具体的控制器刷写程序的方法确定。本发明实施例提出了HMAC、AES、RSA三种算法的组合使用。HMAC密钥是随被加密文件传递的。AES密钥、RSA公钥传递方式未做限制,传递方式可以是1)通过配置文件给PC机端的加密软件和嵌入式***端的***配置;2)在PC机端的加密软件和嵌入式***端的***中固化AES密钥、RSA公钥。
最后,利用嵌入式***端的***对加密目标码进行消息认证和解密,并根据认证结果决定是否运行程序。
下面首先介绍PC机端的加密软件的工作流程。
图2为本发明实施例一的基于HMAC、AES、RSA的混合加密方法的流程图。如图2所示,可以包括如下步骤S201-S203。
在步骤S201中,随机生成HMAC密钥,利用HMAC SHA-256算法生成HMAC消息摘要,将HMAC密钥和HMAC消息摘要写入明文文件,得到明文认证文件。其中,HMAC密钥包括时间和随机数。在具体实施中,HMAC密钥的长度不作限定,可以根据实际需要来确定。并且,生成HMAC密钥的随机方式也不作限定,根据实际需要来确定。
在步骤S202中,利用AES算法对明文认证文件进行加密,生成密文文件。
在步骤S203中,利用RSA算法对密文文件进行数字签名,生成加密目标文件。
具体地,首先,利用RSA算法对密文文件进行数字签名,得到RSA数字签名。其次,将RSA数字签名写入密文文件,并在密文文件的起始位置写入文件头,得到加密目标文件。
其中,文件头包括HMAC、AES和RSA的加密认证类型、HMAC密钥在明文认证文件中的位置偏移量和HMAC密钥的字节长度,以及RSA数字签名在加密目标文件中的位置偏移量和RSA数字签名的字节长度。
需要说明的是,明文文件可以为嵌入式控制器程序(也即程序目标码)文件,但不仅限于嵌入式控制器程序文件,还可以为其他的文件,例如音视频文件、图片、文字等等。
为了更清楚地理解本发明实施例的基于HMAC、AES、RSA的混合加密方法,下面以程序目标码为例进行详细说明。
图3为本发明实施例一的程序目标码混合加密过程的示意图。
如图3所示,首先,在加密前对程序目标码(明文)进行HMAC认证。具体地,利用PC机端的加密软件随机生成HMAC密钥,并利用HMAC SHA-256算法对程序目标码生成HMAC消息摘要,并将HMAC密钥和HMAC消息摘要写到程序目标码文件中,形成程序目标码认证文件。
其中,随机HMAC密钥的数据格式为时间+随机数,具体如表1所示:
表1 HMAC密钥数据格式
字节序号 内容
0
1
2
3
4
5
6~7 毫秒
8~31 PC机生成的随机数
表1仅用于示例HMAC密钥的数据格式。在具体实施中,HMAC密钥的长度不仅限于31位字节数,HMAC密钥的长度不作限定,可以根据实际需要来确定。并且,生成HMAC密钥的随机方式也不仅限于表1所示的方式,生成HMAC密钥的随机方式不作限定,根据实际需要来确定。
其次,采用AES算法对程序目标码(明文)、HMAC密钥和HMAC消息摘要所形成的程序目标码认证文件进行整体加密,生成程序密文。
最后,利用RSA算法对程序密文进行数字签名,将RSA数字签名写入程序密文文件中,并在程序密文文件起始位置写入文件头,生成加密目标码。
文件头主要包含(1)HMAC、AES和RSA的加密认证类型;(2)HMAC密钥在程序目标码认证文件中的位置偏移量和HMAC密钥的字节长度;(3)RSA数字签名在加密目标码文件中的位置偏移量和RSA数字签名的字节长度。
采用本发明实施例的加密混合方法可以将程序目标码进行加密,在加密目标码被窃取后,窃取者无法通过逆向工程进行反汇编,从而可以程序目标码被窃取。
接下来介绍嵌入式***端的***的工作流程。
图4为本发明实施例一的基于HMAC、AES、RSA的混合解密方法的流程图。如图4所示,可以包括如下步骤S401-S409。
在步骤S401中,从加密目标文件的文件头中获取加密认证类型。加密目标文件可以为加密目标码。
在步骤S402中,判断加密认证类型是否为HMAC、AES和RSA,若是,转入步骤S403,若否,转入步骤S409。
在步骤S403中,获取RSA公钥,对加密目标文件中的RSA数字签名进行认证。具体地,步骤S403可以包括以下子步骤:获取RSA公钥,利用RSA算法计算RSA签名;从加密目标文件的文件头中获取RSA数字签名在加密目标文件中的位置偏移量和RSA数字签名的字节长度;根据RSA数字签名在加密目标文件中的位置偏移量和RSA数字签名的字节长度,从加密目标文件中获取RSA数字签名;将计算所得的RSA签名与RSA数字签名进行对比认证。
在步骤S404中,判断RSA数字签名是否通过认证,若是,转入步骤S405,若否,转入步骤S409。
在步骤S405中,获取AES密钥,对加密目标文件中的密文文件进行解密,得到明文认证文件。
在步骤S406中,获取HMAC密钥,利用HMAC SHA-256算法对明文认证文件中的HMAC消息摘要进行认证。具体地,步骤S406可以包括以下子步骤:从加密目标文件的文件头中获取HMAC密钥在明文认证文件中的位置偏移量和HMAC密钥的字节长度;根据HMAC密钥在明文认证文件中的位置偏移量和HMAC密钥的字节长度,从明文认证文件中获取HMAC密钥,利用HMACSHA-256算法计算HMAC摘要;将计算所得的HMAC摘要与明文认证文件中的HMAC消息摘要进行对比认证。
在步骤S407中,判断HMAC消息摘要是否通过认证,若是,转入步骤S408,若否,转入步骤S409。
在步骤S408中,获得明文认证文件中的明文文件。
在步骤S409中,退出解密过程。
采用本发明的解密混合方法可以对加密目标文件进行RSA签名认证和对解密后的明文文件进行认证,能够防止未经过认证的目标码运行攻击***,保障***的安全运行。而且,对明文文件和密文文件都进行认证能够大限度的保证数据的完整性和可靠性。
实施例二
本发明实施例二提供了一种针对不同计算能力的处理器的混合加解密方法。
图5为本发明实施例二的PC机端加密软件的界面示意图。如图5所示,用户可以根据不同计算能力的处理器来选择HMAC、AES和RSA中的至少一种加密认证类型。然后点击“浏览”按键选择需要加密的明文文件,点击“加密”按键即可生成加密目标文件。
例如,用户仅选择HMAC和AES这两种加密认证类型。在PC机端,随机生成HMAC密钥,利用HMAC SHA-256算法生成HMAC消息摘要,将HMAC密钥和HMAC消息摘要写入明文文件,得到明文认证文件。利用AES算法对明文认证文件进行加密,生成密文文件。在密文文件的起始位置写入文件头,得到加密目标文件。其中,文件头包括HMAC和AES的加密认证类型,以及HMAC密钥在明文认证文件中的位置偏移量和HMAC密钥的字节长度。
或者,用户仅选择AES和RSA这两种加密认证类型。在PC机端,利用AES算法对明文文件进行加密,生成密文文件。利用RSA算法对密文文件进行数字签名,生成加密目标文件。将RSA数字签名写入密文文件,并在密文文件的起始位置写入文件头,得到加密目标文件。其中,文件头包括AES和RSA的加密认证类型,以及RSA数字签名在加密目标文件中的位置偏移量和RSA数字签名的字节长度。
图6为本发明实施例二的基于HMAC、AES、RSA的混合解密方法的流程图。如图6所示,可以包括如下步骤S601-S612。
在步骤S601中,从加密目标文件中的文件头中获取加密认证类型。加密目标文件可以为加密目标码。
在步骤S602中,判断获取的加密认证类型是否包含HMAC、AES和RSA中的至少一种加密认证类型,若是,转入步骤S603,若否,转入步骤S612。
在步骤S603中,判断获取的加密认证类型是否包含RSA,若是,转入步骤S604,若否,转入步骤S606。
在步骤S604中,获取RSA公钥,对加密目标文件进行签名认证。
在步骤S605中,判断RSA签名认证是否通过,若是,转入步骤S606,若否,转入步骤S612。
在步骤S606中,判断获取的加密认证类型是否包含AES,若是,转入步骤S607,若否,转入步骤S608。
在步骤S607中,获取AES密钥,对密文文件进行解密,得到明文认证文件。
在步骤S608中,判断获取的加密类型是否包含HMAC,若是,转入步骤S609,若否,转入步骤S612。
在步骤S609中,获取HMAC密钥,并利用HMAC SHA-256算法对明文认证文件进行认证。具体地,读取HMAC密钥,利用HMAC SHA-256算法计算HMAC摘要,并将计算得到的HMAC摘要与明文认证文件中的HMAC消息摘要进行对比,以对明文认证文件进行认证。
在步骤S610中,判断明文认证文件是否认证通过,若是,转入步骤S611,若否,转入步骤S612。
在步骤S611中,获得明文认证文件中的明文文件,并执行和引导程序。
在步骤S612中,退出解密过程。
采用本发明实施例二的加解密混合方法,可以根据用户的选项来选择HMAC、AES和RSA中的至少一种加密认证类型,能够针对不同计算能力的处理器灵活地进行加解密。
虽然本发明所公开的实施方式如上,但所述的内容只是为了便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属技术领域内的技术人员,在不脱离本发明所公开的精神和范围的前提下,可以在实施的形式上及细节上作任何的修改与变化,但本发明的保护范围,仍须以所附的权利要求书所界定的范围为准。

Claims (10)

1.一种基于HMAC、AES、RSA的混合加密方法,其特征在于,包括以下步骤:
随机生成HMAC密钥,利用HMAC SHA-256算法生成HMAC消息摘要,将所述HMAC密钥和HMAC消息摘要写入明文文件,得到明文认证文件;
利用AES算法对所述明文认证文件进行加密,生成密文文件;
利用RSA算法对所述密文文件进行数字签名,生成加密目标文件。
2.根据权利要求1所述的混合加密方法,其特征在于,利用RSA算法对所述密文文件进行数字签名,生成加密目标文件,包括以下步骤:
利用RSA算法对所述密文文件进行数字签名,得到RSA数字签名;
将所述RSA数字签名写入所述密文文件,并在所述密文文件的起始位置写入文件头,得到加密目标文件;
其中,所述文件头包括HMAC、AES和RSA的加密认证类型、所述HMAC密钥在所述明文认证文件中的位置偏移量和所述HMAC密钥的字节长度,以及所述RSA数字签名在所述加密目标文件中的位置偏移量和所述RSA数字签名的字节长度。
3.根据权利要求1或2所述的混合加密方法,其特征在于,所述HMAC密钥包括时间和随机数。
4.一种基于HMAC、AES、RSA的混合解密方法,其特征在于,包括以下步骤:
获取RSA公钥,对加密目标文件中的RSA数字签名进行认证;
当所述RSA数字签名通过认证时,获取AES密钥,对所述加密目标文件中的密文文件进行解密,得到明文认证文件;
获取HMAC密钥,利用HMAC SHA-256算法对所述明文认证文件中的HMAC消息摘要进行认证;
当所述HMAC消息摘要通过认证时,得到所述明文认证文件中的明文文件。
5.根据权利要求4所述的混合解密方法,其特征在于,获取RSA公钥,对加密目标文件中的RSA数字签名进行认证,包括以下步骤:
获取RSA公钥,利用RSA算法计算RSA签名;
从所述加密目标文件的文件头中获取所述RSA数字签名在所述加密目标文件中的位置偏移量和所述RSA数字签名的字节长度;
根据所述RSA数字签名在所述加密目标文件中的位置偏移量和所述RSA数字签名的字节长度,从所述加密目标文件中获取所述RSA数字签名;
将计算所得的RSA签名与所述RSA数字签名进行对比认证。
6.根据权利要求4所述的混合解密方法,其特征在于,获取HMAC密钥,利用HMAC SHA-256算法对所述明文认证文件中的HMAC消息摘要进行认证,包括以下步骤:
从所述加密目标文件的文件头中获取所述HMAC密钥在所述明文认证文件中的位置偏移量和所述HMAC密钥的字节长度;
根据所述HMAC密钥在所述明文认证文件中的位置偏移量和所述HMAC密钥的字节长度,从所述明文认证文件中获取所述HMAC密钥,利用HMACSHA-256算法计算HMAC摘要;
将计算所得的HMAC摘要与所述明文认证文件中的HMAC消息摘要进行对比认证。
7.根据权利要求4所述的混合解密方法,其特征在于,还包括以下步骤:
从所述加密目标文件的文件头中获取加密认证类型;
当判断出所述加密认证类型为HMAC、AES和RSA时,对所述加密目标文件中的RSA数字签名进行认证。
8.根据权利要求7所述的混合解密方法,其特征在于,还包括以下步骤:
当判断出所述加密认证类型缺少HMAC、AES和RSA中的任一加密认证类型时,退出解密过程。
9.根据权利要求4所述的混合解密方法,其特征在于,还包括以下步骤:
当所述RSA数字签名未通过认证时,退出解密过程。
10.根据权利要求4所述的混合解密方法,其特征在于,还包括以下步骤:
当所述HMAC消息摘要未通过认证时,退出解密过程。
CN201810689818.7A 2018-06-28 2018-06-28 一种基于hmac、aes、rsa的混合加解密方法 Pending CN110661621A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810689818.7A CN110661621A (zh) 2018-06-28 2018-06-28 一种基于hmac、aes、rsa的混合加解密方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810689818.7A CN110661621A (zh) 2018-06-28 2018-06-28 一种基于hmac、aes、rsa的混合加解密方法

Publications (1)

Publication Number Publication Date
CN110661621A true CN110661621A (zh) 2020-01-07

Family

ID=69026318

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810689818.7A Pending CN110661621A (zh) 2018-06-28 2018-06-28 一种基于hmac、aes、rsa的混合加解密方法

Country Status (1)

Country Link
CN (1) CN110661621A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115941773A (zh) * 2022-11-02 2023-04-07 广州市南方人力资源评价中心有限公司 基于云服务共享的项目交易方法、***、终端设备及介质
CN116015981A (zh) * 2023-03-21 2023-04-25 深圳市星火数控技术有限公司 一种缝纫数控文件数据加密方法
CN117592093A (zh) * 2024-01-19 2024-02-23 成都四方伟业软件股份有限公司 一种文件加密方法、解密方法、加密装置以及解密装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101340653A (zh) * 2008-08-07 2009-01-07 四川长城天讯数码技术有限公司 用于便携终端下载数据的版权保护方法及***
CN103684794A (zh) * 2013-12-25 2014-03-26 华南理工大学 一种基于des、rsa、sha-1加密算法的通信数据加解密方法
CN103905207A (zh) * 2014-04-23 2014-07-02 福建联迪商用设备有限公司 一种统一apk签名的方法及其***
CN103944903A (zh) * 2014-04-23 2014-07-23 福建联迪商用设备有限公司 一种多方授权的apk签名方法及***
US20160134642A1 (en) * 2014-11-10 2016-05-12 Blulnk Ltd. Secure content and encryption methods and techniques
CN107688463A (zh) * 2017-09-21 2018-02-13 杭州全维技术股份有限公司 一种嵌入式设备版本文件打包的方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101340653A (zh) * 2008-08-07 2009-01-07 四川长城天讯数码技术有限公司 用于便携终端下载数据的版权保护方法及***
CN103684794A (zh) * 2013-12-25 2014-03-26 华南理工大学 一种基于des、rsa、sha-1加密算法的通信数据加解密方法
CN103905207A (zh) * 2014-04-23 2014-07-02 福建联迪商用设备有限公司 一种统一apk签名的方法及其***
CN103944903A (zh) * 2014-04-23 2014-07-23 福建联迪商用设备有限公司 一种多方授权的apk签名方法及***
US20160134642A1 (en) * 2014-11-10 2016-05-12 Blulnk Ltd. Secure content and encryption methods and techniques
CN107688463A (zh) * 2017-09-21 2018-02-13 杭州全维技术股份有限公司 一种嵌入式设备版本文件打包的方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115941773A (zh) * 2022-11-02 2023-04-07 广州市南方人力资源评价中心有限公司 基于云服务共享的项目交易方法、***、终端设备及介质
CN116015981A (zh) * 2023-03-21 2023-04-25 深圳市星火数控技术有限公司 一种缝纫数控文件数据加密方法
CN116015981B (zh) * 2023-03-21 2023-06-23 深圳市星火数控技术有限公司 一种缝纫数控文件数据加密方法
CN117592093A (zh) * 2024-01-19 2024-02-23 成都四方伟业软件股份有限公司 一种文件加密方法、解密方法、加密装置以及解密装置
CN117592093B (zh) * 2024-01-19 2024-04-05 成都四方伟业软件股份有限公司 一种文件加密方法、解密方法、加密装置以及解密装置

Similar Documents

Publication Publication Date Title
Idrees et al. Secure automotive on-board protocols: A case of over-the-air firmware updates
CN110460439A (zh) 信息传输方法、装置、客户端、服务端及存储介质
US20100037069A1 (en) Integrated Cryptographic Security Module for a Network Node
US8495383B2 (en) Method for the secure storing of program state data in an electronic device
EP4258593A1 (en) Ota update method and apparatus
CN101019368A (zh) 使用分发cd将直接证明私钥传递给设备的方法
CN111274611A (zh) 数据脱敏方法、装置及计算机可读存储介质
CN108199847B (zh) 数字安全处理方法、计算机设备及存储介质
CN112332975A (zh) 物联网设备安全通信方法及***
CN106055936A (zh) 可执行程序数据包加密/解密方法及装置
CN110598429B (zh) 数据加密存储和读取的方法、终端设备及存储介质
CN103457932A (zh) 一种云计算环境数据安全存储方法和***
CN112953974B (zh) 数据碰撞方法、装置、设备及计算机可读存储介质
CN110661621A (zh) 一种基于hmac、aes、rsa的混合加解密方法
US20210248245A1 (en) Calculation device, calculation method, calculation program and calculation system
CN104104650B (zh) 数据文件访问方法及终端设备
CN111181944B (zh) 通信***及信息发布方法、装置、介质、设备
CN113365264B (zh) 一种区块链无线网络数据传输方法、装置及***
CN113542187A (zh) 文件上传下载方法、装置、计算机装置及介质
CN101325486B (zh) 域许可密钥的转移方法及设备
CN113672955B (zh) 一种数据处理方法、***及装置
CN113569265B (zh) 一种数据处理方法、***及装置
CN109784072A (zh) 一种安全文件管理方法和***
US20140082364A1 (en) Collaborative Uses of a Cloud Computing Confidential Domain of Execution
CN114584347A (zh) 验证短信收发方法、服务器、终端及存储介质

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
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20200107

WD01 Invention patent application deemed withdrawn after publication