CN111314051B - 一种加解密方法和装置 - Google Patents
一种加解密方法和装置 Download PDFInfo
- Publication number
- CN111314051B CN111314051B CN201811513018.6A CN201811513018A CN111314051B CN 111314051 B CN111314051 B CN 111314051B CN 201811513018 A CN201811513018 A CN 201811513018A CN 111314051 B CN111314051 B CN 111314051B
- Authority
- CN
- China
- Prior art keywords
- key
- box
- encryption
- preset
- white
- 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
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/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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种加解密方法和装置,涉及信息安全领域。为解决现有技术中加密算法易被破解,安全性较差的问题而发明。本发明实施例提供的技术方案包括:轮密钥加、字节替换、行移位、列混淆循环迭代计算,所述字节替换采用预设第一保密S盒实现,其中,所述预设第一保密S盒由随机生成的线性矩阵A1和常量矩阵B1构造而成。
Description
技术领域
本发明涉及信息安全领域,尤其涉及一种加解密方法和装置。
背景技术
随着计算机技术的快速发展,数据安全越来越受到重视,也涌现了大量的加密/解密方法。高级加密标准(Advanced Encryption Standard,AES)是对称加密算法实质上的通用标准算法。AES算法的安全性较强,但是对于本地AES加密,在白盒攻击环境下,恶意攻击者可以通过控制内存、反编译程序从代码和设备上获取其密钥,从而无需破解复杂的算法,即可解密机密信息。
为了解决信息本地安全存放的问题,现有技术一般使用加密算法将机密信息加密后存储。然而,现有技术中加密算法采用固定参数,容易被破解,安全性较差。
发明内容
本发明的目的是提供一种加解密方法和装置,能够提高数据安全性。
为了实现上述目的,本发明实施例提供了一种加密方法,包括:轮密钥加、字节替换、行移位、列混淆循环迭代计算,所述字节替换采用预设第一保密S盒实现,其中,所述预设第一保密S盒由随机生成的线性矩阵A1和常量矩阵B1构造而成。
另一方面,本发明实施例提供了一种加密方法,包括:轮密钥加、字节替换、行移位、列混淆循环迭代计算,在所述轮秘钥加、字节替换、行移位、列混淆循环迭代计算后增加第二字节替换混淆,所述第二字节替换混淆采用预设第三保密S盒实现,其中,所述预设第三保密S盒由随机生成的线性矩阵A3和常量矩阵B3构造而成。
另一方面,本发明提供一种加密方法,包括:采用上述加密方法时,所述轮密钥加、字节替换和行移位过程预先组合设置为查找表TK盒的形式;和/或所述列混淆过程预先设置为查找表T盒的形式。
又一方面,提供一种密钥生成方法,包括:采用上述加密方法进行加密,并将随机生成的所述线性矩阵和常量矩阵、和/或乘法矩阵保存为所述密钥。
再一方面,本发明提供一种白盒密钥配置方法,包括:随机生成一随机数,作为原始配置密钥;根据白盒算法,将所述原始配置密钥转换为主白盒库;根据预设第一原始密钥及上述加密方法获取第一密钥和第一白盒库;分别获取预设动态链接库的公私钥对(spk,ssk),以及预设应用程序的公私钥对(upk,usk);根据所述预设应用程序私钥usk对所述预设应用程序进行签名,得到所述预设应用程序的签名信息;根据所述预设动态链接库私钥ssk对所述预设动态链接库进行签名,得到所述预设动态链接库的签名信息;通过所述预设动态链接库存储数据1,所述数据1包括由所述第一密钥加密的ssk、所述主白盒库、所述第一白盒库、由所述第一密钥加密的所述预设应用程序公钥upk以及所述预设动态链接库的签名信息;通过所述预设应用程序存储数据2,所述数据2包括所述预设应用程序的签名信息、所述预设动态链接库公钥spk以及由所述主白盒库加密的第一密钥。
再一方面,本发明实施例提供一种加解密装置,包括:
数据获取模块,用于获取随机数;
加解密模块,与所述数据获取模块相连,用于根据所述随机数生成原始密钥,并根据上述的加密方法获得加密密钥和加密库,以及利用所述加密密钥和加密库进行加解密。
再一方面,提供一种采用加解密装置进行加解密的方法,包括:
所述加解密模块接收用户输入的加解密请求;
所述签名模块根据所述第二存储模块存储的所述预设动态链接库公钥spk对所述预设动态链接库的签名信息进行验签,验签通过执行下一步;
所述加解密模块根据所述第一存储模块存储的所述主白盒库对所述第二存储模块存储的由所述主白盒库加密的第一密钥解密获得第一密钥,通过所述第一密钥对所述第一存储模块存储的由所述第一密钥加密的预设应用程序公钥upk解密获取所述预设应用程序公钥upk;
所述签名模块根据所述预设应用程序公钥upk对所述预设动态链接库的签名信息进行验签,验签通过,由所述加解密模块利用所述加密密钥和加密库执行所述加解密请求。
本发明实施例提供的技术方案,通过采用第一保密S盒实现的字节替换进行循环迭代计算,从而实现加密过程。由于第一保密S盒是由随机生成的线性矩阵A1和常量矩阵B1构造而成,因此本发明实施例提供的加密方法不易被破解,解决了现有技术中加密算法参数固定易被破解,安全性较差的问题。
附图说明
图1为本发明实施例一提供的加密方法的流程图;
图2为本发明实施例二提供的加密方法的流程图;
图3为本发明实施例三提供的加密方法的流程图;
图4为本发明实施例四提供的密钥生成方法的流程图;
图5为本发明实施例五提供的白盒密钥配置方法的流程图;
图6为本发明实施例六提供的加解密装置的结构示意图一;
图7为本发明实施例六提供的加解密装置的结构示意图二;
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,在下面的具体实施方式中,将对本发明作进一步详细的说明。
实施例一
如图1所示,本发明实施例提供一种加密方法,包括:
步骤101,获取待加密数据。
步骤102,对待加密数据,进行轮密钥加、采用预设第一保密S盒实现的字节替换、行移位、列混淆循环迭代计算,得到该待加密数据对应的密文。
在本实施例中,步骤102中预设第一保密S盒由随机生成的线性矩阵A1和常量矩阵B1构造而成。其中,线性矩阵A1和常量矩阵B1的结构与现有AES算法中字节替换的S盒的线性矩阵和常量矩阵的结构相似,在此不再一一赘述。
在本实施例中,轮密钥加、采用预设第一保密S盒实现的字节替换、行移位、列混淆的形式,可以与现有AES算法中轮密钥加、字节替换、行移位和列混淆的形式相同。为了提高加解密速度及安全级别,该轮密钥加、采用预设第一保密S盒实现的字节替换、行移位可以预先组合设置为查找表TK盒的形式;和/或所述列混淆过程预先设置为查找表T盒的形式,构成一种白盒加密方法。其中,轮密钥加、字节替换和行移位预先设置为查找表TK盒的形式的过程可以包括:原始密钥经轮密钥加、字节替换和行移位过程组合运算,将该原始密钥转换成TK盒;列混淆过程预先设置为查找表T盒的形式,包括:对列混淆过程进行预先运算,得到T盒。具体的,以AES128为例,TK盒为:
其原理为,对轮密钥加、字节替换和行移位过程组合运算而形成TK盒。其中,^为异或运算,k为轮秘钥,r为循环迭代计算轮次,x为00-FF的任意字节。
T盒为:其中,x为00-FF的任意字节,/>代表列混淆采用的乘法矩阵的每一列,由于乘法矩阵已知,则可以提前计算好4个T盒。
本实施例提供的白盒加密方法,全程不出现原始密钥,增强了原始密钥的保密性,可有效避免白盒攻击;而且,极大地简化了计算过程,提高了加解密效率,且占用存储空间较小。进一步地,本实施例提供的白盒加密方法,采用预设第一保密S盒参与计算,安全性更高,可满足用户动态更新密钥的需求。
特别的,为了提高安全性,采用上述查找表TK盒和/或T盒时,还可以根据chow白盒AES算法,增加输入输出编码、混乱双射,对查找表进行安全增强。其中,对查找表进行安全增强的方式,与chow白盒AES算法相似,在此不再一一赘述。
在本实施例中,在步骤102中循环迭代计算之后,还可以增加二次列混淆。此时,步骤102可以包括:对待加密数据,进行轮密钥加、采用预设第一保密S盒实现的字节替换、行移位、列混淆循环迭代计算,得到密文;对该密文进行二次列混淆,得到该待加密数据对应的密文。该二次列混淆采用随机生成的第二乘法矩阵M2实现。
在本实施例中,步骤102中列混淆可以与现有AES算法的列混淆相似,为了提高加密方法的安全性,该列混淆还可以由随机生成的第一乘法矩阵M1实现。该第一乘法矩阵M1的结构与现有AES算法中列混淆的乘法矩阵的结构相似,在此不再一一赘述。
本发明实施例提供的技术方案,通过采用第一保密S盒实现的字节替换进行循环迭代计算,从而实现加密过程。由于第一保密S盒是由随机生成的线性矩阵A1和常量矩阵B1构造而成,因此本发明实施例提供的加密方法不易被破解,解决了现有技术中加密算法参数固定易被破解,安全性较差的问题。
实施例二
如图2所示,本发明实施例提供一种加密方法,包括:
步骤201,获取待加密数据。
步骤202,对待加密数据,进行轮密钥加、采用预设第一保密S盒实现的字节替换、行移位、列混淆循环迭代计算,得到第一密文。
在本实施例中,通过步骤202进行迭代计算的过程,与图1所示的步骤102相似,在此不再一一赘述。
在本实施例中,步骤202中预设第一保密S盒由随机生成的线性矩阵A1和常量矩阵B1构造而成。其中,线性矩阵A1和常量矩阵B1的结构与现有AES算法中字节替换的S盒的线性矩阵和常量矩阵的结构相似,在此不再一一赘述。
在本实施例中,步骤202中列混淆可以与现有AES算法的列混淆相似,为了提高加密方法的安全性,该列混淆还可以由随机生成的第一乘法矩阵M1实现。该第一乘法矩阵M1的结构与现有AES算法中列混淆的乘法矩阵的结构相似,在此不再一一赘述。
在本实施例中,轮密钥加、采用预设第一保密S盒实现的字节替换、行移位、列混淆的形式,可以与现有AES算法中轮密钥加、字节替换、行移位和列混淆的形式相同。为了提高加解密速度及安全级别,该轮密钥加、采用预设第一保密S盒实现的字节替换、行移位可以预先组合设置为查找表TK盒的形式;和/或所述列混淆过程预先设置为查找表T盒的形式,构成一种白盒加密方法。TK盒和T盒的构造过程与实施例一类似,在此不再一一赘述。
本实施例提供的白盒加密方法,全程不出现原始密钥,增强了原始密钥的保密性,可有效避免白盒攻击;而且,极大地简化了计算过程,提高了加解密效率,且占用存储空间较小。进一步地,本实施例提供的白盒加密方法,采用随机生成的线性矩阵和常量矩阵、和/或乘法矩阵参与计算,安全性更高,可满足用户动态更新密钥的需求。
特别的,为了提高安全性,采用上述查找表TK盒和/或T盒时,还可以根据chow白盒AES算法,增加输入输出编码、混乱双射,对查找表进行安全增强。其中,对查找表进行安全增强的方式,与chow白盒AES算法相似,在此不再一一赘述。
步骤203,对所述第一密文进行第一字节替换混淆,得到该待加密数据对应的密文。
在本实施例中,步骤203中第一字节替换混淆采用预设第二保密S盒实现,该第二保密S盒由随机生成的线性矩阵A2和常量矩阵B2构造而成。线性矩阵A2和常量矩阵B2的结构与现有的线性矩阵和常量矩阵的结构相似,在此不再一一赘述。
在本实施例中,在得到待加密数据对应的密文之前,还可以增加二次列混淆。此时,步骤203可以包括:对第一密文进行第一字节替换混淆,得到第二密文;对第二密文进行二次列混淆,得到该待加密数据对应的密文。该二次列混淆采用随机生成的第二乘法矩阵M2实现。或者,也可以先对第一密文进行二次列混淆,再进行第一字节替换混淆,在此不做限制。
本发明实施例提供的技术方案,通过采用第一保密S盒实现的字节替换进行循环迭代计算,从而实现加密过程。由于第一保密S盒是由随机生成的线性矩阵A1和常量矩阵B1构造而成,因此本发明实施例提供的加密方法不易被破解,解决了现有技术中加密算法参数固定易被破解,安全性较差的问题。
实施例三
如图3所示,本发明实施例提供一种加密方法,包括:
步骤301,获取待加密数据。
步骤302,对待加密数据,进行轮密钥加、字节替换、行移位、列混淆循环迭代计算,得到第三密文。
在本实施例中,通过步骤302进行迭代计算的过程,与现有的计算过程相似,在此不再一一赘述。
在本实施例中,步骤302中列混淆可以与现有AES算法的列混淆相似,为了提高加密方法的安全性,该列混淆还可以由随机生成的第一乘法矩阵M1实现。该第一乘法矩阵M1的结构与现有AES算法中列混淆的乘法矩阵的结构相似,在此不再一一赘述。
在本实施例中,轮密钥加、字节替换、行移位、列混淆的形式,可以与现有AES算法中轮密钥加、字节替换、行移位和列混淆的形式相同。为了提高加解密速度及安全级别,该轮密钥加、字节替换、行移位可以预先组合设置为查找表TK盒的形式;和/或所述列混淆过程预先设置为查找表T盒的形式,构成一种白盒加密方法。TK盒和T盒的构造过程与实施例一类似,在此不再一一赘述。
本实施例提供的白盒加密方法,全程不出现原始密钥,增强了原始密钥的保密性,可有效避免白盒攻击;而且,极大地简化了计算过程,提高了加解密效率,且占用存储空间较小。进一步地,本实施例提供的白盒加密方法,采用随机生成的乘法矩阵参与计算,安全性更高,可满足用户动态更新密钥的需求。
特别的,为了提高安全性,采用上述查找表TK盒和/或T盒时,还可以根据chow白盒AES算法,增加输入输出编码、混乱双射,对查找表进行安全增强。
步骤303,对第三密文进行第二字节替换混淆,得到该待加密数据对应的密文。
在本实施例中,步骤303中第二字节替换混淆采用预设第三保密S盒实现,该预设第三保密S盒由随机生成的线性矩阵A3和常量矩阵B3构造而成,该线性矩阵A3和常量矩阵B3的结构,与现有的线性矩阵和常量矩阵的结构相似,在此不再一一赘述。
在本实施例得到待加密数据对应的密文之前,还可以增加二次列混淆过程,该二次列混淆过程可以在第二字节替换混淆之前,也可以在第二字节替换混淆之后,在此不做限制。此时,步骤303可以包括:对第三密文进行第二字节替换混淆,得到第四密文;对第四密文进行二次列混淆,得到该待加密数据对应的密文。或者,对第三密文进行二次列混淆,得到第五密文;对第五密文进行第二字节替换混淆,得到该待加密数据对应的密文。
本发明实施例提供的技术方案,通过采用第一保密S盒实现的字节替换进行循环迭代计算,从而实现加密过程。由于第一保密S盒是由随机生成的线性矩阵A1和常量矩阵B1构造而成,因此本发明实施例提供的加密方法不易被破解,解决了现有技术中加密算法参数固定易被破解,安全性较差的问题。
实施例四
如图4所示,本发明实施例提供一种密钥生成方法,其在采用实施例一至三提供的加密方法进行加密时,还包括:
步骤400,将随机生成的线性矩阵和常量矩阵、和/或乘法矩阵保存为密钥。
在本实施例中,图4以图1提供的加密方法还包括步骤400为例进行说明,当实施例二和实施例三还包括“将随机生成的线性矩阵和常量矩阵、和/或乘法矩阵保存为密钥”步骤时,其密钥生成过程与图4所示的相似,在此不再一一赘述。
在本实施例中,通过步骤400保存为密钥之后,可以通过该密钥进行加解密,在此不再一一赘述。
本发明实施例提供的技术方案,通过采用第一保密S盒实现的字节替换进行循环迭代计算,从而实现加密过程。由于第一保密S盒是由随机生成的线性矩阵A1和常量矩阵B1构造而成,因此本发明实施例提供的加密方法不易被破解,解决了现有技术中加密算法参数固定易被破解,安全性较差的问题。
实施例五
如图5所示,本发明实施例提供一种白盒密钥配置方法,包括:
步骤501,随机生成一随机数,作为原始配置密钥。
步骤502,根据白盒算法,将原始配置密钥转换为主白盒库。
在本实施例中,步骤502使用的白盒算法可以是现有白盒算法的任意一种,在此不做限制。该白盒算法优选可以为chow白盒AES算法。
步骤503,根据预设第一原始密钥及加密方法获取第一密钥和第一白盒库。
在本实施例中,步骤503使用的加密方法,与本发明实施例一至三中提供的任意一种白盒加密方法类似,在此不再一一赘述;所述预设第一原始密钥可以是随机生成的一随机数,也可以是用户设定的密钥,在此不做限制。
步骤504,分别获取预设动态链接库的公私钥对(spk,ssk),以及预设应用程序的公私钥对(upk,usk)。
在本实施例中,步骤504可以采用现有的密钥对算法生成公私钥对(spk,ssk)和(upk,usk),在此不做限制。
步骤505,根据预设应用程序私钥usk对预设应用程序进行签名,得到预设应用程序的签名信息。
步骤506,根据预设动态链接库私钥ssk对预设动态链接库进行签名,得到预设动态链接库的签名信息。
步骤507,通过预设动态链接库存储数据1。
在本实施例中,步骤507中数据1包括:由所述第一密钥加密的ssk、所述主白盒库、所述第一白盒库、由所述第一密钥加密的所述预设应用程序公钥upk以及所述预设动态链接库的签名信息。
步骤508,通过预设应用程序存储数据2。
在本实施例中,步骤508中数据2包括:预设应用程序的签名信息、所述预设动态链接库公钥spk以及由所述主白盒库加密的第一密钥。
本发明实施例提供的技术方案,将预设应用程序和预设动态链接库的公钥对向存储,并通过各自私钥对预设应用程序和预设动态链接库进行签名,以便进行双向认证。本实施例中第一密钥是通过实施例一至三中提供的任意一种白盒算法获取的,用于加密存储用户的加密密钥和加密库,而且第一密钥还通过主白盒库加密,因此本实施例为用户安全存储加密密钥和加密库提供了安全保障,进一步提升了用户密钥文件的安全性。
实施例六
如图6所示,本发明实施例提供一种加解密装置,包括:
数据获取模块601,用于获取随机数;
加解密模块602,与所述数据获取模块相连,用于根据所述随机数生成原始密钥,并根据本发明实施例一至三中提供的任意一种白盒加密方法获得加密密钥和加密库,以及利用所述加密密钥和加密库进行加解密。
在本实施例中,通过加解密模块获得加密密钥和加密库的过程,与实施例五中的步骤503相似,在此不再一一赘述。通过加密密钥和加密库进行加解密的原理,与现有的利用chow白盒库进行加解密的原理相似,在此不再一一赘述。
特别的,该加解密模块还用于根据chow白盒AES算法建立主白盒库及根据本发明实施例一至三中提供的任意一种白盒加密方法建立第一密钥与第一白盒库。
在本实施例中,加解密模块建立主白盒库、第一密钥和第一白盒库的过程,与图5所示的步骤501-503相似,在此不再一一赘述。
进一步的,如图7所示,本发明实施例提供的加解密装置,还可以包括:
公私钥获取模块603,用于分别获取预设动态链接库的公私钥对(spk,ssk),以及预设应用程序的公私钥对(upk,usk);
签名模块604,与所述公私钥获取模块相连,用于对所述预设应用程序及所述预设动态链接库进行签名/验签;
第一存储模块605,分别与所述加解密模块、公私钥获取模块和签名模块相连,用于存储由所述第一密钥加密的所述预设动态链接库的私钥ssk、所述主白盒库、所述第一白盒库、由所述第一密钥加密的所述预设应用程序公钥upk以及所述预设动态链接库的签名信息;
第二存储模块606,分别与所述签名模块、公私钥获取模块和加解密模块相连,用于存储所述预设应用程序的签名信息、所述预设动态链接库公钥spk以及由所述主白盒库加密的第一密钥。
本发明实施例提供的技术方案,为用户提供了一种安全可靠的加解密装置,不仅可以响应用户请求,对待加解密文件进行加解密,而且可以依照用户请求随机更换密钥,适应用户高安全性的要求。此外,所述解密装置增加了签名验证过程,进一步增加了安全级别;且用户加解密采用的加密密钥和加密库采用所述第一密钥加密存储,保证了用户密钥文件的安全性。
实施例七
本实施例的一种采用加解密装置进行加解密的方法,其加解密装置的结构与本发明实施例六提供的相似,包括:
步骤801,加解密模块接收用户输入的加解密请求。
步骤802,签名模块根据第二存储模块存储的预设动态链接库公钥spk对预设动态链接库的签名信息进行验签。
在本实施例中,当通过步骤802验签成功时,执行步骤803;如果失败,则终止。
步骤803,加解密模块根据第一存储模块存储的主白盒库对第二存储模块存储的由主白盒库加密的第一密钥解密获得第一密钥,通过第一密钥对第一存储模块存储的由第一密钥加密的预设应用程序公钥upk解密获取预设应用程序公钥upk。
步骤804,签名模块根据预设应用程序公钥upk对预设动态链接库的签名信息进行验签,验签通过,由加解密模块利用加密密钥和加密库执行加解密请求。
所述步骤801之前,还包括:
步骤800,数据获取模块接收用户输入的生成加密密钥的请求,生成随机数r,并通过哈希计算获得哈希值R;加解密模块以哈希值R作为原始密钥,采用实施例一至三中提供的任意一种白盒加密方法获取加密密钥和加密库。
本发明实施例提供的技术方案,在执行用户加解密请求之前,先进行应用程序与动态链接库的双向认证,认证通过方可执行加解密请求,进一步增加了安全级别。而且该方法允许用户随机更换密钥,可以依照用户请求适应用户高安全性的要求。
以上实施例的先后顺序仅为便于描述,不代表实施例的优劣。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (7)
1.一种白盒密钥配置方法,其特征在于,包括:
随机生成一随机数,作为原始配置密钥;
根据白盒算法,将所述原始配置密钥转换为主白盒库;
根据预设第一原始密钥及以下加密方法获取第一密钥和第一白盒库;加密方法包括轮密钥加、字节替换、行移位、列混淆循环迭代计算,所述字节替换采用预设第一保密S盒实现,其中,所述预设第一保密S盒由随机生成的线性矩阵A1和常量矩阵B1构造而成;所述轮密钥加、字节替换和行移位过程预先组合设置为查找表TK盒的形式;和/或所述列混淆过程预先设置为查找表T盒的形式;
分别获取预设动态链接库的公私钥对(spk,ssk),以及预设应用程序的公私钥对(upk,usk);
根据所述预设应用程序私钥usk对所述预设应用程序进行签名,得到所述预设应用程序的签名信息;
根据所述预设动态链接库私钥ssk对所述预设动态链接库进行签名,得到所述预设动态链接库的签名信息;
通过所述预设动态链接库存储数据1,所述数据1包括由所述第一密钥加密的ssk、所述主白盒库、所述第一白盒库、由所述第一密钥加密的所述预设应用程序公钥upk以及所述预设动态链接库的签名信息;
通过所述预设应用程序存储数据2,所述数据2包括所述预设应用程序的签名信息、所述预设动态链接库公钥spk以及由所述主白盒库加密的第一密钥。
2.根据权利要求1所述的白盒密钥配置方法,其特征在于,加密方法在所述轮秘钥加、采用所述第一保密S盒实现的字节替换、行移位、列混淆循环迭代计算后增加第一字节替换混淆,所述第一字节替换混淆采用预设第二保密S盒实现,其中,所述预设第二保密S盒由随机生成的线性矩阵A2和常量矩阵B2构造而成。
3.根据权利要求1所述的白盒密钥配置方法,其特征在于,加密方法的所述列混淆采用随机生成的第一乘法矩阵M1实现。
4.根据权利要求1所述的白盒密钥配置方法,其特征在于,加密方法在所述轮密钥加、字节替换/采用预设第一保密S盒实现的字节替换、行移位、列混淆循环迭代计算后增加二次列混淆,所述二次列混淆采用随机生成的第二乘法矩阵M2实现。
5.根据权利要求1所述的白盒密钥配置方法,其特征在于,加密方法根据chow白盒AES算法,增加输入输出编码、混乱双射,对查找表进行安全增强。
6.一种加解密装置,其特征在于,包括:
数据获取模块,用于获取随机数;
加解密模块,与所述数据获取模块相连,用于根据所述随机数生成原始密钥,并根据以下加密方法获得加密密钥和加密库,以及利用所述加密密钥和加密库进行加解密;
所述加解密模块还用于根据chow白盒AES算法建立主白盒库及根据以下加密方法建立第一密钥与第一白盒库;
加密方法包括轮密钥加、字节替换、行移位、列混淆循环迭代计算,所述字节替换采用预设第一保密S盒实现,其中,所述预设第一保密S盒由随机生成的线性矩阵A1和常量矩阵B1构造而成;所述轮密钥加、字节替换和行移位过程预先组合设置为查找表TK盒的形式;和/或所述列混淆过程预先设置为查找表T盒的形式;
加解密装置还包括:
公私钥获取模块,用于分别获取预设动态链接库的公私钥对(spk,ssk),以及预设应用程序的公私钥对(upk,usk);
签名模块,与所述公私钥获取模块相连,用于对所述预设应用程序及所述预设动态链接库进行签名/验签;
第一存储模块,分别与所述加解密模块、公私钥获取模块和签名模块相连,用于存储由第一密钥加密的所述预设动态链接库的私钥ssk、主白盒库、所述第一白盒库、由所述第一密钥加密的所述预设应用程序公钥upk以及所述预设动态链接库的签名信息;
第二存储模块,分别与所述签名模块、公私钥获取模块和加解密模块相连,用于存储所述预设应用程序的签名信息、所述预设动态链接库公钥spk以及由所述主白盒库加密的第一密钥。
7.一种采用权利要求6所述的加解密装置,其特征在于,
所述加解密模块接收用户输入的加解密请求;
所述签名模块根据所述第二存储模块存储的所述预设动态链接库公钥spk对所述预设动态链接库的签名信息进行验签,验签通过执行下一步;
所述加解密模块根据所述第一存储模块存储的所述主白盒库对所述第二存储模块存储的由所述主白盒库加密的第一密钥解密获得第一密钥,通过所述第一密钥对所述第一存储模块存储的由所述第一密钥加密的预设应用程序公钥upk解密获取所述预设应用程序公钥upk;
所述签名模块根据所述预设应用程序公钥upk对所述预设动态链接库的签名信息进行验签,验签通过,由所述加解密模块利用所述加密密钥和加密库执行所述加解密请求。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811513018.6A CN111314051B (zh) | 2018-12-11 | 2018-12-11 | 一种加解密方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811513018.6A CN111314051B (zh) | 2018-12-11 | 2018-12-11 | 一种加解密方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111314051A CN111314051A (zh) | 2020-06-19 |
CN111314051B true CN111314051B (zh) | 2023-09-12 |
Family
ID=71159647
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811513018.6A Active CN111314051B (zh) | 2018-12-11 | 2018-12-11 | 一种加解密方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111314051B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113656810B (zh) * | 2021-07-16 | 2024-07-12 | 五八同城信息技术有限公司 | 应用程序加密方法、装置、电子设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1518825A (zh) * | 2001-06-21 | 2004-08-04 | �ʼҷ����ֵ�������˾ | 用于交换数据的设备和认证方法 |
CN106650341A (zh) * | 2016-11-18 | 2017-05-10 | 湖南鼎源蓝剑信息科技有限公司 | 基于smali流程混淆技术的Android应用加固方法 |
CN106850221A (zh) * | 2017-04-10 | 2017-06-13 | 四川阵风科技有限公司 | 信息加密、解密方法及装置 |
CN107070630A (zh) * | 2017-01-17 | 2017-08-18 | 中国科学院信息工程研究所 | 一种aes算法的快速安全硬件结构 |
WO2018086333A1 (zh) * | 2016-11-11 | 2018-05-17 | 华为技术有限公司 | 一种加密、解密的方法及设备 |
CN108123791A (zh) * | 2017-12-26 | 2018-06-05 | 衡阳师范学院 | 一种轻量级分组密码scs的实现方法与装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
SG10201405852QA (en) * | 2014-09-18 | 2016-04-28 | Huawei Internat Pte Ltd | Encryption function and decryption function generating method, encryption and decryption method and related apparatuses |
-
2018
- 2018-12-11 CN CN201811513018.6A patent/CN111314051B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1518825A (zh) * | 2001-06-21 | 2004-08-04 | �ʼҷ����ֵ�������˾ | 用于交换数据的设备和认证方法 |
WO2018086333A1 (zh) * | 2016-11-11 | 2018-05-17 | 华为技术有限公司 | 一种加密、解密的方法及设备 |
CN106650341A (zh) * | 2016-11-18 | 2017-05-10 | 湖南鼎源蓝剑信息科技有限公司 | 基于smali流程混淆技术的Android应用加固方法 |
CN107070630A (zh) * | 2017-01-17 | 2017-08-18 | 中国科学院信息工程研究所 | 一种aes算法的快速安全硬件结构 |
CN106850221A (zh) * | 2017-04-10 | 2017-06-13 | 四川阵风科技有限公司 | 信息加密、解密方法及装置 |
CN108123791A (zh) * | 2017-12-26 | 2018-06-05 | 衡阳师范学院 | 一种轻量级分组密码scs的实现方法与装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111314051A (zh) | 2020-06-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111314050B (zh) | 一种加解密方法及装置 | |
US8121294B2 (en) | System and method for a derivation function for key per page | |
US9215072B1 (en) | Back-end matching method supporting front-end knowledge-based probabilistic authentication systems for enhanced credential security | |
CN110958219B (zh) | 一种面向医疗云共享数据的sm2代理重加密方法与装置 | |
CN108111524A (zh) | 基于私钥动态生成机制的终端数据保护方法及系统 | |
CN106059752B (zh) | 一种基于扩张密文的白盒密码加解密方法 | |
CN113711564A (zh) | 用于加密数据的计算机实现的方法和系统 | |
Toorani et al. | A secure cryptosystem based on affine transformation | |
CN111010266B (zh) | 消息的加解密、读写方法、装置、计算机设备和存储介质 | |
CN104396182A (zh) | 加密数据的方法 | |
CN110855667A (zh) | 一种区块链加密方法、装置及系统 | |
CN113098675B (zh) | 基于多项式完全同态的二进制数据加密系统及方法 | |
Alemami et al. | Advanced approach for encryption using advanced encryption standard with chaotic map | |
Tahir et al. | A scheme for the generation of strong icmetrics based session key pairs for secure embedded system applications | |
Mohammed et al. | Advancing cloud image security via AES algorithm enhancement techniques | |
Tahir et al. | Resilience against brute force and rainbow table attacks using strong ICMetrics session key pairs | |
Yang | [Retracted] Application of Hybrid Encryption Algorithm in Hardware Encryption Interface Card | |
CN111314051B (zh) | 一种加解密方法和装置 | |
Tahir et al. | A scheme for the generation of strong cryptographic key pairs based on ICMetrics | |
CN111314079B (zh) | 一种加解密方法、装置 | |
KR102304831B1 (ko) | 순열그룹 기반의 암호화 기술을 적용한 암호화시스템 및 방법 | |
Sharfuddin et al. | A novel cryptographic technique for cloud environment based on feedback dna | |
CN113326530A (zh) | 一种适用于通信双方秘钥共享的秘钥协商方法 | |
Kumaresan et al. | An efficient image block encryption for key generation using non-uniform cellular automata | |
JP5586758B1 (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 |