CN111711515B - 一种三方aes密钥合成方法、加密方法和解密方法 - Google Patents
一种三方aes密钥合成方法、加密方法和解密方法 Download PDFInfo
- Publication number
- CN111711515B CN111711515B CN202010418598.1A CN202010418598A CN111711515B CN 111711515 B CN111711515 B CN 111711515B CN 202010418598 A CN202010418598 A CN 202010418598A CN 111711515 B CN111711515 B CN 111711515B
- Authority
- CN
- China
- Prior art keywords
- key
- key synthesis
- algorithm
- party
- factor
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic 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/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0631—Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
Abstract
本发明提出了一种三方AES密钥合成方法、加密方法和解密方法,包括以下步骤:1)由算法方提供第一密钥合成因数,应用方提供第二密钥合成因数,客户方提供第三密钥合成因数;2)将所述第一、第二和第三密钥合成因数以固定连接顺序连接成数据串;3)对所述数据串进行摘要计算获取摘要值。本发明通过对来自三方的密钥合成因数进行摘要计算来合成密钥,避免了单方的风险,更适用于难以通过数字信封来保护密钥的应用场所,因为三方的不可获得的密钥合成因数而保证了密钥的高可靠性。
Description
技术领域
本发明涉及通信技术领域,具体而言,涉及一种三方AES密钥合成方法、加密方法和解密方法。
背景技术
AES,高级加密标准(Advanced Encryption Standard,缩写:AES),在密码学中又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准。AES是一种对称加解密算法,所谓“对称”意思是加密密钥和解密密钥是同一个。AES因其具有高可靠性、安全性以及速度快而成为数据加密的优先选择算法,获得国际认可并普遍应用。AES加密算法当前有三种密钥长度:128位、192位和256位,这里的位长度是指比特位数(bits),从当前应用来讲主要是256位为主,位数越长相对更安全,但算法耗时也更长。
使用AES进行加解密应用的时候,安全性来源于两个方面:一是AES算法本身,二是密钥。AES算法具有很强的抗暴力破解能力,是目前全球公认的安全、可靠的对称加解密算法。密钥是由调用者提供,在使用的时候调用者以参数的形式将密钥传入到AES加解密过程,因此密钥的安全性是由调用者来负责。当前常见的密钥安全性处理办法有:使用随机数,或从被加密的数据来提取,或使用数字信封。数字信封是利用数字证书对密钥进行加密存储,从而保证密钥的安全性。不论是数字信封还是前两种情况,密钥本质上都是由加解密算法实现者来生成,由单一方决定,安全性较差。而且数字信封需要数字证书体系支持,处理时间比较长,很多应用环境不适宜使用。
发明内容
本发明的目的在于提供一种三方AES密钥合成方法、加密方法和解密方法,解决了现有技术中密钥由单一方调用,安全性较差的问题。
为解决上述技术问题,本发明采用的技术方案是:一种三方AES密钥合成方法,包括以下步骤:1)三方分别提供密钥合成因数,由算法方提供第一密钥合成因数,应用方提供第二密钥合成因数,客户方提供第三密钥合成因数;2)合成数据串,将所述第一、第二和第三密钥合成因数以固定连接顺序连接成数据串;3)计算摘要值,对所述数据串进行摘要计算获取摘要值;4)输出密钥,将所述摘要值作为密钥并输出。
作为优选方案,所述方法还包括:将步骤3中的所述摘要值与步骤2中的所述数据串组合形成新的数据串,再次执行步骤3,循环多次获得最终摘要值,并将所述最终摘要值作为密钥。
作为优选方案,所述由算法方提供第一密钥合成因数,具体包括:由算法方通过随机数生成器生成随机数,将所述随机数作为第一密钥合成因数;或对原始数据进行摘要计算获取数据摘要值,将所述数据摘要值作为第一密钥合成因数;或将所述随机数与数据摘要值进行组合,将组合的结果作为第一密钥合成因数。
作为优选方案,所述应用方提供第二密钥合成因数,具体包括:将原始数据的唯一识别标识作为第二密钥合成因数;或将用户识别标识作为第二密钥合成因数;或将应用系统标识作为第二密钥合成因数。
作为优选方案,所述客户方提供第三密钥合成因数,具体包括:将为客户方提供的应用许可标识作为第三密钥合成因数;或将客户方提供的任意长度文字信息作为第三密钥合成因数。
作为优选方案,当应用方或客户方无法提供密钥合成因数时,由算法方提供默认密钥合成因数来替代。
本发明还提供了一种加密方法,包括以下步骤:1)接收由算法方提供第一密钥合成因数,应用方提供第二密钥合成因数,客户方提供第三密钥合成因数;2)将所述第一、第二和第三密钥合成因数以固定顺序连接成数据串;3)对所述数据串进行摘要计算获取摘要值;4)将所述摘要值作为密钥,采用所述密钥对原始数据进行加密生成加密数据;5)算法方提供必要的配置信息,所述配置信息与加密数据组合形成最终加密数据。
作为优选方案,所述配置信息依据密钥合成算法的需求来配置,包括以下信息中的一种或多种:算法标识、算法版本、随机数参数、摘要算法标识和摘要值。
本发明还提供了一种解密方法,包括以下步骤:1)接收最终加密数据,最终加密数据包括配置信息和加密数据;2)算法方从所述最终加密数据中提取配置信息并还原第一密钥合成因数;3)由应用方提供第二密钥合成因数;4)由客户方提供第三密钥合成因数;5)将所述第一、第二和第三密钥合成因数以固定顺序连接成数据串;6)对所述数据串进行摘要计算获取密钥;7)采用所述密钥对所述加密数据进行解密。
作为优选方案,所述配置信息依据密钥合成算法的需求来配置,包括以下信息中的一种或多种:算法标识、算法版本、随机数参数、摘要算法标识和摘要值。
与现有技术相比,本发明的有益效果包括:通过对来自三方的密钥合成因数进行摘要计算来合成密钥,避免了单方的风险,更适用于难以通过数字信封来保护密钥的应用场所,因为三方的不可获得的密钥合成因数而保证了密钥的高可靠性。
附图说明
参照附图来说明本发明的公开内容。应当了解,附图仅仅用于说明目的,而并非意在对本发明的保护范围构成限制。在附图中,相同的附图标记用于指代相同的部件。其中:
图1为本发明一实施例三方AES密钥合成方法的流程示意图;
图2为本发明一实施例加密、解密方法的流程示意图。
具体实施方式
容易理解,根据本发明的技术方案,在不变更本发明实质精神下,本领域的一般技术人员可以提出可相互替换的多种结构方式以及实现方式。因此,以下具体实施方式以及附图仅是对本发明的技术方案的示例性说明,而不应当视为本发明的全部或者视为对本发明技术方案的限定或限制。
根据本发明的一实施方式结合图1示出。一种三方AES密钥合成方法,运行在服务器中,此处三方分别是指算法提供方,是AES密钥合成算法技术的实现者,以下简称算法方;应用开发方,是使用算法技术提供方来实现上层应用或服务的一方,以下简称应用方;客户方,是使用前面两方共同实施的应用或服务产品的一方。
该密钥合成方法包括以下步骤,
步骤1:在应用或服务运行时,由算法方提供第一密钥合成因数,应用方提供第二密钥合成因数,客户方提供第三密钥合成因数。
具体的,由算法方提供第一密钥合成因数,包括:由于算法方对算法上层的应用和运行环境是不可感知的,因此有两种密钥合成因数生成的基本算法,第一种是随机数,使用适用于加解密的仿真随机数作为第一密钥合成因数,具有不可预测性,在所有操作系统中均有直接可用的仿真随机数生成器;第二种是基于原始数据的摘要计算获取数据摘要值,将数据摘要值作为第一密钥合成因数;第三种是将前两种算法结合,即将随机数与数据摘要值组合后作为第一密钥合成因数。从安全性角度讲,这三种算法都确保了第一密钥合成因数的唯一性,安全性较高。
本实施例中,由应用方提供第二密钥合成因数,具体包括三种方式:第一种是当原始数据具有唯一识别标识时,系统运行期间具有全局唯一性,则可使用该唯一识别标识作为第二密钥合成因数;第二种是如果当前原始数据和当前用户唯一相关,那么可以使用当前用户的识别标识作为第二密钥合成因数,这种方法具有跨多个加密数据、每个用户唯一性,比如对于同一访问者可以使用访问者的身份信息作为第二密钥合成因数;第三种是可以使用当前应用系统的唯一标识作为第二合成因数,这样可以跨所有用户、所有加密数据,全部使用同一个应用密钥合成因数。从安全性角度讲第一种最佳、第二种次之、第三种最差。
本实施例中,由客户方提供第三密钥合成因数,具体包括两种方式:第一种是直接使用向客户提供的应用许可标识,其具有唯一性,可以作为第三密钥合成因数;第二种是使用客户自己提供的任意长度的文字信息作为第三密钥合成因数,确保只有客户自己知道即可。这两种方式均可,具有全局唯一性,满足安全性的基本需要。客户方的密钥合成因数必须确保整个应用系统全生命运行期间的不可变更性、唯一性及保密性。
步骤2:将第一、第二和第三密钥合成因数以固定连接顺序连接成数据串,直接连接起来即可。连接顺序可以将第一、第二和第三密钥合成因数任意组合,但是连接顺序对于同一个数据的加解密过程应该是具有唯一性、对于不同数据可不同,由算法方确定。
步骤3:对步骤2中形成的数据串进行SHA256摘要算法计算获取摘要值,则该摘要值可作为密钥使用。
可选的,可将步骤3中获得的摘要值追加到步骤2中连接形成的数据串后面再次进行SHA256摘要计算,如此循环多次,次数由算法方依据需要设定,从而获得最终摘要值,将该最终摘要值作为AES加解密算法的密钥使用。通过设置循环次数可以强化密钥的稳定性和差异化。
特殊的,当应用方或客户方无法提供密钥合成因数时,由算法方提供默认密钥合成因数来替代,即算法方使用默认密钥合成因数来替代第一密钥合成因数或第二密钥合成因数,替代方案由算法方自行定义。
综上,由于每方密钥合成因数是在应用或服务运行的时候才确定的,因此每方的数据都是其他两方不能事先获取或拿到,从而保证了最终合成出来的密钥的安全性。一般来说每方提供的密钥合成因数长度在64~256字节区间为宜,有一方为空(数据长度为0)必然导致密钥安全性会降低。
如图2所示,本发明还公开了一种加密方法,运行在服务器中,通过上述一种三方AES密钥合成方法获取密钥,算法方采用密钥对原始数据进行加密生成加密数据,再将必要的配置信息与加密数据组合形成最终加密数据。配置信息依据密钥合成算法的需求来配置,由算法方确定,配置信息包括算法标识、算法版本、随机数参数、摘要算法标识、摘要值以及其它相关的标识和参数。在服务系统当中,如果有数据库,那么可以将部分配置信息存储到数据库中。
本发明还公开了一种解密方法,运行在服务器中,具体包括:接收最终加密数据,最终加密数据包括配置信息和加密数据,算法方从最终加密数据或数据库中提取配置信息并还原成第一密钥合成因数;由应用方提供和加密时相同的第二密钥合成因数;由客户方直接提供应用许可标识或任意长度文字信息作为第三密钥合成因数;将第一、第二和第三密钥合成因数以固定连接顺序连接成数据串,连接顺序与加密时相同;对数据串进行摘要计算获取密钥;采用密钥对加密数据进行解密。
可以理解的是,本发明的技术方案不仅限于AES对称加密算法,还可适应于其他加密算法,其密钥不仅限于长度为128位、192位或256位,比如还可通过算法扩展来实现384位、512位或更长的位数。
本发明提供了一种三方AES密钥合成方法,该密钥合成方法当中的三方同时存在并且各自独立,任何一方的密钥合成因数都决定了最终密钥的不同,缺少任何一方则最终合成计算的密钥是错误的,如果无法同时拿到三方的密钥合成因数并无法知悉合成算法过程而导致不能获得最终的密钥,因此这样的应用体系是十分安全的。
本发明的技术范围不仅仅局限于上述说明中的内容,本领域技术人员可以在不脱离本发明技术思想的前提下,对上述实施例进行多种变形和修改,而这些变形和修改均应当属于本发明的保护范围内。
Claims (10)
1.一种三方AES密钥合成方法,其特征在于,包括以下步骤:
1)三方分别提供密钥合成因数,由算法方提供第一密钥合成因数,应用方提供第二密钥合成因数,客户方提供第三密钥合成因数;
2)合成数据串,将所述第一、第二和第三密钥合成因数以固定连接顺序连接成数据串;
3)计算摘要值,对所述数据串进行摘要计算获取摘要值;
4)输出密钥,将所述摘要值作为密钥并输出。
2.根据权利要求1所述的三方AES密钥合成方法,其特征在于,所述方法还包括:将步骤3)中的所述摘要值与步骤2)中的所述数据串组合形成新的数据串,再次执行步骤3),循环多次获得最终摘要值,并将所述最终摘要值作为密钥。
3.根据权利要求1所述的三方AES密钥合成方法,其特征在于,所述由算法方提供第一密钥合成因数,具体包括:由算法方通过随机数生成器生成随机数,将所述随机数作为第一密钥合成因数;
或对原始数据进行摘要计算获取数据摘要值,将所述数据摘要值作为第一密钥合成因数;
或将所述随机数与数据摘要值进行组合,将组合的结果作为第一密钥合成因数。
4.根据权利要求1所述的三方AES密钥合成方法,其特征在于,所述应用方提供第二密钥合成因数,具体包括:将原始数据的唯一识别标识作为第二密钥合成因数;
或将用户识别标识作为第二密钥合成因数;
或将应用系统标识作为第二密钥合成因数。
5.根据权利要求1所述的三方AES密钥合成方法,其特征在于,所述客户方提供第三密钥合成因数,具体包括:将为客户方提供的应用许可标识作为第三密钥合成因数;
或将客户方提供的任意长度文字信息作为第三密钥合成因数。
6.根据权利要求1所述的三方AES密钥合成方法,其特征在于,当应用方或客户方无法提供密钥合成因数时,由算法方提供默认密钥合成因数来替代。
7.一种加密方法,其特征在于,包括以下步骤:
1)接收由算法方提供第一密钥合成因数,应用方提供第二密钥合成因数,客户方提供第三密钥合成因数;
2)将所述第一、第二和第三密钥合成因数以固定顺序连接成数据串;
3)对所述数据串进行摘要计算获取摘要值;
4)将所述摘要值作为密钥,采用所述密钥对原始数据进行加密生成加密数据;
5)算法方提供必要的配置信息,所述配置信息与加密数据组合形成最终加密数据。
8.根据权利要求7所述一种加密方法,其特征在于,所述算法方提供必要的配置信息依据密钥合成算法的需求来配置,包括以下信息中的一种或多种:算法标识、算法版本、随机数参数、摘要算法标识和摘要值。
9.一种解密方法,其特征在于,包括以下步骤:
1)接收最终加密数据,最终加密数据包括配置信息和加密数据;
2)算法方从所述最终加密数据中提取配置信息并还原第一密钥合成因数;
3)由应用方提供第二密钥合成因数;
4)由客户方提供第三密钥合成因数;
5)将所述第一、第二和第三密钥合成因数以固定顺序连接成数据串;
6)对所述数据串进行摘要计算获取密钥;
7)采用所述密钥对所述加密数据进行解密。
10.根据权利要求9所述一种解密方法,其特征在于,所述配置信息依据密钥合成算法的需求来配置,包括以下信息中的一种或多种:算法标识、算法版本、随机数参数、摘要算法标识和摘要值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010418598.1A CN111711515B (zh) | 2020-05-18 | 2020-05-18 | 一种三方aes密钥合成方法、加密方法和解密方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010418598.1A CN111711515B (zh) | 2020-05-18 | 2020-05-18 | 一种三方aes密钥合成方法、加密方法和解密方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111711515A CN111711515A (zh) | 2020-09-25 |
CN111711515B true CN111711515B (zh) | 2022-04-26 |
Family
ID=72537612
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010418598.1A Active CN111711515B (zh) | 2020-05-18 | 2020-05-18 | 一种三方aes密钥合成方法、加密方法和解密方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111711515B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5815573A (en) * | 1996-04-10 | 1998-09-29 | International Business Machines Corporation | Cryptographic key recovery system |
CN106209381A (zh) * | 2016-07-12 | 2016-12-07 | 深圳市中易通安全芯科技有限公司 | 一种照片加解密方法及其系统 |
CN106911469A (zh) * | 2015-12-23 | 2017-06-30 | 北京奇虎科技有限公司 | 密钥读取方法及装置 |
WO2018152618A1 (en) * | 2017-02-27 | 2018-08-30 | Cord3 Innovation Inc. | Symmetric cryptographic method and system and applications thereof |
CN109040090A (zh) * | 2018-08-17 | 2018-12-18 | 北京海泰方圆科技股份有限公司 | 一种数据加密方法及装置 |
-
2020
- 2020-05-18 CN CN202010418598.1A patent/CN111711515B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5815573A (en) * | 1996-04-10 | 1998-09-29 | International Business Machines Corporation | Cryptographic key recovery system |
CN106911469A (zh) * | 2015-12-23 | 2017-06-30 | 北京奇虎科技有限公司 | 密钥读取方法及装置 |
CN106209381A (zh) * | 2016-07-12 | 2016-12-07 | 深圳市中易通安全芯科技有限公司 | 一种照片加解密方法及其系统 |
WO2018152618A1 (en) * | 2017-02-27 | 2018-08-30 | Cord3 Innovation Inc. | Symmetric cryptographic method and system and applications thereof |
CN109040090A (zh) * | 2018-08-17 | 2018-12-18 | 北京海泰方圆科技股份有限公司 | 一种数据加密方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111711515A (zh) | 2020-09-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3289723B1 (en) | Encryption system, encryption key wallet and method | |
CN109784931B (zh) | 一种基于区块链的数据查询平台的查询方法 | |
CN104821944A (zh) | 一种混合加密的网络数据安全方法及系统 | |
CN101789865A (zh) | 一种用于加密的专用服务器及加密方法 | |
US6640303B1 (en) | System and method for encryption using transparent keys | |
CN111404952B (zh) | 变电站数据加密传输方法、装置、计算机设备和存储介质 | |
CN113067702B (zh) | 支持密文等值测试功能的身份基加密方法 | |
CN104243149A (zh) | 加、解密方法,装置和服务器 | |
CN105282167A (zh) | 一种可搜索的无证书公钥加密方法 | |
CN107465665A (zh) | 一种基于指纹识别技术的文件加解密方法 | |
CN113132099A (zh) | 一种基于硬件密码设备的传输文件加解密方法及装置 | |
KR20180108008A (ko) | 키 생성 장치 및 방법, 암호화 장치 및 방법 | |
CN104200154A (zh) | 一种基于标识的安装包签名方法及其装置 | |
CN110417544A (zh) | 一种根密钥的生成方法、装置和介质 | |
CN103117850B (zh) | 一种基于随机序列数据库的密码系统的建立方法 | |
CN110784300B (zh) | 一种基于乘法同态加密的密钥合成方法 | |
Peev et al. | A novel protocol-authentication algorithm ruling out a man-in-the middle attack in quantum cryptography | |
CN114095171A (zh) | 一种基于身份的可穿刺代理重加密方法 | |
US20140115322A1 (en) | Method, apparatus and system for performing proxy transformation | |
CN111711515B (zh) | 一种三方aes密钥合成方法、加密方法和解密方法 | |
CN115603907A (zh) | 加密存储数据的方法、装置、设备和存储介质 | |
CN115712919A (zh) | 一种区域医疗数据加密与应用方法 | |
CN111526131B (zh) | 基于秘密共享和量子通信服务站的抗量子计算的电子公文传输方法和系统 | |
CN115499118A (zh) | 报文密钥生成、文件加密、解密方法、装置、设备和介质 | |
JP2005114870A (ja) | 暗号通信システム |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |