CN104683095B - 一种des加密方法和装置 - Google Patents
一种des加密方法和装置 Download PDFInfo
- Publication number
- CN104683095B CN104683095B CN201310630285.2A CN201310630285A CN104683095B CN 104683095 B CN104683095 B CN 104683095B CN 201310630285 A CN201310630285 A CN 201310630285A CN 104683095 B CN104683095 B CN 104683095B
- Authority
- CN
- China
- Prior art keywords
- wheel
- box
- function
- box functions
- random number
- 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
Landscapes
- Lock And Its Accessories (AREA)
- Cleaning In Electrography (AREA)
Abstract
本发明提供了一种DES加密方法和装置。其中,所述方法包括:n轮的S盒函数处理,其中,所述n轮S盒函数处理对应的n个S盒函数包括:第i轮的S盒函数为:Si(x)=S(x⊕E(X((i‑1)mod k)))⊕P^(‑1)(X(i mod k)⊕X((i‑2)mod k));其中,1≤i≤n,k为自然数,i为正整数,x为S盒函数的输入值,X(0)至X(k‑1)为k个第一随机数掩码,E为扩展置换函数,P^(‑1)为置换函数P的逆置换函数。所述方法和装置能够提高数据的安全性。
Description
技术领域
本发明涉及数据安全的技术领域,特别涉及一种DES加密方法和装置。
背景技术
随着智能卡技术的不断发展,智能卡芯片的安全性也面临越来越大的挑战。在众多加密算法中,DES算法是一种应用较广的对称加/解密算法。DES算法将64位的明文输入块变为64位的密文输出块,其功能是把输入的64位数据块按位重新组合,并把输出分为L0、R0两部分,每部分各长32位,进行初始置换,然后经过16次迭代运算后得到L16、R16,将此作为输入,进行逆置换,即得到密文输出。其中每一轮DES算法的f函数包括扩展置换、与密钥的异或、S盒代换和P盒置换操作。
为了抵御各种攻击,技术人员相应地提出了一些解决方法,目前主流的技术有:引入随机数对密码算法执行过程中的中间运算结果进行随机化,使密码模块的功耗依赖于随机化后的中间运算结果,而独立于实际的中间运算结果。在众多抵御方案中,其中研究最为广泛的是在算法中通过引入随机数来消除真实密钥和功耗相关性。2001年,Akkar和Giraud在施普林格(Springer-Verlag)科技期刊的文献《An Implementation of DES and AESSecure against some Attacks》中第一次将掩码技术用于DES算法的防护,算法通过引入掩码随机数x,改变S盒的结构来达到掩盖真实数据的目的。
在公开号为102983964A的中国专利中引入三个32位随机数X1、X2和X3,并在原有S盒函数的基础上定义了六种不同的新S盒函数SM-Box对算法的中间结果进行掩盖。然而,在该专利中,部分中间数据还是以明文形式存在容易受到攻击。
因此,需要提出一种新的DES加密方法和装置,以提高数据的安全性。
发明内容
本发明解决的问题是提出一种新的DES加密方法和装置,以提高数据的安全性。
本发明的实施例提供了一种DES加密方法,所述方法包括:n轮的S盒函数处理,其中,所述n轮S盒函数处理对应的n个S盒函数包括:第i轮的S盒函数为:Si(x)=S(x⊕E(X((i-1)mod k)))⊕P^(-1)(X(i mod k)⊕X((i-2)mod k)),其中,1≤i≤n,k为自然数,i为正整数,x为S盒函数的输入值,X(0)至X(k-1)为k个第一随机数掩码,E为扩展置换函数,P^(-1)为置换函数P的逆置换函数。
可选地,当k等于4时,所述n轮S盒函数处理对应的n个S盒函数包括:第4j+1轮的S盒函数为:S4j+1(x)=S(x⊕E(X0))⊕P-1(X1⊕X3);第4j+2轮的S盒函数为:S4j+2(x)=S(x⊕E(X1))⊕P-1(X2⊕X0);第4j+3轮的S盒函数为:S4j+3(x)=S(x⊕E(X2))⊕P-1(X3⊕X1);第4j+4轮的S盒函数为:S4j+4(x)=S(x⊕E(X3))⊕P-1(X0⊕X2),其中j为自然数。
可选地,当k等于8时,所述n轮S盒函数处理对应的n个S盒函数包括:第8j+1轮的S盒函数为:S8j+1(x)=S(x⊕E(X0))⊕P-1(X1⊕X7);第8j+2轮的S盒函数为:S8j+2(x)=S(x⊕E(X1))⊕P-1(X2⊕X0);第8j+3轮的S盒函数为S8j+3(x)=S(x⊕E(X2))⊕P-1(X3⊕X1);第8j+4轮的S盒函数为:S8j+4(x)=S(x⊕E(X3))⊕P-1(X4⊕X2);第8j+5轮的S盒函数为:S8j+5(x)=S(x⊕E(X4))⊕P-1(X5⊕X3);第8j+6轮的S盒函数为:S8j+6(x)=S(x⊕E(X5))⊕P-1(X6⊕X4);第8j+7轮的S盒函数为:S8j+7(x)=S(x⊕E(X6))⊕P-1(X7⊕X5);第8j+8轮的S盒函数为:S8j+8(x)=S(x⊕E(X7))⊕P-1(X0⊕X6),其中j为自然数。
可选地,所述k个第一随机数掩码X(0)至X(k-1)中每一个第一随机数掩码分别由两个对应的第二随机数掩码进行运算获得。
本发明的实施例还提供了一种DES加密装置,所述装置包括:S盒加密单元,用于执行n轮的S盒函数处理,其中,所述S盒加密单元对应的n个S盒函数包括:第i轮的S盒函数为:Si(x)=S(x⊕E(X((i-1)mod k)))⊕P^(-1)(X(i mod k)⊕X((i-2)mod k)),其中,1≤i≤n,k为自然数,i为正整数,x为S盒函数的输入值,X(0)至X(k-1)为k个第一随机数掩码,E为扩展置换函数,P^(-1)为置换函数P的逆置换函数。
可选地,当k等于4时,所述S盒加密单元对应的n个S盒函数包括:第4j+1轮的S盒函数为:S4j+1(x)=S(x⊕E(X0))⊕P-1(X1⊕X3);第4j+2轮的S盒函数为:S4j+2(x)=S(x⊕E(X1))⊕P-1(X2⊕X0);第4j+3轮的S盒函数为:S4j+3(x)=S(x⊕E(X2))⊕P-1(X3⊕X1);第4j+4轮的S盒函数为:S4j+4(x)=S(x⊕E(X3))⊕P-1(X0⊕X2),其中j为自然数。
可选地,当k等于8时,所述S盒加密单元对应的n个S盒函数包括:第8j+1轮的S盒函数为:S8j+1(x)=S(x⊕E(X0))⊕P-1(X1⊕X7);第8j+2轮的S盒函数为:S8j+2(x)=S(x⊕E(X1))⊕P-1(X2⊕X0);第8j+3轮的S盒函数为S8j+3(x)=S(x⊕E(X2))⊕P-1(X3⊕X1);第8j+4轮的S盒函数为:S8j+4(x)=S(x⊕E(X3))⊕P-1(X4⊕X2);第8j+5轮的S盒函数为:S8j+5(x)=S(x⊕E(X4))⊕P-1(X5⊕X3);第8j+6轮的S盒函数为:S8j+6(x)=S(x⊕E(X5))⊕P-1(X6⊕X4);第8j+7轮的S盒函数为:S8j+7(x)=S(x⊕E(X6))⊕P-1(X7⊕X5);第8j+8轮的S盒函数为:S8j+8(x)=S(x⊕E(X7))⊕P-1(X0⊕X6),其中j为自然数。
可选地,所述装置还包括:随机数计算单元,用于根据所述k个第一随机数掩码X(0)至X(k-1)中每一个第一随机数掩码对应的两个第二随机数掩码计算所述第一随机数掩码。
与现有技术相比,本发明的实施例具有以下优点:通过上述技术方案,在整个DES加密处理过程中,所有中间数据都是带有掩码的,也就是说,所述中间数据都是以密文形式存在,因此安全性相对较高,可以抗功耗分析攻击。
进一步,在上述方案中,所述k个第一随机数掩码X(0)至X(k-1)中每一个第一随机数掩码可以分别由两个对应的第二随机数掩码进行运算获得。这样利用第二随机数进行二阶保护,可以进一步提高数据的安全性,例如,当用户要破解任意一个第一随机数,就必须同时破解所述第一随机数对应的两个第二随机数。
附图说明
图1是本发明实施例中DES加密方法的流程图;
图2是本发明一实施例中DES加密方法的示意图;
图3是本发明另一实施例中DES加密方法的示意图;
图4是本发明再一实施例中DES加密方法的示意图;
图5是本发明实施例中DES加密装置的结构示意图。
具体实施方式
为详细说明本发明的技术内容、构造特征、所实现目的及效果,下面结合附图对本发明的具体实施方式做详细的说明。在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是本发明还可以采用其他不同于在此描述的其它方式来实施,因此本发明不受下面公开的具体实施例的限制。
图1是本发明一实施例中DES加密方法的流程图。如图1所示,所述方法包括步骤S100。
步骤S100,n轮的S盒函数处理,其中,所述n轮S盒函数处理对应的n个S盒函数包括:第i轮的S盒函数为:Si(x)=S(x⊕E(X((i-1)mod k)))⊕P^(-1)(X(i mod k)⊕X((i-2)mod k)),其中,1≤i≤n,k为自然数,i为正整数,x为S盒函数的输入值,X(0)至X(k-1)为k个第一随机数掩码,E为扩展置换函数,P^(-1)为置换函数P的逆置换函数。
需要说明的是,在本发明的实施例,由于第i轮的S盒函数为:Si(x)=S(x⊕E(X((i-1)mod k)))⊕P^(-1)(X(i mod k)⊕X((i-2)mod k)),其中i mod k=(i+k)mod k,这意味着第i轮和第i+k轮使用完全相同的S盒函数,也就是说每k轮循环使用造表。
另外,所述k个随机数的使用只需要满足上述S函数表达式中的规律,并不限制其使用顺序,在本发明的实施例中,只是为了简化说明,采用了字符X(0)至X(k-1)用以表示所述k个随机数,在本发明的其他实施例中,也可以采用不同的字母或其他标识来表示。
下面将结合图2至图4对所述步骤S100进行详细说明。
请参考图2,在图2中以k=4为例进行说明。也就是说,利用4个随机数数,每4轮循环造表,具体地,当k等于4时,所述n轮S盒函数处理对应的n个S盒函数包括:第4j+1轮的S盒函数为:S4j+1(x)=S(x⊕E(X0))⊕P-1(X1⊕X3);第4j+2轮的S盒函数为:S4j+2(x)=S(x⊕E(X1))⊕P-1(X2⊕X0);第4j+3轮的S盒函数为:S4j+3(x)=S(x⊕E(X2))⊕P-1(X3⊕X1);第4j+4轮的S盒函数为:S4j+4(x)=S(x⊕E(X3))⊕P-1(X0⊕X2),其中j为自然数。
具体地,在本发明的实施例中,以n=16为例进行说明,那么,16轮S盒函数处理对应的16个S盒函数包括:第1、5、9和13轮的S盒函数为:S1(x)=S5(x)=S9(x)=S13(x)=S(x⊕E(X0))⊕P^(-1)(X1⊕X3);第2、6、10和14轮的S盒函数为:S2(x)=S6(x)=S10(x)=S14(x)=S(x⊕E(X1))⊕P^(-1)(X2⊕X0);第3、7、11和15轮的S盒函数为:S3(x)=S7(x)=S11(x)=S15(x)=S(x⊕E(X2))⊕P^(-1)(X3⊕X1);第4、8、12和16轮的S盒函数为:S4(x)=S8(x)=S12(x)=S16(x)=S(x⊕E(X3))⊕P^(-1)(X0⊕X2)。
请参考图2,第1轮的S盒函数F1为S1(x)=S(x⊕E(X0))⊕P^(-1)(X1⊕X3),当R0⊕X0经过F1的处理后,随机数X0经被消除,S盒输出结果带上了新的掩码X1⊕X3,那么当S盒的输出结果和L0⊕X3异或后,随机数X3被消除,将输出带有掩码X1的输出结果R1⊕X1。而R0⊕X0将作为下一轮的L1⊕X0。由于第5、9和13轮的S盒函数和第1轮相同,那么它们的S盒函数处理过程类似,在此不赘述。
请参考图2,第2轮的S盒函数F2为S2(x)=S(x⊕E(X1))⊕P^(-1)(X2⊕X0),当R1⊕X1经过F2的处理后,随机数X1被消除,S盒输出结果带上了新的掩码X2⊕X0,那么当S盒的输出结果和L1⊕X0异或后,随机数X0被消除,将输出带有掩码X2的输出结果R2⊕X2。而R1⊕X1将作为下一轮的L2⊕X1。由于第6、10和14轮的S盒函数和第2轮相同,那么它们的S盒函数处理过程类似,在此不赘述。
请参考图2,第3轮的S盒函数F3为S3(x)=S(x⊕E(X2))⊕P^(-1)(X3⊕X1),当R2⊕X2经过F3的处理后,随机数X2被消除,S盒输出结果带上了新的掩码X3⊕X1,那么当S盒的输出结果和L2⊕X1异或后,随机数X1被消除,将输出带有掩码X3的输出结果R3⊕X3。而R2⊕X2将作为下一轮的L3⊕X2。由于第7、11和15轮的S盒函数和第3轮相同,那么它们的S盒函数处理过程类似,在此不赘述。
请参考图2,第4轮的S盒函数F4为S4(x)=S(x⊕E(X3))⊕P^(-1)(X0⊕X2)),当R3⊕X3经过F4的处理后,随机数X3被消除,S盒输出结果带上了新的掩码X0⊕X2,那么当S盒的输出结果和L3⊕X2异或后,随机数X2被消除,将输出带有掩码X0的输出结果R4⊕X0。而R3⊕X3将作为下一轮的L4⊕X3。由于第8、12和16轮的S盒函数和第2轮相同,那么它们的S盒函数处理过程类似,在此不赘述。
需要说明的是,当k=4的时候,只需要引入4个随机数X0、X1、X2和X3产生4个S盒函数就可以实现DES加密处理,不仅使得在整个DES加密处理过程中的所有中间数据都带有掩码,安全性更高,而且相对于现有技术中利用3个随机数产生6个S盒函数的技术方案减少了硬件资源的占用,在本发明的实施例中,当k=4时,只需要存储4个S盒函数对应的表格,而现有技术中需要存储6个S盒函数对应的表格。
在本发明的实施例中,所述k个第一随机数掩码X(0)至X(k-1)中每一个第一随机数掩码分别由两个对应的第二随机数掩码进行运算获得。
那么,图2中所述4个随机数X0、X1、X2和X3中每一个第一随机数掩码分别由两个对应的第二随机数掩码进行运算获得。例如,请参考图3,X0=X0a⊕X0b,X1=X1a⊕X1b,X2=X2a⊕X2b,X3=X3a⊕X3b。这样利用随机数进行二阶保护,可以进一步提高数据的安全性,例如,当用户要破解任意一个第一随机数,就必须同时破解所述第一随机数对应的两个第二随机数。
请参考图4,在图2中以k=8为例进行说明。也就是说,利用8个随机数数,每8轮循环造表,当k等于8时,所述n轮S盒函数处理对应的n个S盒函数包括:第8j+1轮的S盒函数为:S8j+1(x)=S(x⊕E(X0))⊕P-1(X1⊕X7);第8j+2轮的S盒函数为:S8j+2(x)=S(x⊕E(X1))⊕P-1(X2⊕X0);第8j+3轮的S盒函数为S8j+3(x)=S(x⊕E(X2))⊕P-1(X3⊕X1);第8j+4轮的S盒函数为:S8j+4(x)=S(x⊕E(X3))⊕P-1(X4⊕X2);第8j+5轮的S盒函数为:S8j+5(x)=S(x⊕E(X4))⊕P-1(X5⊕X3);第8j+6轮的S盒函数为:S8j+6(x)=S(x⊕E(X5))⊕P-1(X6⊕X4);第8j+7轮的S盒函数为:S8j+7(x)=S(x⊕E(X6))⊕P-1(X7⊕X5);第8j+8轮的S盒函数为:S8j+8(x)=S(x⊕E(X7))⊕P-1(X0⊕X6),其中j为自然数。
具体地,在本发明的实施例中,以n=16为例进行说明,第1和9轮的S盒函数为:S1(x)=S9(x)=S(x⊕E(X0))⊕P^(-1)(X1⊕X7);第2和10轮的S盒函数为:S2(x)=S10(x)=S(x⊕E(X1))⊕P^(-1)(X2⊕X0);第3和11轮的S盒函数为:S3(x)=S11(x)=S(x⊕E(X2))⊕P^(-1)(X3⊕X1);第4和12轮的S盒函数为:S4(x)=S12(x)=S(x⊕E(X3))⊕P^(-1)(X4⊕X2);第5和13轮的S盒函数为:S5(x)=S13x)=S(x⊕E(X4))⊕P^(-1)(X5⊕X3);第6和14轮的S盒函数为:S6(x)=S14(x)=S(x⊕E(X5))⊕P^(-1)(X6⊕X4);第7和15轮的S盒函数为:S7(x)=S15(x)=S(x⊕E(X6))⊕P^(-1)(X7⊕X5);第8和16轮的S盒函数为:S8(x)=S16(x)=S(x⊕E(X7))⊕P^(-1)(X0⊕X6)。
请参考图4,第1轮的S盒函数F1为S1(x)=S(x⊕E(X0))⊕P^(-1)(X1⊕X7),当R0⊕X0经过F1的处理后,随机数X0经被消除,S盒输出结果带上了新的掩码X1⊕X7,那么当S盒的输出结果和L0⊕X7异或后,随机数X7被消除,将输出带有掩码X1的输出结果R1⊕X1。而R0⊕X0将作为下一轮的L1⊕X0。由于第9轮的S盒函数和第1轮相同,那么它们的S盒函数处理过程类似,在此不赘述。
请参考图4,第2轮的S盒函数F2为S2(x)=S(x⊕E(X1))⊕P^(-1)(X2⊕X0),当R1⊕X1经过F2的处理后,随机数X1被消除,S盒输出结果带上了新的掩码X2⊕X0,那么当S盒的输出结果和L1⊕X0异或后,随机数X0被消除,将输出带有掩码X2的输出结果R2⊕X2。而R1⊕X1将作为下一轮的L2⊕X1。由于第10轮的S盒函数和第2轮相同,那么它们的S盒函数处理过程类似,在此不赘述。
请参考图4,第3轮的S盒函数F3为S3(x)=S(x⊕E(X2))⊕P^(-1)(X3⊕X1),当R2⊕X2经过F3的处理后,随机数X2被消除,S盒输出结果带上了新的掩码X3⊕X1,那么当S盒的输出结果和L2⊕X1异或后,随机数X1被消除,将输出带有掩码X3的输出结果R3⊕X3。而R2⊕X2将作为下一轮的L3⊕X2。由于第11轮的S盒函数和第3轮相同,那么它们的S盒函数处理过程类似,在此不赘述。
请参考图4,第4轮的S盒函数F4为S4(x)=S(x⊕E(X3))⊕P^(-1)(X4⊕X2),当R3⊕X3经过F4的处理后,随机数X3被消除,S盒输出结果带上了新的掩码X4⊕X2,那么当S盒的输出结果和L3⊕X2异或后,随机数X2被消除,将输出带有掩码X4的输出结果R4⊕X4。而R3⊕X3将作为下一轮的L4⊕X3。由于第12轮的S盒函数和第2轮相同,那么它们的S盒函数处理过程类似,在此不赘述。
请参考图4,第5轮的S盒函数F5为S5(x)=S(x⊕E(X4))⊕P^(-1)(X5⊕X3),当R4⊕X4经过F5的处理后,随机数X4经被消除,S盒输出结果带上了新的掩码X5⊕X3,那么当S盒的输出结果和L4⊕X3异或后,随机数X3被消除,将输出带有掩码X5的输出结果R5⊕X5。而R4⊕X4将作为下一轮的L5⊕X4。由于第13轮的S盒函数和第5轮相同,那么它们的S盒函数处理过程类似,在此不赘述。
请参考图4,第6轮的S盒函数F6为S6(x)=S(x⊕E(X5))⊕P^(-1)(X6⊕X4),当R5⊕X5经过F6的处理后,随机数X5被消除,S盒输出结果带上了新的掩码X6⊕X4,那么当S盒的输出结果和L5⊕X4异或后,随机数X4被消除,将输出带有掩码X6的输出结果R6⊕X6。而R5⊕X5将作为下一轮的L6⊕X5。由于第14轮的S盒函数和第6轮相同,那么它们的S盒函数处理过程类似,在此不赘述。
请参考图4,第7轮的S盒函数F7为S7(x)=S(x⊕E(X6))⊕P^(-1)(X7⊕X5),当R6⊕X6经过F7的处理后,随机数X6被消除,S盒输出结果带上了新的掩码X7⊕X5,那么当S盒的输出结果和L6⊕X5异或后,随机数X5被消除,将输出带有掩码X7的输出结果R7⊕X7。而R6⊕X6将作为下一轮的L7⊕X6。由于第15轮的S盒函数和第7轮相同,那么它们的S盒函数处理过程类似,在此不赘述。
请参考图4,第8轮的S盒函数F8为S8(x)=S(x⊕E(X7))⊕P^(-1)(X0⊕X6),当R7⊕X7经过F8的处理后,随机数X7被消除,S盒输出结果带上了新的掩码X0⊕X6,那么当S盒的输出结果和L7⊕X6异或后,随机数X6被消除,将输出带有掩码X0的输出结果R8⊕X0。而R7⊕X7将作为下一轮的L8⊕X7。由于第16轮的S盒函数和第8轮相同,那么它们的S盒函数处理过程类似,在此不赘述。
同样地,图4中所述8个随机数X0至X7中每一个第一随机数掩码分别由两个对应的第二随机数掩码进行运算获得。如前所述,这样利用随机数进行二阶保护,可以进一步提高数据的安全性。
值得注意的是,图2至图4分别以k等于4和8为例,对本发明的技术方案进行了说明,在本发明的实施例中,所述k还可以等于16,当k等于16时的具体实施细节请参考k等于4和8时的实施例,在此不赘述。
本发明的实施例还提供了一种DES加密装置,请参考图5,所述DES加密装200包括:S盒加密单元210,用于执行n轮的S盒函数处理。
其中,所述S盒加密单元210对应的n个S盒函数包括:第i轮的S盒函数为:Si(x)=S(x⊕E(X((i-1)mod k)))⊕P^(-1)(X(i mod k)⊕X((i-2)mod k)),其中,1≤i≤n,k为自然数,i为正整数,x为S盒函数的输入值,X(0)至X(k-1)为k个第一随机数掩码,E为扩展置换函数,P^(-1)为置换函数P的逆置换函数。
在本发明的实施例中,所述DES装置200还可以包括:随机数计算单元220,用于根据所述k个第一随机数掩码X(0)至X(k-1)中每一个第一随机数掩码对应的两个第二随机数掩码计算所述第一随机数掩码。
在本发明的实施例中,当k等于4时,所述S盒加密单元对应的n个S盒函数可以包括:第4j+1轮的S盒函数为:S4j+1(x)=S(x⊕E(X0))⊕P-1(X1⊕X3);第4j+2轮的S盒函数为:S4j+2(x)=S(x⊕E(X1))⊕P-1(X2⊕X0);第4j+3轮的S盒函数为:S4j+3(x)=S(x⊕E(X2))⊕P-1(X3⊕X1);第4j+4轮的S盒函数为:S4j+4(x)=S(x⊕E(X3))⊕P-1(X0⊕X2),其中j为自然数。
在本发明的实施例中,当k等于8时,所述S盒加密单元对应的n个S盒函数可以包括:第8j+1轮的S盒函数为:S8j+1(x)=S(x⊕E(X0))⊕P-1(X1⊕X7);第8j+2轮的S盒函数为:S8j+2(x)=S(x⊕E(X1))⊕P-1(X2⊕X0);第8j+3轮的S盒函数为S8j+3(x)=S(x⊕E(X2))⊕P-1(X3⊕X1);第8j+4轮的S盒函数为:S8j+4(x)=S(x⊕E(X3))⊕P-1(X4⊕X2);第8j+5轮的S盒函数为:S8j+5(x)=S(x⊕E(X4))⊕P-1(X5⊕X3);第8j+6轮的S盒函数为:S8j+6(x)=S(x⊕E(X5))⊕P-1(X6⊕X4);第8j+7轮的S盒函数为:S8j+7(x)=S(x⊕E(X6))⊕P-1(X7⊕X5);第8j+8轮的S盒函数为:S8j+8(x)=S(x⊕E(X7))⊕P-1(X0⊕X6),其中j为自然数。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:ROM、RAM、磁盘或光盘等。
虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。
Claims (4)
1.一种DES加密方法,其特征在于,包括:
n轮的S盒函数处理,其中,所述n轮S盒函数处理对应的n个S盒函数包括以下任意一种:
第一种:所述n轮S盒函数处理对应的n个S盒函数包括:
第4j+1轮的S盒函数为:
第4j+2轮的S盒函数为:
第4j+3轮的S盒函数为:
第4j+4轮的S盒函数为:
其中,j=0、1、2、3,x为S盒函数的输入值,X0至X3为4个第一随机数掩码,E为扩展置换函数,P^(-1)为置换函数P的逆置换函数;
第二种:所述n轮S盒函数处理对应的n个S盒函数包括:
第8j+1轮的S盒函数为:
第8j+2轮的S盒函数为:
第8j+3轮的S盒函数为:
第8j+4轮的S盒函数为:
第8j+5轮的S盒函数为:
第8j+6轮的S盒函数为:
第8j+7轮的S盒函数为:
第8j+8轮的S盒函数为:
其中,j=0、1,x为S盒函数的输入值,X0至X7为8个第一随机数掩码,E为扩展置换函数,P^(-1)为置换函数P的逆置换函数。
2.如权利要求1所述的方法,其特征在于,所述第一随机数掩码分别由两个对应的第二随机数掩码进行运算获得。
3.一种DES加密装置,其特征在于,包括:
S盒加密单元,用于执行n轮的S盒函数处理,其中,所述S盒加密单元对应的n个S盒函数包括以下任意一种:
第一种:所述S盒加密单元对应的n个S盒函数包括:
第4j+1轮的S盒函数为:
第4j+2轮的S盒函数为:
第4j+3轮的S盒函数为:
第4j+4轮的S盒函数为:
其中,j=0、1、2、3,x为S盒函数的输入值,X0至X3为4个第一随机数掩码,E为扩展置换函数,P^(-1)为置换函数P的逆置换函数;
第二种:所述S盒加密单元对应的n个S盒函数包括:
第8j+1轮的S盒函数为:
第8j+2轮的S盒函数为:
第8j+3轮的S盒函数为:
第8j+4轮的S盒函数为:
第8j+5轮的S盒函数为:
第8j+6轮的S盒函数为:
第8j+7轮的S盒函数为:
第8j+8轮的S盒函数为:
其中,j=0、1,x为S盒函数的输入值,X0至X7为8个第一随机数掩码,E为扩展置换函数,P^(-1)为置换函数P的逆置换函数。
4.如权利要求3所述的装置,其特征在于,还包括:随机数计算单元,用于根据所述第一随机数掩码对应的两个第二随机数掩码计算所述第一随机数掩码。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310630285.2A CN104683095B (zh) | 2013-11-29 | 2013-11-29 | 一种des加密方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310630285.2A CN104683095B (zh) | 2013-11-29 | 2013-11-29 | 一种des加密方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104683095A CN104683095A (zh) | 2015-06-03 |
CN104683095B true CN104683095B (zh) | 2018-03-06 |
Family
ID=53317729
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310630285.2A Active CN104683095B (zh) | 2013-11-29 | 2013-11-29 | 一种des加密方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104683095B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112543094B (zh) * | 2020-12-07 | 2022-09-27 | 山东华翼微电子技术股份有限公司 | 一种基于多随机数的des掩码抗侧信道攻击实现方法 |
CN116866038B (zh) * | 2023-07-12 | 2024-06-11 | 北京兆讯恒达技术有限公司 | 动态掩码加密方法及动态掩码加密装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101626289A (zh) * | 2009-07-14 | 2010-01-13 | 青岛科技大学 | Aes加密芯片的设计方法及电脑加密机 |
CN202257543U (zh) * | 2011-05-26 | 2012-05-30 | 山东大学 | 针对aes对称加密算法的指令优化处理器 |
CN102523085A (zh) * | 2011-12-15 | 2012-06-27 | 北京握奇数据系统有限公司 | 数据加密方法、装置及智能卡 |
CN102983964A (zh) * | 2012-12-28 | 2013-03-20 | 大唐微电子技术有限公司 | 一种抗差分功耗分析的数字加密标准改进方法及装置 |
EP2661834A1 (en) * | 2011-02-03 | 2013-11-13 | Huawei Technologies Co., Ltd. | A design of a good general-purpose hash function with limited resources |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102004018874B4 (de) * | 2004-04-19 | 2009-08-06 | Infineon Technologies Ag | Verfahren und Vorrichtung zum Bestimmen eines Ergebnisses |
-
2013
- 2013-11-29 CN CN201310630285.2A patent/CN104683095B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101626289A (zh) * | 2009-07-14 | 2010-01-13 | 青岛科技大学 | Aes加密芯片的设计方法及电脑加密机 |
EP2661834A1 (en) * | 2011-02-03 | 2013-11-13 | Huawei Technologies Co., Ltd. | A design of a good general-purpose hash function with limited resources |
CN202257543U (zh) * | 2011-05-26 | 2012-05-30 | 山东大学 | 针对aes对称加密算法的指令优化处理器 |
CN102523085A (zh) * | 2011-12-15 | 2012-06-27 | 北京握奇数据系统有限公司 | 数据加密方法、装置及智能卡 |
CN102983964A (zh) * | 2012-12-28 | 2013-03-20 | 大唐微电子技术有限公司 | 一种抗差分功耗分析的数字加密标准改进方法及装置 |
Non-Patent Citations (2)
Title |
---|
基于DES 算法的靶场试验指显数据加密实现;刘丹;《战术导弹技术Tactical Missile Technology》;20120331;全文 * |
改进的差分功耗分析及其在DES中的应用;郑新建;《吉林大学学报(信息科学版)》;20090131;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN104683095A (zh) | 2015-06-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Li et al. | Cryptanalyzing a color image encryption scheme based on hybrid hyper-chaotic system and cellular automata | |
Mirzaei et al. | A new image encryption method: parallel sub-image encryption with hyper chaos | |
Li et al. | Cryptanalysis and improvement in a chaotic image cipher using two-round permutation and diffusion | |
CN103167213B (zh) | 基于Cat映射与超混沌Lorenz系统的数字图像加密方法 | |
CN1993922B (zh) | 流密码组合系统和方法 | |
Zhang et al. | Cryptanalysis and improvement of an image encryption algorithm based on hyper-chaotic system and dynamic S-box | |
CN105324956B (zh) | 加密明文数据的方法及设备 | |
CN106788974A (zh) | 掩码s盒、分组密钥计算单元、装置及对应的构造方法 | |
CN107038383A (zh) | 一种数据处理的方法和设备 | |
CN102970132B (zh) | 一种防止对分组算法进行功耗分析和电磁辐射分析的防护方法 | |
CN107769910A (zh) | 一种基于Latch PUF的抗边信道攻击DES防护方法及电路 | |
CN104639314A (zh) | 基于aes加密/解密算法的装置和流水控制方法 | |
Wang et al. | Cryptanalysis of an image cryptosystem based on logistic map | |
CN107147487A (zh) | 对称密钥随机分组密码 | |
CN103020891A (zh) | 一种基于复合混沌序列与移位的彩色图像加密方法 | |
CN108964872A (zh) | 一种基于aes的加密方法及装置 | |
CN104396182A (zh) | 加密数据的方法 | |
CN103916248A (zh) | 一种全同态加密公钥空间压缩方法 | |
CN104410490B (zh) | 非线性挤压保护密码s盒的方法 | |
Liu et al. | Chaos-based color image encryption using one-time keys and Choquet fuzzy integral | |
Mishra et al. | A New algorithm of encryption and decryption of images using chaotic mapping | |
CN101826959B (zh) | 一种面向字节的密钥流生成方法及加密方法 | |
CN106603224A (zh) | 基于白盒加密的安全运行方法及系统 | |
CN105117653B (zh) | 一种近红外光谱数据加密方法 | |
CN104683095B (zh) | 一种des加密方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |