以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 安全理论 』  (http://bbs.xml.org.cn/list.asp?boardid=65)
----  建立分组密码加密技术的新概念  (http://bbs.xml.org.cn/dispbbs.asp?boardid=65&rootid=&id=22793)


--  作者:waumo
--  发布时间:10/6/2005 4:32:00 PM

--  建立分组密码加密技术的新概念
建立分组密码加密技术的新概念
武金木,武优西
(河北工业大学,天津  300130)

    摘要:简述了加密技术的一种分类及分组密码的发展现状,指出了束缚进一步提高目前分组密码加密强度的旧观念,提出了一种分组密码的新概念,给出了我们的已经申请中国发明专利的加密解密新方法——排列码加密解密方法及其排列码加密解密器,证明了排列码加密解密方法及其排列码加密解密器的加密强度是目前国际上流行的美国的DES加密标准的加密强度的10^5781倍,而美国2001年将要出台的AES的加密强度远不能与之相比,相当于对美国2001年将要出台的AES提出了严重的挑战。
关键词:密码学;加密解密技术;编码技术;加密算法;排列码;分组密码
中图分类号:                               文献标识码:

0 引言
    21世纪是信息化的世纪,各种信息都要进入网络,商务电子化、金融电子化、政府办公网络化等,随之而来的信息的安全与保密就变得越来越重要,而加密技术又是信息安全的基础,加密强度、加密速度都要提高,加密成本要降低,随着计算技术的飞速发展,破密能力也惊人地发展,要保证不泄密,就给加密技术提出了严峻地挑战。在20世纪末,一路领先的美国,也是旧的DES已被攻破,新的AES尚未出台,可以预言即使2001年AES出台,它的寿命也不会太长,因为它没有引进新的思维、新的概念、新的理论,破密能力与加密能力同步增长。在这里我们提出加密的一种新的概念和理论,以求达到抛砖引玉,欢迎各位加密学术权威进行质疑,也欢迎各位破密高手提供破密方案并攻破我们的加密数据。
1 加密技术的分类
    根据密钥的特点,Simmons[1]将密码体制分为对称和非对称密码体制两种。对称密码体制又称单钥或私钥或传统密码体制,非对称密码体制又称双钥或公钥密码体制。在私钥密码体制中,加密密钥和解密密钥是一样的或彼此之间容易相互确定。按加密方式又可将私钥密码体制分为流密码和分组密码两种。在流密码中,将明文消息按字符逐位地加密。在分组密码中,将明文消息分组(每组含有多个字符),逐组地进行加密。在公钥密码体制中,加密密钥和解密密钥不同,从一个难于推出另一个,可将加密能力和解密能力分开。本文这里仅讨论分组密码。
2 分组密码的发展现状
    令A表示含N个“字母”或“字符”的明文字母表,例如,可以是普通的英文字母A~Z,也可以是数字、空格标点符号或任何可以表示明文消息的符号。因此可以将A抽象地表示为一个整数集Z[N]={0,1,...,N-1}。在加密时通常将明文消息划分成长为L的消息单元,称为明文组,以m表示,如m=(m[0],m[1],...,m[L-1]),m[l]∈Z[N],0≤l≤L-1。M也称作L-报文,它是定义在Z^L[N]上的随机变量,Z^L[N]= Z[N]×Z[N]×...×Z[N](L个)={m=(m[0],m[1],...,m[L-1])|m[l]∈Z[N], 0≤l≤L-1}。L=1为单字母报, L=2为双字母报, L=3为三字母报。明文空间P= Z^L[N]。
    令A'表示含N'个“字母”或“字符”的密文字母表,抽象地可用整数集Z[N]={0,1,...,N-1}来表示。密文单元或组为c=(c[0],c[1],...,c[L-1])(L'个) c[l']∈Z[N'], 0≤l'≤L-1。C是定义在Z^L'[N]上的随机变量。密文空间C= Z^L'[N]。
    一般地,明文和密文由同一字母表构成,即A'=A。
    加密变换是从明文空间到密文空间的映射f:P®C。加密变换通常是在密钥控制下变化的,因此,一般记为:
      c=f(m,k)=E[k](m)   k∈K   m∈P   c∈C
    K为密钥空间。
    假定f是一个单射,对固定的k∈K,令C[k]={c=f(m,k) =E[k](m)|m∈P}ÍC,因此对给定的密文组c= C[k],有且仅有一个对应的明文组,也就是说,对于此函数f,存在逆映射f ^(-1):C[k]® P,使
f^(–1)(c)= f^(–1){f(m)}=m   m∈P   c∈C[k]
      即f^(–1)为解密变换。
    一个密码系统就是在f作用下由Z^L[N]到Z^L'[N']的映射,在这种意义上,称此种密码为代换密码。L=1时,称作单字母代换,也称作流密码。L>1时,称作多字母代换,也称作分组密码。对于二元域,记F^n[2]为二元域F[2]上的n维向量,n是明文组和密文组以比特形式出现的长度,称为分组长度。
DES是迄今为止世界上最广泛使用和流行的一种分组密码算法,于1977年7月15日生效作为联邦加密标准,因为它已经被破译,美国已决定1998年12月以后将不在使用DES。美国目前正在征集、评估和制定新的数据加密标准,新标准被称作AES。1998年8月20日公布了15个AES候选算法。从AES的征稿情况来看,目前设计分组密码仍然离不开旧的模式,无论在理论上还是在技术上都没有多大创新。[2]
3 分组密码的旧观念
    从分组密码的发展现状来看,目前分组密码的观念是A=A',N=N',L=L',则映射f可构造成一对一的映射用于加密变换,则逆映射f ^[–1]可构造成一对一的逆映射用于解密变换。正是这一观念,飞速发展的计算机技术使得DES仅仅21年就走过了它的历史的辉煌。因为对于n,f或f ^[–1]可构造成一对一的映射或逆映射充其量只不过是2^n。可以预言,如果抱着这个观念不放,AES的寿命也不会太长,因为它仅仅是加大了一倍的n。面对人类的进步、计算技术的高速发展,我们必须创立新的加密思路,使得破密难度远远大于2^n。
4 分组密码的新概念
    如果在同一加密解密过程中,明文(0,1,1,1),(1,0,1,1),(1,1,0,1),(1,1,1,0)都可映射成密文(0,1,1,1),而密文(0,1,1,1),(1,0,1,1),(1,1,0,1),(1,1,1,0)都可映射成明文(0,1,1,1)。这样就形成了多对多的分组密码的新概念,这在旧观念中是完全不可能实现这样的加密解密。在多对多的情况下,如果加密过程中记住的不仅仅是加密的结果,而且加密的密钥中还包含着由明文到密文的路径,解密时再顺原路变换回去,多对多的分组密码的新概念就可以利用了,对于A=A',N=N',L=L',由明文到密文的路径远远大于2^n,而明文到密文的路径和密文到明文的路径都是一对一的。由这个新概念就产生了排列码加密解密方法。
5 排列码加密解密方法
    如图1所示的排列码加密解密原理示意图,①A有n个比特,它的全排列共有n!种不同的排列,重新排列后做密文,由明文到密文的路径就有n!种。②每个整数对应一种排列,当这个整数做密钥时,密钥的个数是n!个。③下一组n比特,可以加一个任意整数,再取n!的模,将结果做这n比特的加密密钥,以此类推,每组n比特都这样处理。④因为可加的整数共有n!个,所以这样进行加密的加密强度是(n!)^2。⑤若每n*n比特再作为一个分组施加此方法,那它的加密强度就是(n!)^4。⑥因为每一个比特可以交换到n个不同的方向去,进而n个比特可以有n*n个彼此不同的方向交换到n个彼此不同的地方去,而每一去向都可以加一个非门,也可以不加一个非门,因此加非门的方法共有2^(n*n)。所以总的由明文到密文的路径有(n!)^4*2^(n*n)种。
    更进一步的换密钥的方法不是加一个常数而是一个伪随机数,究竟可以有多少个伪随机函数发生器可以利用,我们还在研究中,因此这个加密方法的加密强度还在提高。最终我们可以设计出几乎相当于一字一密的加密情况,这样加密强度将比现在的加密强度(n!)^4*2^(n*n)高的多。
    A有n个比特,它的全排列共有n!种不同的排列,我们称为有n!个排列码,对这n!个排列码进行全排列,共有(n!)!个排列码编码方案,每个排列码编码方案都对应着一个算法,因此共有(n!)!个算法。
    我们正在做的研究是怎样在(n!)!个算法中找出更多的算法,所以我们的关键问题是研究出设计算法的母算法。当(n!)!个算法全部研究出来之后,我们的研究工作才可以结束。因此我们还有大量的工作要做。
    我们已经在2000年3月1日中国专利公报第9期上公开的申请号为99107969.8中国发明专利排列码加密解密方法及其排列码加密解密器是这一工作的一个良好开端。
5.1排列码加密解密方法的加密过程
用电子开关实现图1所示的原理,明文寄存器中的明文的每一比特按排列码算法的计算结果重新排列并经过一次加非运算送入密文寄存器,就完成一个分组的加密,因此如果用硬件实现,明文信号最多只须经过一级与门、一级或门、一级非门就可以到达密文寄存器完成加密过程。
5.2排列码加密解密方法的解密过程
类似地,密文寄存器中的密文的每一比特按排列码算法的计算结果重新排列并经过一次加非运算送入明文寄存器,就完成一个分组的解密,因此如果用硬件实现,密文信号最多只须经过一级与门、一级或门、一级非门就可以到达明文寄存器完成解密过程。
5.3排列码加密解密方法的密钥方案
第一个分组把可用任何方法存入到密钥寄存器中的若干字节信息当作整数处理,就可以计算出n!中的一个排列,再用若干字节来确定加非门的位置,以后的分组可用这个整数加一个任意整数,假如所得整数大于n!,再取n!的模再加1做密钥,或加一个伪随机数做密钥,加一个伪随机数来改变加非门的位置。

6 结论
    从上面可以看出,由于我们引入了分组密码加密技术的新概念,加密解密过程都非常简单,仅是能计算排列码就可完成;硬件实现速度非常快,仅一级与门、一级或门、一级非门的时间就可以完成;加密强度非常高,当n=128时,它的加密强度是DES的10^5781倍;密钥处理非常灵活,密钥可以是数字串,还可以是任意的文字串,可定长、可变长,如一个成语,一段诗词,某本书中的一段话;可使用的算法非常多,可同一集团使用相同算法不同集团使用不同算法,因此即使算法全部公开,攻击者确定究竟使用者使用哪个算法也是一个难题;总的来说,我们的算法各项技术指标优于美国2001年将要出台的AES,对美国2001年将要出台的AES提出了严重的挑战。
参考文献:
[1]Simmons,G.J.,Symmetric and Asymmetric Encryption Computing Surveys, Vol.11, No.4, Dec.1979, 305-330.
[2]冯登国,裴定一.密码学导引[M].北京:科学出版社,1999. 292.


--  作者:binaryluo
--  发布时间:10/6/2005 5:30:00 PM

--  
up
--  作者:waumo
--  发布时间:3/27/2006 5:59:00 PM

--  
up
--  作者:363570828
--  发布时间:3/31/2006 9:00:00 PM

--  
ding
--  作者:waumo
--  发布时间:5/14/2006 5:05:00 PM

--  
d
--  作者:waumo
--  发布时间:6/11/2006 10:27:00 AM

--  
u
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
54.688ms