CN107070636B - 一种标准密文输出格式的商密sm4算法的白盒软件实现方法 - Google Patents

一种标准密文输出格式的商密sm4算法的白盒软件实现方法 Download PDF

Info

Publication number
CN107070636B
CN107070636B CN201611202361.XA CN201611202361A CN107070636B CN 107070636 B CN107070636 B CN 107070636B CN 201611202361 A CN201611202361 A CN 201611202361A CN 107070636 B CN107070636 B CN 107070636B
Authority
CN
China
Prior art keywords
lookup table
algorithm
round
key
box
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
CN201611202361.XA
Other languages
English (en)
Other versions
CN107070636A (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.)
CETC 30 Research Institute
Original Assignee
CETC 30 Research Institute
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 CETC 30 Research Institute filed Critical CETC 30 Research Institute
Priority to CN201611202361.XA priority Critical patent/CN107070636B/zh
Publication of CN107070636A publication Critical patent/CN107070636A/zh
Application granted granted Critical
Publication of CN107070636B publication Critical patent/CN107070636B/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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3093Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving Lattices or polynomial equations, e.g. NTRU 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/0442Network 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 asymmetric encryption, i.e. different keys 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/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • 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/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • 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
    • H04L9/0869Generation 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)
  • Computing Systems (AREA)
  • Algebra (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

本发明提供了一种标准密文输出格式的商密SM4算法的白盒软件实现方法。本发明中,需要进行36轮运算,每轮运算将分为三层,每一层利用输入或者输出变换进行混淆,层与层之间的输入输出变换部分抵消,含有密钥的那一层运算通过查找表来实现,密钥不显式的出现在算法中,且无法通过分析中间数据获取密钥。本发明设计的SM4白盒算法将密钥隐藏在查找表中,且利用线性变换对查找表进行混淆,采用线性变换的复合来抵抗查找表的合并分析,达到有效保护密钥的目的。

Description

一种标准密文输出格式的商密SM4算法的白盒软件实现方法
技术领域
本发明涉及信息安全技术领域,特别是涉及一种标准密文输出格式的商密SM4算法的白盒软件实现方法。
背景技术
随着网络和计算机技术应用的快速发展,信息安全问题已经成为关乎国计民生的大事。传统密码学建立在黑盒模型下,该模型假设算法运行在一个可信的终端,其运行子结果、内存等均处在不可查看和不可更改的可信任环境中。然而,密码学的应用已经遍及到人们日常生活的各个角落,例如电子邮件、网页访问、数字内容分发、网络交易、电子政务等。这些应用虽然在一个标准的终端上执行,像手机、智能卡等,但却使用在一个不可信任的环境中,软件加解密的动态过程对于攻击者是可见的,他们很容易就获得密钥信息。传统的黑盒模型较少考虑这些问题,它已经不再满足越来越高的安全要求。
SM4算法是国家商用密码管理局制定的商用分组密码标准,主要用于无线局域网产品,其运行环境往往是不安全的。为了保护无线局域网产品中的密钥安全,设计能够抵抗白盒攻击的SM4算法是十分必要的。
2002年,Chow等人提出了白盒攻击环境的概念,允许攻击者对加密软件及其运行环境拥有完全的控制能力、与软件的执行者拥有同等的权利。白盒攻击环境颠覆了传统密码学对攻击者能力的诸多限制,更加符合实际生活中的安全威胁。我们将能够抵抗白盒攻击的密码算法及其实现称为白盒密码。随后,Chow等人提出了AES白盒算法和DES白盒算法。不久,Jacob、Wyseur、Goubin、Billet等人采用注入错误攻击、截断差分分析、合并查找表等技术对AES白盒算法和DES白盒算法进行攻击,证明了Chow等人提出的白盒算法是不安全的。虽然白盒密码算法一直是学术界讨论的热点,但却一直未有安全的白盒密码算法出现。
综上,目前并没有安全的SM4白盒算法被提出,这不利于保护无线局域网产品的密钥安全,产品中的密码模块存在着巨大的安全风险。
发明内容
为解决上述问题,本发明提供了一种标准密文输出格式的商密SM4算法的白盒软件实现方法,包括如下步骤:
步骤一:产生一组128bit的字符串作为根密钥。
步骤二:将128bit的根密钥按照标准SM4密钥扩展算法扩展为32个32bit的轮密钥,设为rk0,rk1,...,rk31,分别用于第1轮到第32轮的计算,第33、34、35、36轮计算的密钥分别为r28,r29,r30,r31
步骤三:随机生成420个8×8的可逆矩阵,分别记为Mi,i=1,...,420。
步骤四:定义四类矩阵,分别为P、Ei、Qi、Rk。令:
P=diag(P1,1,P1,2,P1,3,P1,4),
Ei=diag(Ei,1,Ei,2,Ei,3,Ei,4),(i=1、2、3......36);
Qj=diag(Qj,1,Qj,2,Qj,3,Qj,4),(j=1、2、3......36);
Rk=diag(Rk,1,Rk,2,Rk,3,Rk,4),(k=1、2、3......32);
其中P1,1=M1,P1,2=M2,P1,3=M3,P1,4=M4,Ei,l=M4(i+1)+l,Qj,l=M4(j+37)+l,Rk,l=M4(k+73)+l,i=1,...,36,j=1,...,36,k=1,...,32,l=1,...,4;
步骤五:产生复合线性变化Ai,j,i=1,...,36,j=1,2,3;
步骤六:构造第一个查找表,具体方法为:
步骤6.1:设在第i轮计算中,第一个查找表的输入为yi=(yi,1,yi,2,yi,3,yi,4)T
第一个查找表的构建方法如下:
首先,yi经过线性变换作用,输出为:
其中
步骤6.2:将本轮计算的密钥rki隐藏在S盒中,
经过S盒作用后的输出为:
步骤6.3:计算Qi*P*L*(zi,1,zi,2,zi,3,zi,4)T
记Hi=QiPL=(Hi,1Hi,2Hi,3Hi,4),Hij为32*8的矩阵,则:
据上,可获得4个8bit到32bit的查找表:yi,j(→zi,j)→vi,j,j=1,2,3,4。
第一个查找表其中Hi=QiPL=(Hi,1Hi,2Hi,3Hi,4),Hi,j为32*8的矩阵,i=1,...36,j=1,...,4。
步骤七:构造第二个查找表,具体方法为:
设在第i轮中,第二个查找表的输入为si=(si,1,si,2,si,3,si,4)和ti=(ti,1,ti,2,ti,3,ti,4)。
对于第1轮到第4轮计算,第二个查找表的构建方法如下:
步骤7.1:计算RiP(si)和
RiP(si)=(Ri,1P1,1si,1,Ri,2P1,2si,2,Ri,3P1,3si,3,Ri,4P1,4si,4);
步骤7.2:计算
对于第5轮到第32轮,第二个查找表的构建方法如下:
步骤7.1:计算
步骤7.2:计算
对于第33轮到第36轮,第二个查找表的构建方法如下:
步骤7.1:计算
步骤7.2:计算
据上,得到第二个查找表的构造为
步骤八:设明文输入为(x0,x1,x2,x3),经过36轮运算,最后输出的密文为(x39,x38,x37,x36),每一轮根据已经建立的复合线性变化Ai,j,第一个查找表及第二个查找表按如下步骤进行加密运算:
设第i轮的输入为(xi-1,xi,xi+1,xi+2),其中xi-1,xi,xi+1,xi+2都为32bit。
步骤8.1:利用复合线性变换Ai,1,Ai,2,Ai,3分别左乘xi,xi+1,xi+2,然后将结果进行异或,即:
步骤8.2:计算yi=(yi,1,yi,2,yi,3,yi,4)T经过查找表一变换后的结果,即:
步骤8.3:计算si=xi-1=(si,1,si,2,si,3,si,4)T和ti=(ti,1,ti,2,ti,3,ti,4)T经过查找表二变换后的结果,即:
经过上述3步变换后,第i轮的输出为
xi+3=(xi+3,1,xi+3,2,xi+3,3,xi+4,4)。
进一步的,步骤一中是利用随机数发生器产生根密钥。
进一步的,步骤二中是利用标准SM4算法的密钥扩展算法将128bit的根密钥扩展32个32bit的密钥。
本发明的有益效果为:
1.安全性:本发明设计的SM4白盒算法将密钥隐藏在查找表中,且利用线性变换对查找表进行混淆,采用线性变换的复合来抵抗查找表的合并分析,到达有效保护密钥的目的。
2.效率高:原始SM4算法有大量矩阵乘法运算,而本发明设计的SM4白盒算法实现时主要采用查找表和异或运算,及少量的矩阵乘法运算,在执行效率上优于标准SM4算法。
3.通用性强:本发明设计的SM4白盒算法和标准的SM4算法拥有相同的密文输出格式,故任何经过标准SM4加密后的数据可以直接使用本发明所设计的SM4白盒算法进行解密,或任何经过本发明所设计的SM4白盒算法进行加密后的数据可以直接使用标准SM4算法进行解密。
附图说明
图1为第i+1轮计算的实现加解密过程简略图,i=0,...,35。
具体实施方式
本发明的设计构思是:将算法的每一轮分为三层,每一层利用输入或者输出变换进行混淆,层与层之间的输入输出变换部分抵消,含有密钥的那一层运算通过查找表来实现,密钥不显式的出现在算法中,且无法通过分析中间数据获取密钥。为了保证算法的输出为标准密文格式,同时保护算法初始轮和末轮密钥的安全性,我们在第一轮加入混淆矩阵P。然而,由于S盒非线性变换在经过异或、移位等线性操作之后将无法恢复,故在该矩阵经过S盒之前一定要将其先抵消,经过S盒之后再加入。
本发明包括如下步骤:
步骤一:产生一组128bit的字符串作为根密钥。
优选的,采用随机数发生器产生一组128bit的字符串作为根密钥Key。可以将用户或者设备信息进行处理,作为随机数生成的种子。
步骤二:将128bit的根密钥按照标准SM4密钥扩展算法扩展为32个32bit的轮密钥,设为rk0,rk1,...,rk31,分别用于第1轮到第32轮的计算,第33、34、35、36轮计算的密钥分别为r28,r29,r30,r31
原始SM4算法共包含32轮,本发明共包含36轮,第33轮到36轮的作用是保证白盒SM4算法的密文输出和标准SM4算法密文输出相同,第33轮到36轮使用的密钥和原始SM4算法的第29轮到第32轮相同。
设原始SM4算法的轮密钥为r0,r1,...,r31,明文为x=(x0,x1,x2,x3),原始SM4算法每一轮的输出分别为x4,x5,...,x35,满足:
其中L为非线性变换 S为非线性变换
S(a0||a1||a2||a3)=(S(a0),S(a1),S(a2),S(a3)),xi,ri都为32bit。最后输出的密文为y=(x35,x34,x33,x32)。
本发明的SM4白盒算法中,将密钥隐藏在S盒中生成T盒,T盒的定义如下:
i=0,....,31,
其中x为32bit。
步骤三:随机生成420个8×8的可逆矩阵,分别记为Mi,i=1,...,420。
步骤四:定义四类矩阵,分别为P、Ei、Qj、Rk
令P=diag(M1,M2,M3,M4);
Ei=diag(M4(i+1)+1,...,M4(i+1)+4)(i=1、2、3......36);
Qi=diag(M4(i+37)+1,...,M4(i+37)+4)(j=1、2、3......36;
Rk=diag(M4(i+73)+1,...,M4(i+73)+4)(k=1、2、3......32)。
其中P1,1=M1,P1,2=M2,P1,3=M3,P1,4=M4,Ei,l=M4(i+1)+l,Qj,l=M4(j+37)+l,Rk,l=M4(k+73)+l,i=1,...,36,j=1,...,36,k=1,...,32,l=1,...,4。
在本发明中所使用的P,E1,...,E36,Q1,...,Q36,R1,...,R32均由4个8×8的可逆矩阵构成,故需要随机生成(1+36+36+32)×4=420个。
步骤五:产生复合线性变化Ai,j,i=1,...,36,j=1,2,3。
步骤六:构造第一个查找表,具体方法为:
步骤6.1:设在第i轮计算中,第一个查找表的输入为yi=(yi,1,yi,2,yi,3,yi,4)T
第一个查找表的构建方法如下:
首先,yi经过线性变换作用,输出为:
其中P1j,Eij为8*8的可逆线性变换,j=1,...,4。
步骤6.2:设经过S盒作用后的输出为:
步骤6.3计算Qi*P*L*(zi,1,zi,2,zi,3,zi,4)T
记Hi=QiPL=(Hi,1Hi,2Hi,3Hi,4),Hij为32*8的矩阵,则:
据上,可获得4个8bit到32bit的查找表:yij(→zij)→vij,j=1,2,3,4。
第一个查找表其中Hi=QiPL=(Hi,1Hi,2Hi,3Hi,4),Hij为32*8的矩阵,i=1,...36,j=1,...,4。
步骤7.1:计算RiP(si)和
RiP(si)=(Ri,1P1,1si,1,Ri,2P1,2si,2,Ri,3P1,3si,3,Ri,4P1,4si,4);
步骤7.2:计算
对于第5轮到第32轮,第二个查找表的构建方法如下:
步骤7.1:计算
步骤7.2:计算
对于第33轮到第36轮,第二个查找表的构建方法如下:
步骤7.1:计算
步骤7.2:计算
据上,得到第二个查找表的构造为
步骤八:设明文输入为(x0,x1,x2,x3),经过36轮运算,最后输出的密文为(x39,x38,x37,x36),每一轮根据已经建立的复合线性变化Ai,j,第一个查找表及第二个查找表按如下步骤进行加密运算:
设第i轮的输入为(xi-1,xi,xi+1,xi+2),其中xi-1,xi,xi+1,xi+2都为32bit。
步骤8.1:利用复合线性变换Ai,1,Ai,2,Ai,3分别左乘xi,xi+1,xi+2,然后将结果进行异或,即:
步骤8.2:计算yi=(yi,1,yi,2,yi,3,yi,4)T经过查找表一变换后的结果,即:
步骤8.3:计算si=xi-1=(si,1,si,2,si,3,si,4)T和ti=(ti,1,ti,2,ti,3,ti,4)T经过查找表二变换后的结果,即:
经过上述3步变换后,第i轮的输出为xi+3=(xi+3,1,xi+3,2,xi+3,3,xi+4,4)。
为了方便对上述算法的进一步理解,下面结合图1对本发明的算法构建进行描述:
将算法的每一轮分为三步,第一步为两个线性变换的复合运算,第二、三步都为查找表运算。每一轮算法结构包含两个虚线框,虚线框中的运算以表的方式进行存储。第一个虚线框需要4个8入32出的查找表,第二个虚线框需要4个16入8出的表。
第一层的线性变换、第二层的查找表、及第三层的查找表的构造方式如前所述。算法每一轮的步骤如下:
对于第i+1轮的输入xi,xi+1,xi+2,xi+3,首先将(xi+1,xi+2,xi+3)经过线性变换Ai+1,1,Ai+1,2,Ai+1,3的作用并求和后计算出第一步运算结果yi=(yi,1,yi,2,yi,3,yi,4),然后将yi通过查找表一
计算出vi,1,vi,2,vi,3,vi,4,求和得到第二步输出最后将xi和si作为第三步的输入利用查找表二计算出xi+4
将明文(x0,x1,x2,x3)按上面的步骤经过36轮变换为密文(x39,x38,x37,x36)。
算法每一轮的第一层存储3个32*32的可逆矩阵,第二层存储4个8bit到32bit的查找表,第三层存储4个16bit到8bit查找表,每一层需要的存储空间为:
3×32×32+4×28×32+4×216×8bit=260.375KB,
整个SM4白盒算法需要的存储空间为36×260.375KB≈9.15M。

Claims (3)

1.一种标准密文输出格式的商密SM4算法的白盒软件实现方法,其特征在于,包括如下步骤:
步骤一:产生一组128bit的字符串作为根密钥;
步骤二:将128bit的根密钥按照标准SM4密钥扩展算法扩展为32个32bit的轮密钥,设为rk0,rk1,...,rk31,分别用于第1轮到第32轮的计算,第33、34、35、36轮计算的密钥分别为r28,r29,r30,r31
步骤三:随机生成420个8×8的可逆矩阵,分别记为Mi,i=1,...,420;
步骤四:定义四类矩阵,分别为P、Ei、Qj、Rk;令:
P=diag(P1,1,P1,2,P1,3,P1,4),
Ei=diag(Ei,1,Ei,2,Ei,3,Ei,4),(i=1、2、3......36);
Qj=diag(Qj,1,Qj,2,Qj,3,Qj,4),(j=1、2、3......36);
Rk=diag(Rk,1,Rk,2,Rk,3,Rk,4),(k=1、2、3......32);
其中P1,1=M1,P1,2=M2,P1,3=M3,P1,4=M4,Ei,l=M4(i+1)+l,Qj,l=M4(j+37)+l,Rk,l=M4(k+73)+l,i=1,...,36,j=1,...,36,k=1,...,32,l=1,...,4;
步骤五:产生复合线性变化Ai,j,i=1,...,36,j=1,2,3;
步骤六:构造第一个查找表,具体方法为:
步骤6.1:设在第i轮计算中,第一个查找表的输入为yi=(yi,1,yi,2,yi,3,yi,4)T
第一个查找表的构建方法如下:
首先,yi经过线性变换作用,输出为:
其中
步骤6.2:将本轮计算的密钥rki隐藏在S盒中,
经过S盒作用后的输出为:
步骤6.3:计算Qi*P*L*(zi,1,zi,2,zi,3,zi,4)T
记Hi=QiPL=(Hi,1Hi,2Hi,3Hi,4),Hi,j为32*8的矩阵,则:
据上,可获得4个8bit到32bit的查找表:yi,j(→zi,j)→vi,j,j=1,2,3,4;
第一个查找表其中Hi=QiPL=(Hi,1Hi, 2Hi,3Hi,4),Hi,j为32*8的矩阵,i=1,...36,j=1,...,4;
步骤七:构造第二个查找表,具体方法为:
设在第i轮中,第二个查找表的输入为si=(si,1,si,2,si,3,si,4)和ti=(ti,1,ti,2,ti,3,ti,4);
对于第1轮到第4轮计算,第二个查找表的构建方法如下:
步骤7.1:计算RiP(si)和
RiP(si)=(Ri,1P1,1si,1,Ri,2P1,2si,2,Ri,3P1,3si,3,Ri,4P1,4si,4);
步骤7.2:计算
对于第5轮到第32轮,第二个查找表的构建方法如下:
步骤7.1:计算
步骤7.2:计算
对于第33轮到第36轮,第二个查找表的构建方法如下:
步骤7.1:计算
步骤7.2:计算
据上,得到第二个查找表的构造为
步骤八:设明文输入为(x0,x1,x2,x3),经过36轮运算,最后输出的密文为(x39,x38,x37,x36),每一轮根据已经建立的复合线性变化Ai,j,第一个查找表及第二个查找表按如下步骤进行加密运算:
设第i轮的输入为(xi-1,xi,xi+1,xi+2),其中xi-1,xi,xi+1,xi+2都为32bit;
步骤8.1:利用复合线性变换Ai,1,Ai,2,Ai,3分别左乘xi,xi+1,xi+2,然后将结果进行异或,即:
步骤8.2:计算yi=(yi,1,yi,2,yi,3,yi,4)T经过查找表一变换后的结果,即:
步骤8.3:计算si=xi-1=(si,1,si,2,si,3,si,4)T和ti=(ti,1,ti,2,ti,3,ti,4)T经过查找表二变换后的结果,即:
经过上述3步变换后,第i轮的输出为xi+3=(xi+3,1,xi+3,2,xi+3,3,xi+4,4)。
2.如权利要求1所述的标准密文输出格式的商密SM4算法的白盒软件实现方法,其特征在于,步骤一中是利用随机数发生器产生根密钥。
3.如权利要求1所述的标准密文输出格式的商密SM4算法的白盒软件实现方法,其特征在于,步骤二中是利用标准SM4算法的密钥扩展算法将128bit的根密钥扩展32个32bit的密钥。
CN201611202361.XA 2016-12-23 2016-12-23 一种标准密文输出格式的商密sm4算法的白盒软件实现方法 Active CN107070636B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611202361.XA CN107070636B (zh) 2016-12-23 2016-12-23 一种标准密文输出格式的商密sm4算法的白盒软件实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611202361.XA CN107070636B (zh) 2016-12-23 2016-12-23 一种标准密文输出格式的商密sm4算法的白盒软件实现方法

Publications (2)

Publication Number Publication Date
CN107070636A CN107070636A (zh) 2017-08-18
CN107070636B true CN107070636B (zh) 2019-12-13

Family

ID=59619739

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611202361.XA Active CN107070636B (zh) 2016-12-23 2016-12-23 一种标准密文输出格式的商密sm4算法的白盒软件实现方法

Country Status (1)

Country Link
CN (1) CN107070636B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108270550B (zh) * 2018-01-10 2021-03-02 成都卫士通信息产业股份有限公司 一种基于sm4算法的安全高效的白盒实现方法及装置
CN109257162A (zh) * 2018-11-02 2019-01-22 北京京东金融科技控股有限公司 加密算法白盒化的方法和装置
CN109951273B (zh) * 2019-05-08 2022-03-25 郑州信大捷安信息技术股份有限公司 一种sm4算法白盒实现方法与装置
CN110784306B (zh) * 2019-11-01 2023-10-27 成都卫士通信息产业股份有限公司 Sm4算法白盒实现方法、装置、电子设备及计算机介质
CN113452505A (zh) * 2020-03-27 2021-09-28 北京奇虎科技有限公司 基于对称算法的加密方法及装置
CN112054896B (zh) * 2020-08-12 2023-10-03 深圳市欢太科技有限公司 白盒加密方法、装置、终端及存储介质
CN112636903A (zh) * 2021-03-11 2021-04-09 北京信安世纪科技股份有限公司 构造方法、加密方法、解密方法、装置、设备及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105681025A (zh) * 2016-01-29 2016-06-15 中国科学院信息工程研究所 一种国家密码标准算法sm4的安全白盒实现方法和装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105681025A (zh) * 2016-01-29 2016-06-15 中国科学院信息工程研究所 一种国家密码标准算法sm4的安全白盒实现方法和装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
A lightweight white-box symmetric encryption algorithm against node capture for WSNs;Yang Shi 等;《2014 IEEE Wireless Communications and Networking Conference (WCNC)》;20140409;全文 *
白盒密码及AES与SMS4算法的实现;肖雅莹;《中国优秀硕士学位论文全文数据库信息科技辑》;20101015;全文 *

Also Published As

Publication number Publication date
CN107070636A (zh) 2017-08-18

Similar Documents

Publication Publication Date Title
CN107070636B (zh) 一种标准密文输出格式的商密sm4算法的白盒软件实现方法
CN107147484B (zh) 一种面向隐私保护的浮点数全同态加密方法
Gao et al. EFR-CSTP: Encryption for face recognition based on the chaos and semi-tensor product theory
Bigdeli et al. A novel image encryption/decryption scheme based on chaotic neural networks
Ye et al. An efficient chaotic image encryption algorithm based on a generalized Arnold map
Pisarchik et al. Image encryption with chaotically coupled chaotic maps
Seyedzade et al. A novel image encryption algorithm based on hash function
CN113940028B (zh) 实现白盒密码的方法和装置
Singh et al. Image encryption and analysis using dynamic AES
CN110795762B (zh) 基于流密码的保留格式加密方法
CN108111295B (zh) 一种基于类模运算的同态加密方法
KR20120089396A (ko) 암호화 장치 및 그 암호화 방법
CN107392970B (zh) 一种基于位平面和高维混沌系统的数字图像加密方法
CN106059752B (zh) 一种基于扩张密文的白盒密码加解密方法
Phad Vitthal et al. A novel security scheme for secret data using cryptography and steganography
Liu et al. Hierarchical bit-level image encryption based on chaotic map and feistel network
Yap et al. On the effective subkey space of some image encryption algorithms using external key
CN111314050A (zh) 一种加解密方法及装置
Alemami et al. Advanced approach for encryption using advanced encryption standard with chaotic map
Gabr et al. A combination of decimal-and bit-level secure multimedia transmission
Shende et al. FPGA based hardware implementation of hybrid cryptographic algorithm for encryption and decryption
CN109951273B (zh) 一种sm4算法白盒实现方法与装置
CN117114959B (zh) 基于多参数一维混沌系统的秘钥反馈机制的图像加密方法
KR20190020988A (ko) 컴퓨터 실행 가능한 경량 화이트박스 암호화 방법 및 장치
CN116633529B (zh) 采用派生密钥增强白盒sm4密码算法的方法及设备

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