关于改进DES算法的设想

关于改进DES算法的设想刚接触DES时,就被它巧妙的设计所吸引,等到了解的它的不能过于乐观的前景之后,便一直希望能够为这个讨人喜欢的算法做点努力,但直到真正开始试图改进的时候,才知道这件事实在不容易,从而也更为佩服前辈们的精巧构思。众所周知,现在计算机、微机的速度越来越快,DES受穷举法攻击的威胁性也就越来越大,特别是已知明文攻击法,所以人们从未放弃过改进它的努力。但,为了不使改进后的算法反而减弱了DES的加密强度,尝试新的改进也应该避免以下几种情况:第一,改变S-盒的次序将减弱DES抵抗差分密码分析的能力,进而减弱DES算法的加密强度,为攻击者提供方便。有经验说,使用某些特定次序的S-盒的16-圈DES仅需要大约选择2个明文就能用差分分析方法破译,并得出结论:不管怎样随机选择S-盒都不会比DES更安全;第二,n重加密。这将增加(n-1)倍的计算时间,且三重加密也早已是如今人们应用较广的的一种DES变形办法;第三,每圈迭代都使用不同的子密钥,而不是由单个的56比特密钥来产生。但据密码专家比哈姆(Biham)及沙米尔(Shamir)证明利用261个选择明文便可破译这个DES变形,而不是人们所希望的2768个;第四,增加分组的长度,并提高DES的速度。广义的DES就是一个失败的例子,即使是分组长度为256比特的64-圈广义DES也比16-圈DES弱。有事实证明:比DES快的任何广义DES也就比它不安全。目前看来,DES最有可能受到的威胁是已知明文想获取密钥的穷举攻击法,因此,以下的设想也主要是针对这一点进行的,但这只是一个小小的改进,并且也需要花费一点代价。下面将进行详细阐述。一、基本思路:明文攻击法的一个显著特点是根据明文与得出的相应的密文之间的联系来进行判断,但如果用一次一密钥的方法必然带来密钥管理上相应资源的支出,大量的密钥所需要的搜索时间势必影响程序的运行效率,且在密钥的管理上还有一个安全性的问题。这样一来,在总体上也严重损害了DES精巧实用的突出特点。本文的思路是根据所输入的明文的并不显著的特点来改变子密钥的使用顺序,使得不同的密文其使用的密钥实际上可能完全不同(也可能完全相同),而又不增加管理上的负担,对运行效率的影响也比三重DES小。简单的说,就是将明文经IP变换后每行的0或1的数目的奇偶性用0/1来表示,并将原子密钥做同样处理,然后将两者异或,得到的结果用于将原子密钥重新排序,而后进行正常的DES加密过程;并将16个子密钥的顺序(共64bit)进行加密(可使用原密钥或启用一个辅密钥)。解密时,需先将子密钥的顺序解出,再解出原文。二、流程图:1、加密流程图(逆序,便是解密流程图):2、子密钥重排序算法流程图:IP(明文m)(64bit)密钥k(64bit)原子密钥(16组)按位作不进位加法(输出t)按t对原子密钥的顺序作交换排序16个重新排序的子密钥明文密钥明文主密钥密文辅(主)密钥密文密钥的密文(原DES)(改进后)IP变换16次迭代生成子密钥IP变换16次迭代生成子密钥子密钥重排序DES三、算法过程:1、IP置换,保存结果,并对结果中的每一行,计算每个1后面的0的个数及每个0后面的1的个数,若为奇数,得1,若为偶数,得0,最后一个则计算其前面的0或1的个数,最后可得到一64bit数,;2、将这一64bit数与密钥按位做不进位加法,仍得到一64bit数t;将这64bit按顺序分为16个数,即b0、b1、…、b14、b15;3、交换原子密钥的顺序:设原子密钥顺序为:k0、k1、…、k14、k15,交换的原则为:若bx(x:从0到15)的值为y(y:从0到15),则kx与ky交换位置,从b0开始计算、交换,直至b15为止,便可得到一新的子密钥顺序;4、按照新的子密钥顺序继续DES的加密过程,直至结束;5、出于解密的需要,应将更改后的子密钥顺序代码进行加密,也就是说若新的子密钥顺序为k10k3k5k9……,则顺序代码为64位的1010001101111001……,对之进行原DES加密,这时的密钥可采用原密钥或别的工作密钥,结果或其指针可与原码的密文存在一起,以便减少管理上资源及效率的损耗。6、解密时只需取回子密钥顺序,便可解回去。四、结论:1、从效率上看,由于这个算法改变的部分采用的都是最简单的基本算法,增加的一个对密钥顺序加...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供参考,付费前请自行鉴别。
3、如文档内容存在侵犯商业秘密、侵犯著作权等,请点击“举报”。

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

客服邮箱:

biganzikefu@outlook.com

所有的文档都被视为“模板”,用于写作参考,下载前须认真查看,确认无误后再购买;

文档大部份都是可以预览的,笔杆子文库无法对文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;

文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为依据;

如果您还有什么不清楚的或需要我们协助,可以联系客服邮箱:

biganzikefu@outlook.com

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

笔杆子文秘
机构认证
内容提供者

为您提供优质文档,供您参考!

确认删除?