具有三维运算、反馈控制与动态替换盒设计的加密方法

文档序号:7980883阅读:224来源:国知局
具有三维运算、反馈控制与动态替换盒设计的加密方法
【专利摘要】本发明采用循序逻辑的加密方式,明文数据单元pi通过动态子替换盒的非线性置换后,与系统密钥群K1,K2,K3,K4,K5及动态反馈密钥群ai-1,bi-1,di-1进行三维运算,而产生动态密钥群ai,bi,di,该ai,bi,di分别通过不同的动态子替换盒的非线性置换后,形成系统内部隐藏的动态密钥,提供下次动态反馈密钥加密之用,接着加密密钥ae、动态反馈密钥bi-1,di-1与系统密钥群K6,K7,K8进行三维运算而产生密文数据单元ci。利用本发明可以使得动态密钥群ai,bi,di与密文数据不易被破解,更可有效抵御如差分攻击、已知明文/密文对攻击与暴力法攻击等。
【专利说明】具有三维运算、反馈控制与动态替换盒设计的加密方法
【技术领域】
[0001]本发明涉及一种数据加/解密的方法原理,尤其涉及采用具有反馈控制的循序逻辑(Sequential Logic)的加密方式的方法。
【背景技术】
[0002]目前广为业界与学术界采用的数据加密的方法为Data Encryption Standard(数据加密标准,以下简称为:DES)与Advanced Encryption Standard (高级加密标准,以下简称为:AES),这两种方法具有多个相同的特性,这里分别叙述如下:
[0003]一、它们都是组合逻辑的加密方式,是一种输出的密文完全由当时输入的明文决定,而与前一次的输入明文无关的加密方式。
[0004]二、它们都是固定大小的数据区块加密,其中DES的加密数据区块大小为64位,而AES的加密数据区块大小为128位。
[0005]三、它们的加密方式都是重复执行特定的核心运算,例如,DES重复执行特定的核心运算16次,而AES重复执行特定的核心运算10次。
[0006]四、它们都使用S盒(Substitution-box, S-Box),而且使用的S盒在整个加密过程中是以固定的表格进行替换工作的。
[0007]DES与AES虽是目前已知的最佳的数据加密方法,但它们有下列的缺点:
[0008]1.组合逻辑的加密方式其输出的密文完全由当时输入的明文决定,这种加密方式无法有效抵御暴力法攻击,例如,已知明文/密文对攻击及差异攻击(Difference Attack)等。由于DES为64位的数据区块加密法,目前已被电子前线基金会(Electronic FrontierFoundation, EFF)建立的“DES Cracker”专门机器所破解,由此看来,具有较长128位的AES未来也将要面临被破解的危机。
[0009]2.DES与AES都是固定大小的数据区块加密,其缺点是限制了加密系统的弹性。若数据区块加密的大小得以弹性变化,则可使加密系统能更灵活地依实际需要对数据加密,而有效抵御暴力法或其他方法的攻击。
[0010]3.由于DES与AES加密方法都是重复多次特定核心运算,如DES重复16次而AES重复10次,虽然每次重复计算皆有新的密钥值加入,但因重复计算相同的公式,难免会有较低安全度的顾虑,而且多次的重复计算使得效能大幅降低。
[0011 ] 4.DES与AES均采用固定的S盒,若能设计成动态的S盒,让不同的数据加密时,均能面对不同的S盒内容值,而做不同的非线性置换,将会增大其安全度。

【发明内容】

