如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
浅议DES算法DES简介:简介:1973年美国国家标准局(nationalbureauofstandards,NBS)认识到建立数据加密标准的迫切性,开始征集联邦数据加密标准。1975年3月17日NBS公布了IBM公司提供的密码算法,经过两年多的公开讨论之后,1977年1月15日NBS宣布批准其作为联邦信息处理标准46号(即FIPS-46),同年7月15日开始生效。这一算法被命名为数据加密标准(dataencryption供商业和非国防性政府部门使用。本文主要讨论以下内容:文主要讨论以下内容:1、DES的加密为什么是同样的过程,即其可逆正确性的原因。2、以SDES为例说明函数F中的几个问题。3、DES中有关置换函数的规律。4、DES的设计思想。5、在DES基础上的blowfish算法。由于DES算法规模过大,故先用SDES来讨论,之后再推广到DES中去。standard,DES),1、可逆正确性的原因(以SDES为例)为例)可逆正确性的原因(我们知道任何算法的解密过程都必须是原算法的严格的逆才可以,但是DES的解密过程与加密过程用相同的步骤相同的流程,唯一的区别就是在解密时要先用K2后用K1。为什么会出现这种现象呢?首先请看下页的SDES的流程图以及对照表:由下表可以知道SDES中的解密过程是严格成立的。因为任何数与其自身进行模2加后的结果都是0。(主要表现在解密是函数F上)。正由于其可逆是完全成立的,故F函数中的运算可以随意定义。DES中的解密也和SDES中的一样,只不过是经过16轮的迭代,子密钥多几个而已,它们都因为模2加和严格的逆而使得其加密和解密使用同一个流程。明文主密钥IP置换26314857P10置换35274101986L0R0LS-1LS-1?fP8置换637485109L1R1K1?L2fR2LS-2LS-2P8置换637485109IP-1置换26314857K2密文加密L0=IP(明文)解密(AL,AR为记号)逆序明文=IP-1(AL2,AR2)AL2=AL1?f(AL1,K1)AR2=AR1AL1=AL0?f(AR0,K2)AL1=AR0AR0=IP(密文)AL0=IP(密文)对应IP-1=(IP)-1AL2=L0?f(R0,K1)?f(R0,K1)=L0AR2=L1=R0AL1=L1?f(R1,K2)?f(R1,K2)=L1AL1=AR0=R2;AL1=R1AL0=L2;AR0=R2IP=(IP-1)-1R0=IP(明文)L1=R0R1=L0?f(R0,K1)R2=R1L2=L1?f(R1,K2)密文=IP-1(L2,R2)2、f函数、R0/R1E/P扩展置换41232341?S1S2Kn(n=1,2)P4置换2431SDES中的F函数的运算过程如上图所示。首先是R0或R1进行扩展置换,然后再与Kn进行逐位异或运算,然后结果从中间分成两组,分别进入相应的S盒,S盒的输入有4位,首尾合在一起构成相应的行,中间决定列,然后找出相应的正确的输出。两组输出再进行P4置换后成为F的最终的输出结果。S盒的查询分布由下表给出。S盒所呈现出来的原因这里先不作讨论,放在后面DES中的S盒的分布一起讨论。S盒的分布S100011011S200011011000100111000000110110111100100011000011110001001111011100100111101001011100100113、DES中的几个问题、首先看流程图:明文初始置换IPL0R0K1?L1fR1K2?L2fR2L15R15K16?L16fR16逆初始置换IP-1密文DES的加密过程如上图所示,我们可以看到它与SDES相差不大,其区别就是DES比SDES多了14轮的迭代。它与SDES一样,都有Li=Ri-1Ri=Li-1?f(Ri-1,Ki)i=1,2.........16的结构。所以其解密正确性毋庸置疑。其IP置换以及IP逆置换由下表给出,观察这两个表我们不难看出IP表的规律为:n为任一个元素的数值,n=8X+Y,Y∈[1,8];Y=2z+a,a∈[0,1]。那么n的对应的位置为(8-x)行(z+5a)列。直观的看就是按从上到下从右到左的顺序把1--64排成一个8×8的方阵,列不动,把该列中双号元素提上,单号元素压下既