浅谈密码技术中的DES加密算法摘要:随着计算机网络技术和计算机通信技术的快速发展,计算机密码学得到了前所未有的重视并且得到了迅速的发展,已成不计算机安全的一个重要的研究方向。关键词:加密技术DES算法密码学已经成为提高计算机安全的一个重要的研究方向,同时也成为计算机安全课程教学中的一个更为主要的内容。密码技术是实现密秘通信的手段,是隐蔽文字、图像和声音的一种特种符号。这些特种符号通常按照通信双方约定好的方法把原来的信息进行隐蔽,不为第三方所知的通信方式就叫密码通信。在计算机中,采用密码技术将信息隐蔽起来,再将隐蔽后的信息传播出去,使信息在传输过程中即使被窃取或截获,窃取者也没有办法了解信息的内容,从而达到保证信息的安全性。数据加密的一般模型如图1所示。在图1中,把未加密的原始数据称为明文数据,用M表示;把经过加密算法加密的数据称为密文数据,用C表示;加密算法用E表示;解密算法则用D表示。即M经过E加密后得到C,表示为C=E(M)。接收到C后,由公式M=D(C)得于M。在众多的加密算法中,DES算法是由IBM公司研制,由美国联邦定为加密标准。DES算法的工作原理是公开加密和解密的算法,DES算法对密钥进行保密。只有掌握与发送方相同的密钥之后才能解
f读出由DES算法所加密的密文数据。所以想要破解DES的密文的实际是搜索密钥的编码。如要破解56位长度的密钥,如果用穷举法进行搜索,运算次数为。DES密钥的生成如下:(1)取得密钥从用户处取得一个64位本文如未特指,均指二进制位长的密码key去除64位密码中作为奇偶校验位的第8、16、24、32、40、48、56、64位剩下的56位作为有效输入密钥。(2)等分密钥DES加密算法
把在1步中生成的56位输入密钥分成均等的AB两部分每部分为28位参照表1和表2把输入密钥的位值填入相应的位置按照表1所示A的第一位为输入的64位密钥的第57位,A的第2位为64位密钥的第49位,,依此类推,A的最后一位是64位密钥的第36位。
f(3)密钥移位
DES算法的密钥是经过16次迭代得到一组密钥的把在112步中生成的AB视为迭代的起始密钥表3显示在第i次迭代时密钥循环左移的位数比如在第1次迭代时密钥循环左移1位第3次迭代时密钥循环左移2位第9次迭代时密钥循环左移1位第14次迭代时密钥循环左移2位DES加密算法的实现利用算法核心代码封装的接口函数编写一个针对文本文件的加密解密工具。选择把密文以r