[0012]本发明正是针对DES与AES上述四项特性的缺点提出改善的加密方法。对于DES与AES第一项特性的缺点,即,组合逻辑加密方式的缺点;本发明采取具有反馈控制的循序逻辑加密方式,使得目前所产生的密文不再只是由目前输入的明文决定,而是由目前输入的明文与之前输入的明文共同决定,使得密文能有效抵御如差分攻击、已知明文/密文对攻击与暴力法攻击等,密文安全度可因而大为提升。
[0013]对于DES与AES第二项特性的缺点,即,固定大小的数据区块加密的缺点;本发明采取弹性大小的数据区块加密设计,只要加密系统所要加密的数据单元、各加密密钥、动态替换盒与所产生的密文数据单元等的大小一致即可。
[0014]对于DES与AES第三项特性的缺点,即,多次重复特定核心运算的缺点;本发明采用多个不同基本处理单元,通过反馈控制机制、动态替换盒的非线性置换功能与三维运算进行加/解密方式来改善这一缺点。
[0015]对于DES与AES第四项特性的缺点,即,固定式S盒作用的缺点;本发明是以母替换盒(Mother Transition Box)取代S盒,而在加/解密过程中,将动态反馈密钥的内容值输入母替换盒而产生子替换盒(Child Transition Box),使得子替换盒的内容是动态的,其内容会因输入的反馈密钥值的不同而改变,如此可有效改良固定式替换盒的缺点。
[0016]本发明的三维运算会用到下列三种可逆运算符分别与多个操作数(operand),SP,明文数据单元、系统密钥、动态反馈密钥、动态密钥与加密密钥等进行运算,这里分别叙述如下:
[0017]令P为明文数据单元、c为密文数据单元,而K为动态密钥,则:
[0018]1.异或运算符(Exclusive OR):φ
[0019]加密:
【权利要求】
1.一种具有三维运算、反馈控制与动态替换盒设计的加密方法,其特征在于,方法如下: 使加/解密系统含有十一个系统密钥K广Κη、三个动态反馈密钥ag,Iv1, dg、三个动态密钥a” bi;屯、一个母替换盒、四个动态子替换盒及三种可逆运算符,即,异或运算符?、同或运算符Θ与二进制加法运算符+2 ;使十一个系统密钥中,aQ = K9, b0=K10, d0 = K11为三个初始反馈密钥;使明文切割分割成η个m位长度的区块,即,明文=P1 p2 p3...Pn,若明文数据不足以填满Pn,未填满的位填入0,在此,数据区块大小均为m位,系统所有密钥大小亦均为m位,且m为8的倍数,如8,64,128,256,512, 1024,2048或更大的值,当系统所有密钥大小为m位,母替换盒可为g列h行的替换盒,其中m=gh, g,h≥2。
2.如权利要求1所述的方法,其特征在于,三个动态反馈密钥Cli^1的内容值,是分别通过三个动态密钥^bi, Cli的内容值反馈而得,并且在每次输入第i组明文数据单元Pi时,三个动态反馈密钥a^,Iv1, Cli^1亦同为输入值,即,第i组密文数据单元Ci的值与第i组动态密钥alr bi, (Ii的值是由Pi与a^, V” (^1 一起决定的,即,
B^f1 (Pi, ay,V” Ch,子替换盒,系统密钥K1X1), bi=f2 (Pi, ay,V” Ch,子替换盒,系统密钥K1X1), di=f3(pi, ay,V1,Ch,子替换盒,系统密钥ICK11),及 Ci=f4 (Pi, a1-!, V1, Ch,子替换盒,系统密钥K广K11),其中Pi, a^!, V1, Ch与子替换盒是动态可变的,而系统密钥K广K11是固定不变的;另外,动态密钥群^bi及Cli没有直接参与密文数据单元Ci的值的产生,动态密钥群a” h及Cli是系统内部隐藏的动态参数,而动态反馈密钥群Bi+ Iv1及dH是分别通过动态密钥群a”匕及Cli反馈而得,在每次明文数据单元Pi加密时,当时输入的动态反馈密钥Iv1及dH对后续的各明文数据单元加密时,Bi^1, Iv1及dH持续动态地改变。
3.如权利要求1所述的方法,其特征在于,三维运算是指三种可逆运算符,即,异或运算符?、同或运算符O与二进制加法运算符+2,分别与多个操作数,即,明文数据单元、系统密钥、动态反馈密钥、动态密钥与加密密钥进行运算,这三种可逆运算符,详细定义如下: 令P为明文数据单元、C为密文数据单元而K为动态密钥,则: (a).异或运算符:φ 加密-.C = P ? K 解密:p = c? K (b).同或运算符:Θ 加密:c=p Θ K 解密:p=c O K (c).二进制加法运算符:+2 加密:c = p+2K,其中明文键P与密钥K进行二进制加法,并舍弃因最高位的加法而产生的进位; 解密:
4.如权利要求1所述的方法,其特征在于,替换盒分成母替换盒与子替换盒,其内容定义与操作功能分别叙述如下: 若加/解密系统的数据加密区块大小为m位,其中m须为8的倍数,则: (1).母替换盒为一g列h行的替换盒,其中m=gh, g, h≤2,数列1,2,3,...,m-1, m做任意地重排,再将重排后的数列依序写入母替换盒,作为母替换盒的内容,依此类推,产生m!的母替换盒候选项; (2).子替换盒是由母替换盒通过顺时针旋转或逆时针旋转t次,每次位移一个单位而得,计量变量t是反馈密钥的函数; (3).子替换盒的加密操作: 把明文数据单元或动态密钥的第j (I ^ j ^ m)位,移至子替换盒第j位置的内容值所指定的位置,当完成所有位转移后,则完成子替换盒的加密操作; (4).子替换盒的解密操作: 将子替换盒第j位置的内容值所指定位置的密文数据单元位移至密文数据单元第j位置,当完成所有位转移后,则完成子替换盒的解密操作。
5.如权利要求1所述的方法,其特征在于,加密过程如下: 步骤一: (a)输入明文数据单元Pi,I≤i≤n ; (b)令参数=(bH+dJmod KS,I≤i≤n,其中KS为密钥大小; (c)将母替换盒顺时针旋转单位,而得到子替换盒; (d)将子替换盒对Pi进行加密,产生加密后的Pi; 步骤二:令符号
A = Pi ? at_x.B = K ? b t,C = K2 ? d“,D = K3 ? ,E = K4 ? af_t,F = K5 ? bt_x
并计算-M1 = [ (A+2B) O D] +2 [ (B+2C) O E],
bi = [ (B+2C) O E]+2[(B+2C) O F],
Cli = [ (B+2C) O F]+2[(A+2B) O D] 步骤三: (a)令参数t2 = (aH+Umod KS, t3 = (aH+Umod KS ; (b)将母替换盒顺时针旋转t2单位,产生子替换盒,将该子替换盒对动态密钥%进行加密,产生加密后的加密密钥a6 ; (c)将母替换盒顺时针旋转t3单位,产生子替换盒,将该子替换盒对h进行加密,产生加密后的动态密钥匕; (d)将母替换盒逆时针旋转t3单位,产生子替换盒,将该子替换盒对Cli进行加密,产生加密后的动态密钥Cli ; 步骤四: ^ C,.= [{ae ? K6)+2 ? ^7)] ? (d^ +2 Ks), I ^ i ^ n,并输出密文数据单元 Ci,I< i < n。
6.如权利要求1所述的方法,其特征在于,解密过程如下: 步骤一: (a)输入密文数据单元Ci,I < i < n ; (b)还原加密密钥
【文档编号】H04L9/14GK103546282SQ201210242285
【公开日】2014年1月29日 申请日期:2012年7月12日 优先权日:2012年7月12日
【发明者】黄宜豊, 吕芳怿, 林正基 申请人:黄宜豊, 吕芳怿, 林正基
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1