CN116633529B - 采用派生密钥增强白盒sm4密码算法的方法及设备 - Google Patents

采用派生密钥增强白盒sm4密码算法的方法及设备 Download PDF

Info

Publication number
CN116633529B
CN116633529B CN202310912820.7A CN202310912820A CN116633529B CN 116633529 B CN116633529 B CN 116633529B CN 202310912820 A CN202310912820 A CN 202310912820A CN 116633529 B CN116633529 B CN 116633529B
Authority
CN
China
Prior art keywords
round
key
box
wheel
algorithm
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
Application number
CN202310912820.7A
Other languages
English (en)
Other versions
CN116633529A (zh
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.)
China Telecom Quantum Technology Co ltd
Original Assignee
China Telecom Quantum Technology 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 China Telecom Quantum Technology Co ltd filed Critical China Telecom Quantum Technology Co ltd
Priority to CN202310912820.7A priority Critical patent/CN116633529B/zh
Publication of CN116633529A publication Critical patent/CN116633529A/zh
Application granted granted Critical
Publication of CN116633529B publication Critical patent/CN116633529B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0852Quantum cryptography
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • 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/16Obfuscation or hiding, e.g. involving white box
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y04INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
    • Y04SSYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
    • Y04S40/00Systems for electrical power generation, transmission, distribution or end-user application management characterised by the use of communication or information technologies, or communication or information technology specific aspects supporting them
    • Y04S40/20Information technology specific aspects, e.g. CAD, simulation, modelling, system security

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Power Engineering (AREA)
  • Physics & Mathematics (AREA)
  • Electromagnetism (AREA)
  • Theoretical Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开一种采用派生密钥增强白盒SM4密码算法的方法,方法包括获取工作密钥和变换密钥,分别基于所述工作密钥和所述变换密钥生成第一轮密钥和第二轮密钥;对于每轮的所述第二轮密钥进行派生,生成每轮对应的派生密钥;基于第i轮的运算输入数据与第i轮对应的所述第一轮密钥,得到SM4算法的加密运算中T调用的第i轮输入,生成第i轮融合所述第一轮密钥的S盒;利用第i轮对应的所述派生密钥对第i轮生成的S盒、T调用的第i轮运算输入数据以及T调用的第i轮输出数据分别进行置乱操作,生成密文数据;本发明增加了白盒密码的冗余度、复杂性和安全性。

Description

采用派生密钥增强白盒SM4密码算法的方法及设备
技术领域
本发明涉及密码应用技术领域,具体涉及一种采用派生密钥增强白盒SM4密码算法的方法及设备。
背景技术
在白盒攻击环境(White-Box Attack Context)中,软件的执行过程对攻击者完全可见,运行在这种环境中的密码软件如果没有对密钥进行特殊的保护,攻击者通过观察或者执行密码软件很容易就可以获得密钥信息。白盒密码就是针对这种情况提出来的,其目的是为了在白盒攻击环境里保护密钥,将密钥信息隐藏在密码软件的执行过程中,防止攻击者在白盒攻击环境中抽取出密钥。
目前的大多数SM4白盒密码算法实现,是将扩展和派生后的轮密钥和S盒结合,并进行一定的输入输出变换,将密钥信息隐藏在查表过程中。比如公布号为CN115996113A的专利申请文献中提出将国产分组密码算法SM4以新的查找表技术进行白盒化,并采用国产密码算法SM3进行查找表数据完整性校验以防篡改。公布号为CN111800255A的专利申请文献中提出将密钥信息隐藏在查找表中,且增加了外部编码,使得查找表随机选取的输入和输出编码难以被攻破恢复。而公布号为CN115348101A的专利申请文献中提出利用混沌序列来动态构造S盒、系统参数和固定参数,通过对S盒的内容进行变化来降低数据传输过程中被破译的风险。
这些实现方式仍存在一定的问题:
(1)由于S盒以及查表信息都是可以获取的,所以存在一定的密钥析出风险。
(2)输入输出变换采用的是固定的参数,没有结合可变量,安全性存在一定的风险。
(3)和密钥一样,白盒密码算法代码也需要分发,由于数据量较大,分发过程存在风险。
发明内容
本发明所要解决的技术问题在于如何提升白盒密码算法中密钥的破解难度。
本发明通过以下技术手段解决上述技术问题的:
一方面,本发明提出了一种采用派生密钥增强白盒SM4密码算法的方法,所述方法包括:
获取工作密钥和变换密钥,分别基于所述工作密钥和所述变换密钥生成第一轮密钥和第二轮密钥;
对于每轮的所述第二轮密钥进行派生,生成每轮对应的派生密钥;
基于第i轮的运算输入数据与第i轮对应的所述第一轮密钥,得到SM4算法的加密运算中T调用的第i轮输入,生成第i轮融合所述第一轮密钥的S盒;
利用第i轮对应的所述派生密钥对第i轮生成的S盒、T调用的第i轮运算输入数据以及T调用的第i轮输出数据分别进行置乱操作,生成密文数据。
进一步地,所述工作密钥和所述变换密钥均由量子密钥分发网络生成。
进一步地,所述分别基于所述工作密钥和所述变换密钥生成第一轮密钥和第二轮密钥,包括:
采用SM4算法的轮密钥生成算法对所述工作密钥进行扩展,生成每轮对应的所述第一轮密钥;
采用SM4算法的轮密钥生成算法对所述变换密钥进行扩展,生成每轮对应的所述第二轮密钥。
进一步地,所述对于每轮的所述第二轮密钥进行派生,生成每轮对应的派生密钥,包括:
基于每轮预置的随机数对每轮对应的所述第二轮密钥进行派生,生成每轮对应的派生密钥,公式表示为:
pkey i1= HMAC_SM3(rk i2,salt i1||i||“parmeter derivation”);
pkey i2= HMAC_SM3(pkey i1,salt i2||i||“parmeter derivation”||0);
式中,salt i1salt i2为第i轮预置的随机数,pkey i1pkey i2为采用SM3密码杂凑算法生成的第i轮对应的派生密钥,rk i2为第i轮对应的所述第二轮密钥,||表示为串联,“parmeter derivation”为参与变换的固定字符串,HMAC_SM3表示使用SM3算法进行带密钥的杂凑运算HMAC。
进一步地,所述基于第i轮的运算输入数据与第i轮对应的所述第一轮密钥,得到SM4算法的加密运算中T调用的第i轮输入,生成第i轮融合所述第一轮密钥的S盒,包括:
X=X i+1 X i+2/> X i+3=(a 0a 1a 2a 3)作为SM4算法的加密运算中T调用的输入,令rk i1=(k i0k i1k i2k i3),则有:
生成第i轮融合所述第一轮密钥的S盒为:S ij(x)=Sbox(x k ij);
式中,X为运算输入数据,X i+1X i+2X i+3为第i轮运算输入数据包括的输入数据组,为异或操作,a 0a 1a 2a 3为组成32比特X的4个8比特分量;rk i1为第i轮对应的所述第一轮密钥,k i0k i1k i2k i3为所述第i轮对应的所述第一轮密钥包括的四个子密钥;T( )为合成置换函数,由线性变换L和非线性变换τ组成,Sbox( )代表标准S盒,x代表组成第i轮32比特X的4个8比特分量之一a j(j=0,1,2,3),k ij为第i轮4个子密钥之一k ij(j=0,1,2,3)。
进一步地,所述利用第i轮对应的所述派生密钥对第i轮生成的S盒、T调用的第i轮运算输入数据以及T调用的第i轮输出数据分别进行置乱操作,生成密文数据,包括:
利用第i轮对应的所述派生密钥对第i轮生成的S盒进行置乱操作,得到第i轮S盒的查表结果;
利用第i轮对应的所述派生密钥对T调用的第i轮运算输入数据X进行置乱操作,得到置乱后T调用的第i轮输入;
利用第i轮对应的所述派生密钥,结合第i轮S盒的查表结果与第i轮运算输入数据包括的输入数据组X i,对T调用的第i轮输出数据进行置乱操作,生成所述密文数据。
进一步地,所述利用第i轮对应的所述派生密钥对第i轮生成的S盒进行置乱操作,得到第i轮S盒的查表结果,包括:
根据第i轮对应的所述派生密钥pkey i1,生成数组P i[32]=pkey i1+Rnd iRnd i为256比特位实时产生的随机数;
根据所述数组,生成可逆矩阵E ij=P i[8j,8j+1,...,8j+7],j=0,1,2,3;
利用所述可逆矩阵E ij对第i轮生成的j个S盒S ij进行置乱操作,则置乱后的S盒表示为S` ij= Eij S ij
令第i轮置乱后的j个S盒查表后的输出为Z,则第i轮S盒的查表结果为V i=(Q i L)Z TQ i/> L为可逆矩阵Q i与线性变换L的结合,T表示矩阵转置符号。
进一步地,所述利用第i轮对应的所述派生密钥对T调用的第i轮运算输入数据X进行置乱操作,置乱后T调用的第i轮输入,公式表示为:
X=X` i+1 X` i+2/> X` i+3= (M i+1/> X i+1)/>(M i+2/> X i+2)/>(M i+3/> X i+3)
式中,M i+j=P i+j -1 E ij -1P i+j(x)=A i+jx)/> α iA i+j为可逆矩阵,pkey i2为第i轮对应的所述派生密钥,A i+j=pkey i2[4j,4j+1,4j+2,4j+3],E ij为可逆矩阵,α i为常量,/>为异或操作,j=0,1,2,3。
进一步地,所述利用第i轮对应的所述派生密钥,结合第i轮S盒的查表结果与第i轮运算输入数据包括的输入数据组X i,对T调用的第i轮输出数据进行置乱操作,生成所述密文数据,包括:
对第i轮S盒的查表结果进行可逆仿射变换,得到Y`= (P i+4 α i`)/> Q i -1V i
对置乱后T调用的第i轮输入进行可逆仿射变换,得到X`=(P i+4 α i``)P i -1/> X i
T调用的第i轮输出数据进行置乱操作,得到置乱后的输出数据作为所述白盒密码程序代码;
其中,V i为第i轮S盒的查表结果,Q i为可逆矩阵,α i`和α i``为常量,P i+4P i为数组且在轮变换中统一排序并有所交叉,为异或操作。
此外,本发明还提出了一种采用派生密钥增强白盒SM4密码算法的设备,所述装置包括:
密钥获取模块,用于获取工作密钥和变换密钥,分别基于所述工作密钥和所述变换密钥生成第一轮密钥和第二轮密钥;
密钥派生模块,用于对于每轮的所述第二轮密钥进行派生,生成每轮对应的派生密钥;
加密模块,用于基于第i轮的运算输入数据与第i轮对应的所述第一轮密钥,得到SM4算法的加密运算中T调用的第i轮输入,生成第i轮融合所述第一轮密钥的S盒;
置乱模块,用于利用第i轮对应的所述派生密钥对第i轮生成的S盒、T调用的第i轮运算输入数据以及T调用的第i轮输出数据分别进行置乱操作,生成密文数据。
此外,本发明还提出了一种白盒密码程序代码安全分发系统,所述系统包括量子密钥分发网络,所述量子密钥分发网络中各量子网络节点连接有对应的采用派生密钥增强白盒SM4密码算法的设备,所述采用派生密钥增强白盒SM4密码算法的设备中存储的白盒密码程序代码采用如上所述采用派生密钥增强白盒SM4密码算法的方法生成,每个采用派生密钥增强白盒SM4密码算法的设备经安全存储介质连接有对应的通信参与方以为通信参与方充注白盒密码程序代码,所述通信参与方采用所述白盒密码程序代码进行数据加解密通信。
本发明的优点在于:
(1)本发明中通过增加一支变换密钥,并对变换密钥生成的第二轮密钥进行派生,产生足够数量且具备前后向安全性的派生密钥,利用派生密钥对S盒输入输出变换过程中的参数进行随机性变换,而不仅是对S盒的内容进行变换,从复杂度和信息冗余度上提升了白盒密码算法中密钥的破解难度,增加了白盒密码的冗余度、复杂性和安全性;且派生密钥与用于加密的第一轮密钥彼此独立,每一轮都要在基于派生密钥产生的轮密钥的基础上进行派生,每一轮派生出的密钥用于白盒加密过程中,随机性增强。
(2)通过量子密钥分发网络(Quantum key distribution,QKD)和白盒代码生成点实现跨域的远程白盒密码算法安全分发,提升了白盒密码分发过程的安全性,降低了代码分发过程的复杂性和资源消耗。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
图1是本发明一实施例提出的一种采用派生密钥增强白盒SM4密码算法的方法的流程示意图;
图2是本发明一实施例提出的一种采用派生密钥增强白盒SM4密码算法的设备的结构示意图;
图3是本发明一实施例提出的一种白盒密码程序代码安全分发系统的结构示意图;
图4是本发明一实施例中白盒密码程序代码安全分发系统的工作流程示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明第一实施例提出了一种采用派生密钥增强白盒SM4密码算法的方法,所述方法包括以下步骤:
S10、获取工作密钥和变换密钥,分别基于所述工作密钥和所述变换密钥生成第一轮密钥和第二轮密钥;
S20、对于每轮的所述第二轮密钥进行派生,生成每轮对应的派生密钥;
S30、基于第i轮的运算输入数据与第i轮对应的所述第一轮密钥,得到SM4算法的加密运算中T调用的第i轮输入,生成第i轮融合所述第一轮密钥的S盒;
S40、利用第i轮对应的所述派生密钥对第i轮生成的S盒、T调用的第i轮运算输入数据以及T调用的第i轮输出数据分别进行置乱操作,生成密文数据。
本实施例利用白盒SM4算法对明文数据进行加密的过程中,增加一支变换密钥,并对变换密钥生成的第二轮密钥进行派生,产生足够数量且具备前后向安全性的派生密钥作为S盒及输入输出变换的参数,通过在S盒的变换中结合可变量,从复杂度和信息冗余度上提升了白盒密码算法中密钥的破解难度,增加了白盒密码的冗余度、复杂性和安全性。
在一实施例中,所述工作密钥和所述变换密钥均由量子密钥分发网络生成并在全域同步。
具体地,本实施例中的工作密钥K 1和变换密钥K 2为由量子密钥分发网络QKD生成的两支128比特位的新鲜密钥,每个128比特位密钥由4个32比特位子密钥组成,并传递给量子密钥分发网络QKD中的各量子网络节点,再由量子网络节点传递给其所连接的白盒代码生成点,由白盒代码生成点生成白盒密码程序代码。
在一实施例中,在所述步骤S20中,分别基于所述工作密钥和所述变换密钥生成第一轮密钥和第二轮密钥,具体包括:
采用SM4算法的轮密钥生成算法对所述工作密钥进行扩展,生成每轮对应的所述第一轮密钥;
采用SM4算法的轮密钥生成算法对所述变换密钥进行扩展,生成每轮对应的所述第二轮密钥。
本实施例基于K 1K 2分别生成32比特位的第一轮密钥rk i1和第二轮密钥rk i2i=0,1,2,…,31,轮密钥生成方式采用国家标准GB/T 32907-2016《信息安全技术SM4分组密码算法》。
在一实施例中,所述步骤S20:对于每轮的所述第二轮密钥进行派生,生成每轮对应的派生密钥,具体包括:
基于每轮预置的随机数对每轮对应的所述第二轮密钥进行派生,生成每轮对应的派生密钥,公式表示为:
pkey i1= HMAC_SM3(rk i2,salt i1||i||“parmeter derivation”);
pkey i2= HMAC_SM3(pkey i1,salt i2||i||“parmeter derivation”||0);
式中,salt i1salt i2为第i轮预置的随机数,pkey i1pkey i2为采用SM3密码杂凑算法生成的第i轮对应的派生密钥,rk i2为第i轮对应的所述第二轮密钥,||表示为串联,“parmeter derivation”为参与变换的固定字符串,HMAC_SM3表示使用SM3算法进行带密钥的杂凑运算HMAC。
本实施例变换后的轮密钥采用基于SM3密码杂凑算法产生足够数量且具备前后向安全性的派生密钥作为S盒和输入输出变换的参数,pkey i1pkey i2为采用SM3的带密钥杂凑算法的256比特位输出。
在一实施例中,所述步骤S30:基于第i轮的运算输入数据与第i轮对应的所述第一轮密钥,得到SM4算法的加密运算中T调用的第i轮输入,生成第i轮融合所述第一轮密钥的S盒,具体包括:
假设每轮运算输入为(X i,X i+1,X i+2,X i+3),输出为X i+4,以X=X i+1 X i+2/> X i+3=(a 0a 1a 2a 3)作为SM4算法的加密运算中T调用的输入,令rk i1=(k i0k i1k i2k i3),i=0,1,2,…,31,则有:
生成第i轮融合所述第一轮密钥的S盒为:S ij(x)=Sbox(x k ij),i=0,1,2,…,31,j=0,1,2,3;
式中,X为运算输入数据,X i+1X i+2X i+3为第i轮运算输入数据包括的输入数据组,为异或操作,a 0a 1a 2a 3为组成32比特X的4个8比特分量;rk i1为第i轮对应的所述第一轮密钥,k i0k i1k i2k i3为所述第i轮对应的所述第一轮密钥所包括的四个子密钥;T( )为合成置换函数,由线性变换L和非线性变换τ组成,Sbox( )代表标准S盒,x代表组成第i轮32比特X的4个8比特分量之一a j(j=0,1,2,3),k ij为第i轮4个子密钥之一k ij(j=0,1,2,3)。
需要说明的是,每一轮SM4算法的加密运算采用国家标准GB/T 32907-2016《信息安全技术SM4分组密码算法》,本实施例每轮的S盒与密钥相关,每轮4个8比特位子密钥对应4个S盒,一共形成32×4个融合轮密钥的S盒。
在一实施例中,所述步骤S40:利用第i轮对应的所述派生密钥对第i轮生成的S盒、T调用的第i轮运算输入数据以及T调用的第i轮输出数据分别进行置乱操作,生成生成密文数据,包括:
S41、利用第i轮对应的所述派生密钥对第i轮生成的S盒进行置乱操作,得到第i轮S盒的查表结果;
S42、利用第i轮对应的所述派生密钥对T调用的第i轮运算输入数据X进行置乱操作,得到置乱后T调用的第i轮输入;
S43、利用第i轮对应的所述派生密钥,结合第i轮S盒的查表结果与第i轮运算输入数据包括的输入数据组X i,对T调用的第i轮输出数据进行置乱操作,生成生成密文数据。
在一实施例中,所述步骤S41:利用第i轮对应的所述派生密钥对第i轮生成的S盒进行置乱操作,得到第i轮S盒的查表结果,具体包括以下步骤:
根据第i轮对应的所述派生密钥pkey i1,生成数组P i[32]=pkey i1+Rnd iRnd i为256比特位实时产生的随机数;
根据所述数组,生成可逆矩阵E ij=P i[8j,8j+1,...,8j+7],j=0,1,2,3;
利用所述可逆矩阵E ij对第i轮生成的j个S盒S ij进行置乱操作,则置乱后的S盒表示为S` ij= Eij S ij
令第i轮置乱后的j个S盒查表后的输出为Z,则第i轮S盒的查表结果为V i=(Q i L)Z TQ i/> L为可逆矩阵Q i与线性变换L的结合,T表示矩阵转置符号。
具体地,本实施例对第i轮的4个S盒S iji=0,1,2,…,31,j=0,1,2,3)进行置乱操作为:
E ij=diag(E i0,E i1,E i2,E i3),E ij为有限域GF(2)的8×8比特位可逆矩阵,P i[32]=pkey i1+Rnd iRnd i为256比特位实时产生的随机数,P i[32]为256比特位按序分隔得到的32×8比特位数组,E ij=P i[8j,8j+1,...,8j+7],则置乱后的S盒S` ij= Eij S ij,随机构造GF(2)的32×32随机比特位可逆矩阵Q i并与L变换结合为Q i/> L,令第i轮的4个S盒查表后的输出为Z=(z i0,z i1,z i2,z i3),则V i=v i0/> v i1/> v i2/> v i3=(Q i/> L)(z i0,z i1,z i2,z i3)T,其结果构成4张子表的异或,4个S盒查表及Q i/> L变化统一为对这4张子表的查表和对查表结果的异或。
在一实施例中,所述步骤S42:利用第i轮对应的所述派生密钥对T调用的第i轮运算输入数据X进行置乱操作,置乱后T调用的第i轮输入,公式表示为:
X=X` i+1 X` i+2/> X` i+3= (M i+1/> X i+1)/>(M i+2/> X i+2)/>(M i+3/> X i+3)
式中,M i+j=P i+j -1 E ij -1P i+j(x)=A i+jx)/> α iA i+j为GF(2)的32×32比特位可逆矩阵,pkey i2为第i轮对应的所述派生密钥,表示为256比特位按序分隔得到的32×8比特位数组,A i+j=pkey i2[4j,4j+1,4j+2,4j+3],α i为32比特位常量,E ij为可逆矩阵,/>为异或操作,j=0,1,2,3。
在一实施例中,所述步骤S43:利用第i轮对应的所述派生密钥,结合第i轮S盒的查表结果与第i轮运算输入数据包括的输入数据组X i,对T调用的第i轮输出数据进行置乱操作,生成生成密文数据,具体包括以下步骤:
对第i轮S盒的查表结果进行可逆仿射变换,得到Y`= (P i+4 α i`)/> Q i -1/> V i
对置乱后T调用的第i轮输入进行可逆仿射变换,得到X`=(P i+4 α i``)P i -1/> X i
T调用的第i轮输出数据进行置乱操作,得到置乱后的输出数据作为生成密文数据;
其中,V i为第i轮S盒的查表结果,Q i为32×32比特位可逆矩阵,α i`和α i``为32比特位常量,P i+4P iP i+j结构相同并且在轮变换中统一排序并有所交叉,使输入输出的P i+j可以相互抵消,为异或操作。
本实施例基于国家标准GB/T 32907-2016《信息安全技术SM4分组密码算法》所描述的算法标准实现过程,加以与工作密钥和变换密钥结合的相关变换,实现HMAC派生密钥增强安全性的白盒SM4密码算法,并将实现算法的代码存储在代码生成点的白盒库,使用安全SIM卡、安全TF卡或安全U盾等安全存储介质为通信参与方进行算法代码的安全充注和本地导入。并且通过量子密钥分发网络QKD和白盒代码生成点实现跨域的远程白盒密码算法安全分发,提升了白盒密码分发过程的安全性,降低了代码分发过程的复杂性和资源消耗。
如图2所示,本发明第二实施例提出了一种采用派生密钥增强白盒SM4密码算法的设备,所述设备包括:
密钥获取模块10,用于获取工作密钥和变换密钥,分别基于所述工作密钥和所述变换密钥生成第一轮密钥和第二轮密钥;
密钥派生模块20,用于对于每轮的所述第二轮密钥进行派生,生成每轮对应的派生密钥;
加密模块30,用于基于第i轮的运算输入数据与第i轮对应的所述第一轮密钥,得到SM4算法的加密运算中T调用的第i轮输入,生成第i轮融合所述第一轮密钥的S盒;
置乱模块40,用于利用第i轮对应的所述派生密钥对第i轮生成的S盒、T调用的第i轮运算输入数据以及T调用的第i轮输出数据分别进行置乱操作,生成用于密文数据。
本实施例提出的采用派生密钥增强白盒SM4密码算法的设备,通过增加一支变换密钥,并对变换密钥生成的第二轮密钥进行派生,产生足够数量且具备前后向安全性的派生密钥作为S盒及输入输出变换的参数,通过将S盒的变换中结合可变量,从复杂度和信息冗余度上提升白盒密码算法中密钥的破解难度,增加了白盒密码的冗余度、复杂性和安全性。
在一实施例中,所述工作密钥和所述变换密钥为通过量子密钥分发网络QKD生成并在全域同步两支128比特位的新鲜密钥。
在一实施例中,所述密钥获取模块10,包括:
第一扩展单元,用于采用SM4算法的轮密钥生成算法对所述工作密钥进行扩展,生成每轮对应的所述第一轮密钥;
第二扩展单元,用于采用SM4算法的轮密钥生成算法对所述变换密钥进行扩展,生成每轮对应的所述第二轮密钥。
在一实施例中,所述密钥派生模块20,具体用于:
基于每轮预置的随机数对每轮对应的所述第二轮密钥进行派生,生成每轮对应的派生密钥,公式表示为:
pkey i1= HMAC_SM3(rk i2,salt i1||i||“parmeter derivation”);
pkey i2= HMAC_SM3(pkey i1,salt i2||i||“parmeter derivation”||0);
式中,salt i1salt i2为第i轮预置的随机数,pkey i1pkey i2为采用SM3密码杂凑算法生成的第i轮对应的派生密钥,rk i2为第i轮对应的所述第二轮密钥,||表示为串联,“parmeter derivation”为参与变换的固定字符串,HMAC_SM3表示使用SM3算法进行带密钥的杂凑运算HMAC。
在一实施例中,所述加密模块30,具体用于:
X=X i+1 X i+2/> X i+3=(a 0a 1a 2a 3)作为SM4算法的加密运算中T调用的输入,令rk i1=(k i0k i1k i2k i3),则有:
生成第i轮融合所述第一轮密钥的S盒为:S ij(x)=Sbox(x k ij);
式中,X为运算输入数据,X i+1X i+2X i+3为第i轮运算输入数据包括的输入数据组,为异或操作,a 0a 1a 2a 3为组成32比特X的4个8比特分量;rk i1为第i轮对应的所述第一轮密钥,k i0k i1k i2k i3为所述第i轮对应的所述第一轮密钥包括的四个子密钥;T( )为合成置换函数,由线性变换L和非线性变换τ组成,Sbox( )代表标准S盒,x代表组成第i轮32比特X的4个8比特分量之一a j(j=0,1,2,3),k ij为第i轮4个子密钥之一k ij(j=0,1,2,3)。
在一实施例中,所述置乱模块40,包括:
第一置乱单元,用于利用第i轮对应的所述派生密钥对第i轮生成的S盒进行置乱操作,得到第i轮S盒的查表结果;
第二置乱单元,用于利用第i轮对应的所述派生密钥对T调用的第i轮运算输入数据进行置乱操作,置乱后T调用的第i轮输入;
第三置乱单元,用于利用第i轮对应的所述派生密钥,结合第i轮S盒的查表结果与第i轮运算输入数据包括的输入数据组X i,对T调用的第i轮输出数据进行置乱操作,生成所述白盒密码程序代码。
在一实施例中,所述第一置乱单元,具体用于:
根据第i轮对应的所述派生密钥pkey i1,生成数组P i[32]=pkey i1+Rnd iRnd i为256比特位实时产生的随机数;
根据所述数组,生成可逆矩阵E ij=P i[8j,8j+1,...,8j+7],j=0,1,2,3;
利用所述可逆矩阵E ij对第i轮生成的j个S盒S ij进行置乱操作,则置乱后的S盒表示为S` ij= Eij S ij
令第i轮置乱后的j个S盒查表后的输出为Z,则第i轮S盒的查表结果为V i=(Q i L)Z TQ i/> L为可逆矩阵Q i与线性变换L的结合,T表示矩阵转置符号。
在一实施例中,所述第二置乱单元,具体用于:
利用第i轮对应的所述派生密钥对T调用的第i轮运算输入数据进行置乱操作,置乱后T调用的第i轮输入,公式表示为:
X=X` i+1 X` i+2/> X` i+3= (M i+1/> X i+1)/>(M i+2/> X i+2)/>(M i+3/> X i+3)
式中,M i+j=P i+j -1 E ij -1P i+j(x)=A i+jx)/> α iA i+j为可逆矩阵,pkey i2为第i轮对应的所述派生密钥,A i+j=pkey i2[4j,4j+1,4j+2,4j+3],E ij为可逆矩阵,α i为常量,/>为异或操作,j=0,1,2,3。
在一实施例中,所述第三置乱单元,具体用于:
对第i轮S盒的查表结果进行可逆仿射变换,得到Y`= (P i+4 α i`)/> Q i -1/> V i
对置乱后T调用的第i轮输入进行可逆仿射变换,得到X`=(P i+4 α i``)P i -1/> X i
T调用的第i轮输出数据进行置乱操作,得到置乱后的输出数据作为所述白盒密码程序代码;
其中,V i为第i轮S盒的查表结果,Q i为可逆矩阵,α i`和α i``为常量,P i+4P i为数组且在轮变换中统一排序并有所交叉,为异或操作。
需要说明的是,本发明所述采用派生密钥增强白盒SM4密码算法的设备的其他实施例或具有实现方法可参照上述各方法实施例,此处不再赘余。
如图3所示,本发明第三实施例提出了一种白盒密码程序代码安全分发系统,所述系统包括量子密钥分发网络1,所述量子密钥分发网络1中各量子网络节点连接有对应的代码生成点2,所述代码生成点2中存储有采用如上所述的采用派生密钥增强白盒SM4密码算法的方法生成的白盒密码程序代码,每个代码生成点2连接有对应的通信参与方3,所述通信参与方3采用所述白盒密码程序代码进行数据加解密通信。
具体地,通信参与方包括通信发起方和通信接收方,用于使用白盒密码算法参与加密通信的软硬件节点,使用安全SIM卡、安全TF卡或安全U盾等安全存储介质将对应的白盒代码生成点中的白盒SM4密码算法代码充注并导入到本地存储和运行空间。
白盒代码生成点,用于根据不同的密钥生成不同的白盒密码程序代码,压缩后经安全存储介质向通信参与方进行白盒代码充注或分发。
量子密钥分发网络包含量子网络节点和量子网络链路控制中心,实现量子密钥生成和分发、量子密钥中继、量子密钥提供等服务;其中量子网络节点,用于存储生成的量子密钥,接收密钥代理的密钥申请,向密钥代理提供密钥或直接提供密钥充注和密钥分发服务;量子网络链路控制中心,用于按照量子网络节点ID建立节点间的量子密钥分发及中继链路。
进一步地,所述系统还设置有密钥代理,用于在通信参与方不能直接在量子密钥分发网络的节点进行密钥充注和密钥分发的情况下提供密钥充注和密钥分发的代理功能。
在一实施例中,如图4所示,本实施例提出的白盒密码程序代码安全分发系统的工作流程为:
(1)通过量子密钥分发网络QKD生成并在全域同步两支128比特位的工作密钥K 1和变换密钥K 2并传递给连接各QKD节点的白盒代码生成装置。
(2)白盒代码生成装置基于K 1K 2生成32比特位轮密钥rk i1rk i2i=0,1,2,…,31,并对每轮的轮密钥rk i2进行派生。
(3)在每一轮SM4算法的加密运算中,生成S ij(x)=Sbox(x k ij)i=0,1,2,…,31,j=0,1,2,3,即每轮的S盒与密钥相关,每轮4个8比特位子密钥对应4个S盒,一共形成32×4个融合轮密钥的S盒。
(4)对第i轮的4个S盒S ij进行置乱操作,得到第i轮S盒的查表结果。
(5)对T调用的第i轮输入数据进行输入置乱操作,得到置乱后T调用的第i轮输入。
(6)对T调用的第i轮输出数据进行输出置乱操作,输出Xi+4=X` Y`
本实施例通过量子密钥分发网络QKD和白盒代码生成点实现跨域的远程白盒密码算法安全分发,提升了白盒密码分发过程的安全性,降低了代码分发过程的复杂性和资源消耗;并通过对变换后的轮密钥采用基于SM3算法的带密钥杂凑运算产生足够数量且具备前后向安全性的派生密钥作为S盒输入输出变换的参数,从复杂度和信息冗余度上提升了白盒密码算法中密钥的破解难度。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

Claims (10)

1.一种采用派生密钥增强白盒SM4密码算法的方法,其特征在于,所述方法包括:
获取工作密钥和变换密钥,分别基于所述工作密钥和所述变换密钥生成第一轮密钥和第二轮密钥;
对于每轮的所述第二轮密钥进行派生,生成每轮对应的派生密钥,包括:
基于每轮预置的随机数对每轮对应的所述第二轮密钥进行派生,生成每轮对应的派生密钥,公式表示为:
pkey i1 = HMAC_SM3(rk i2,salt i1||i||“parmeter derivation”);
pkey i2 = HMAC_SM3(pkey i1,salt i2||i||“parmeter derivation”||0);
式中,salt i1salt i2为第i轮预置的随机数,pkey i1pkey i2为采用SM3密码杂凑算法生成的第i轮对应的派生密钥,rk i2为第i轮对应的所述第二轮密钥,||表示为串联,“parmeterderivation”为参与变换的固定字符串,HMAC_SM3表示使用SM3算法进行带密钥的杂凑运算HMAC;
基于第i轮的运算输入数据与第i轮对应的所述第一轮密钥,得到SM4算法的加密运算中T调用的第i轮输入,生成第i轮融合所述第一轮密钥的S盒;
利用第i轮对应的所述派生密钥对第i轮生成的S盒、T调用的第i轮运算输入数据以及T调用的第i轮输出数据分别进行置乱操作,生成密文数据。
2.如权利要求1所述的采用派生密钥增强白盒SM4密码算法的方法,其特征在于,所述工作密钥和所述变换密钥均由量子密钥分发网络生成。
3.如权利要求1所述的采用派生密钥增强白盒SM4密码算法的方法,其特征在于,所述分别基于所述工作密钥和所述变换密钥生成第一轮密钥和第二轮密钥,包括:
采用SM4算法的轮密钥生成算法对所述工作密钥进行扩展,生成每轮对应的所述第一轮密钥;
采用SM4算法的轮密钥生成算法对所述变换密钥进行扩展,生成每轮对应的所述第二轮密钥。
4.如权利要求1所述的采用派生密钥增强白盒SM4密码算法的方法,其特征在于,所述基于第i轮的运算输入数据与第i轮对应的所述第一轮密钥,得到SM4算法的加密运算中T调用的第i轮输入,生成第i轮融合所述第一轮密钥的S盒,包括:
X = X i+1 X i+2/> X i+3 =(a 0a 1a 2a 3)作为SM4算法的加密运算中T调用的输入,令rk i1=(k i0k i1k i2k i3),则有:
生成第i轮融合所述第一轮密钥的S盒为:S ij(x)= Sbox (x k ij);
式中,X为运算输入数据,X i+1X i+2X i+3为第i轮运算输入数据包括的输入数据组,为异或操作,a 0a 1a 2a 3为组成32比特X的4个8比特分量;rk i1为第i轮对应的所述第一轮密钥,k i0k i1k i2k i3为所述第i轮对应的所述第一轮密钥包括的四个子密钥;T( )为合成置换函数,由线性变换L和非线性变换τ组成,Sbox ( )代表标准S盒,x代表组成第i轮32比特X的4个8比特分量之一a jk ij为第i轮4个子密钥之一,j=0,1,2,3。
5.如权利要求1所述的采用派生密钥增强白盒SM4密码算法的方法,其特征在于,所述利用第i轮对应的所述派生密钥对第i轮生成的S盒、T调用的第i轮运算输入数据以及T调用的第i轮输出数据分别进行置乱操作,生成密文数据,包括:
利用第i轮对应的所述派生密钥对第i轮生成的S盒进行置乱操作,得到第i轮S盒的查表结果;
利用第i轮对应的所述派生密钥对T调用的第i轮运算输入数据X进行置乱操作,得到置乱后T调用的第i轮输入;
利用第i轮对应的所述派生密钥,结合第i轮S盒的查表结果与第i轮运算输入数据包括的输入数据组X i,对T调用的第i轮输出数据进行置乱操作,生成所述密文数据。
6.如权利要求5所述的采用派生密钥增强白盒SM4密码算法的方法,其特征在于,所述利用第i轮对应的所述派生密钥对第i轮生成的S盒进行置乱操作,得到第i轮S盒的查表结果,包括:
根据第i轮对应的所述派生密钥pkey i1,生成数组P i[32]=pkey i1+Rnd iRnd i为256比特位实时产生的随机数;
根据所述数组,生成可逆矩阵E ij=P i[8j,8j+1,...,8j+7],j=0,1,2,3;
利用所述可逆矩阵E ij对第i轮生成的j个S盒S ij进行置乱操作,则置乱后的S盒表示为S ` ij = Eij S ij
令第i轮置乱后的j个S盒查表后的输出为Z,则第i轮S盒的查表结果为V i=(Q i L)Z TQ i/> L为可逆矩阵Q i与线性变换L的结合,T表示转置符号。
7.如权利要求5所述的采用派生密钥增强白盒SM4密码算法的方法,其特征在于,所述利用第i轮对应的所述派生密钥对T调用的第i轮运算输入数据X进行置乱操作,置乱后T调用的第i轮输入,公式表示为:
X=X` i+1 X` i+2/> X` i+3= (M i+1/> X i+1)/>(M i+2/> X i+2)/>(M i+3/> X i+3)
式中,M i+j = P i+j -1 E ij -1P i+j(x)=A i+jx)/> α iA i+j为可逆矩阵,pkey i2为第i轮对应的所述派生密钥,A i+j= pkey i2[4j,4j+1,4j+2,4j+3],α i为常量,E ij为可逆矩阵,/>为异或操作,j=0,1,2,3。
8.如权利要求5所述的采用派生密钥增强白盒SM4密码算法的方法,其特征在于,所述利用第i轮对应的所述派生密钥,结合第i轮S盒的查表结果与第i轮运算输入数据包括的输入数据组X i,对T调用的第i轮输出数据进行置乱操作,生成所述密文数据,包括:
对第i轮S盒的查表结果进行可逆仿射变换,得到Y` = (P i+4 α i`)/> Q i -1/> V i
对置乱后T调用的第i轮输入进行可逆仿射变换,得到X`=(P i+4 α i``) P i -1/> X i
T调用的第i轮输出数据进行置乱操作,得到置乱后的输出数据作为白盒密码程序代码;
其中,V i为第i轮S盒的查表结果,Q i为可逆矩阵,α i`和α i``为常量,P i+4P i为数组且在轮变换中统一排序并有所交叉,为异或操作。
9.一种采用派生密钥增强白盒SM4密码算法的设备,其特征在于,包括:
密钥获取模块,用于获取工作密钥和变换密钥,分别基于所述工作密钥和所述变换密钥生成第一轮密钥和第二轮密钥;
密钥派生模块,用于对于每轮的所述第二轮密钥进行派生,生成每轮对应的派生密钥,包括:
基于每轮预置的随机数对每轮对应的所述第二轮密钥进行派生,生成每轮对应的派生密钥,公式表示为:
pkey i1 = HMAC_SM3(rk i2,salt i1||i||“parmeter derivation”);
pkey i2 = HMAC_SM3(pkey i1,salt i2||i||“parmeter derivation”||0);
式中,salt i1salt i2为第i轮预置的随机数,pkey i1pkey i2为采用SM3密码杂凑算法生成的第i轮对应的派生密钥,rk i2为第i轮对应的所述第二轮密钥,||表示为串联,“parmeterderivation”为参与变换的固定字符串,HMAC_SM3表示使用SM3算法进行带密钥的杂凑运算HMAC;
加密模块,用于基于第i轮的运算输入数据与第i轮对应的所述第一轮密钥,得到SM4算法的加密运算中T调用的第i轮输入,生成第i轮融合所述第一轮密钥的S盒;
置乱模块,用于利用第i轮对应的所述派生密钥对第i轮生成的S盒、T调用的第i轮运算输入数据以及T调用的第i轮输出数据分别进行置乱操作,生成密文数据。
10.一种白盒密码程序代码安全分发系统,其特征在于,所述系统包括量子密钥分发网络,所述量子密钥分发网络中各量子网络节点连接有对应的代码生成点,所述代码生成点中存储有采用如权利要求1~8任一项所述的采用派生密钥增强白盒SM4密码算法的方法生成的白盒密码程序代码,每个代码生成点经安全存储介质连接有对应的通信参与方用于为通信参与方充注白盒密码程序代码,所述通信参与方采用所述白盒密码程序代码进行数据加解密通信。
CN202310912820.7A 2023-07-25 2023-07-25 采用派生密钥增强白盒sm4密码算法的方法及设备 Active CN116633529B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310912820.7A CN116633529B (zh) 2023-07-25 2023-07-25 采用派生密钥增强白盒sm4密码算法的方法及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310912820.7A CN116633529B (zh) 2023-07-25 2023-07-25 采用派生密钥增强白盒sm4密码算法的方法及设备

Publications (2)

Publication Number Publication Date
CN116633529A CN116633529A (zh) 2023-08-22
CN116633529B true CN116633529B (zh) 2023-10-31

Family

ID=87592501

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310912820.7A Active CN116633529B (zh) 2023-07-25 2023-07-25 采用派生密钥增强白盒sm4密码算法的方法及设备

Country Status (1)

Country Link
CN (1) CN116633529B (zh)

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5778074A (en) * 1995-06-29 1998-07-07 Teledyne Industries, Inc. Methods for generating variable S-boxes from arbitrary keys of arbitrary length including methods which allow rapid key changes
CN1425987A (zh) * 2001-12-10 2003-06-25 中国科学院软件研究所 强化错乱的分组密码加密方法
CN103634103A (zh) * 2013-11-01 2014-03-12 郑州轻工业学院 用于对称性密钥交换协议的虚s-盒的构造方法与交换方法
EP2738974A1 (fr) * 2012-11-29 2014-06-04 Spirtech Procédé de dérivation de clés cryptographiques multiples à partir d'une clé maitresse dans un microprocesseur de sécurité
CN106685662A (zh) * 2016-12-23 2017-05-17 中国电子科技集团公司第三十研究所 一种基于余数系统的商密sm2加密算法的白盒软件实现方法
CN108123794A (zh) * 2017-12-20 2018-06-05 上海众人网络安全技术有限公司 白盒密钥的生成方法和加密方法、装置及系统
CN108809626A (zh) * 2018-05-30 2018-11-13 北京安如山文化科技有限公司 一种白盒sm4密码算法方案与系统
CN110278072A (zh) * 2019-07-11 2019-09-24 北京电子科技学院 一种16轮sm4-128/128白盒密码实现方法
CN111464301A (zh) * 2020-04-28 2020-07-28 郑州信大捷安信息技术股份有限公司 一种密钥管理方法及系统
CN111800255A (zh) * 2020-06-08 2020-10-20 北京电子科技学院 一种适用于分组密码白盒化的动态白盒库生成和使用方法
CN112187461A (zh) * 2020-09-28 2021-01-05 中国人民解放军海军航空大学 一种基于加密算法的武器装备数据混合加密方法
CN114513311A (zh) * 2022-02-25 2022-05-17 上海芯钛信息科技有限公司 一种改进消息认证码算法的方法、装置、设备和介质
CN115412288A (zh) * 2022-07-15 2022-11-29 中共中央办公厅电子科技学院(北京电子科技学院) 一种密钥管理方法及装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9838198B2 (en) * 2014-03-19 2017-12-05 Nxp B.V. Splitting S-boxes in a white-box implementation to resist attacks
US9602273B2 (en) * 2015-05-06 2017-03-21 Nxp B.V. Implementing key scheduling for white-box DES implementation
US11876889B2 (en) * 2015-09-03 2024-01-16 Fiske Software, Llc NADO cryptography with key generators

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5778074A (en) * 1995-06-29 1998-07-07 Teledyne Industries, Inc. Methods for generating variable S-boxes from arbitrary keys of arbitrary length including methods which allow rapid key changes
CN1425987A (zh) * 2001-12-10 2003-06-25 中国科学院软件研究所 强化错乱的分组密码加密方法
EP2738974A1 (fr) * 2012-11-29 2014-06-04 Spirtech Procédé de dérivation de clés cryptographiques multiples à partir d'une clé maitresse dans un microprocesseur de sécurité
CN103634103A (zh) * 2013-11-01 2014-03-12 郑州轻工业学院 用于对称性密钥交换协议的虚s-盒的构造方法与交换方法
CN106685662A (zh) * 2016-12-23 2017-05-17 中国电子科技集团公司第三十研究所 一种基于余数系统的商密sm2加密算法的白盒软件实现方法
CN108123794A (zh) * 2017-12-20 2018-06-05 上海众人网络安全技术有限公司 白盒密钥的生成方法和加密方法、装置及系统
CN108809626A (zh) * 2018-05-30 2018-11-13 北京安如山文化科技有限公司 一种白盒sm4密码算法方案与系统
CN110278072A (zh) * 2019-07-11 2019-09-24 北京电子科技学院 一种16轮sm4-128/128白盒密码实现方法
CN111464301A (zh) * 2020-04-28 2020-07-28 郑州信大捷安信息技术股份有限公司 一种密钥管理方法及系统
CN111800255A (zh) * 2020-06-08 2020-10-20 北京电子科技学院 一种适用于分组密码白盒化的动态白盒库生成和使用方法
CN112187461A (zh) * 2020-09-28 2021-01-05 中国人民解放军海军航空大学 一种基于加密算法的武器装备数据混合加密方法
CN114513311A (zh) * 2022-02-25 2022-05-17 上海芯钛信息科技有限公司 一种改进消息认证码算法的方法、装置、设备和介质
CN115412288A (zh) * 2022-07-15 2022-11-29 中共中央办公厅电子科技学院(北京电子科技学院) 一种密钥管理方法及装置

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
"A Secure Implementation of White-Box AES";Yaying Xiao;《2009 2nd International Conference on Computer Science and its Applications》;全文 *
SM4算法的一种新型白盒实现;姚思;陈杰;;密码学报(03);全文 *
基于白盒密码的DCAS终端安全芯片方案;许涛;武传坤;张卫明;;计算机研究与发展(11);全文 *
白盒攻击环境下的任务规划系统安全传输方法;崔西宁;董星廷;牟明;吴姣;;计算机应用(02);全文 *

Also Published As

Publication number Publication date
CN116633529A (zh) 2023-08-22

Similar Documents

Publication Publication Date Title
JP4828082B2 (ja) 対称キー暗号用の置換ボックス
CN106411518B (zh) 一种密钥不固定的对称白盒加密方法和装置
Saraf et al. Text and image encryption decryption using advanced encryption standard
CN104488218B (zh) 加密装置、解密装置、加密方法、解密方法
US20080025496A1 (en) Encrypting a plaintext message with authentication
US6301362B1 (en) Method and apparatus for cryptographically transforming an input block into an output block
KR20120089396A (ko) 암호화 장치 및 그 암호화 방법
CN112383388B (zh) 一种基于云计算大数据的双秘钥加密系统及方法
CN110795762B (zh) 基于流密码的保留格式加密方法
CN106850603A (zh) 一种白盒密码双向身份认证方法、终端、服务端及系统
CN109861809B (zh) 一种实用化的分组随机加解密方法
CN106067878A (zh) 一种网络数据加密传输方法
CN111010276A (zh) 一种多方联合sm9密钥生成、密文解密方法与介质
CN110855425A (zh) 一种轻量级多方协同sm9密钥生成、密文解密方法与介质
US11057193B2 (en) Enhanced randomness for digital systems
Hoobi Efficient hybrid cryptography algorithm
CN116980194A (zh) 一种基于云边端协同的安全高效数据传输方法及其系统
CN116707804A (zh) 增强ff1格式保留加密安全性的方法及设备
Singh et al. An ordeal random data encryption scheme (ORDES)
CN116633529B (zh) 采用派生密钥增强白盒sm4密码算法的方法及设备
US20230403134A1 (en) Method for processing encrypted data
Xiao et al. Data transmission scheme based on AES and polar codes
Hussein et al. An enhanced ElGamal cryptosystem for image encryption and decryption
AU2019381522A1 (en) Encryption system and method employing permutation group-based encryption technology
CN117114959B (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
GR01 Patent grant
GR01 Patent grant