9175725 加密过程结束,解密过程是用K16,K15,…..K1 3.3DES算法的伪代码表示 C[0]d[0]=PC1(KEY) FORI=1TO16 C[I]=LS[I](C[I-1]) D[I]=LS[I](D[I-1]) K[I]=PC2(C[I]D[I]) L[0]R[0]=IP(PLAINBLOCK) FORI=1TO16 L[I]=R[I-1] R[I]=L[I-1]?F(R[I-1],K[I]) CIPHERBLOCK=FP-1(L[16]R[16]) 4算法安全性分析 DES算法具有相当高的复杂性,密码函数F的非线性性质非常好,起到的“扰乱”效果非常显著,并且还遵循了严格雪崩准则和比特独立准则,这使得要破译它的开销要超过可能获得的利益。再加上其便于理解掌握,经济有效,因此,得到了广泛的应用。算法具有极高的安全性,到目前为止,除了用穷举搜索法对算法进行攻击外,还没有发现更有效的办法。而56位长的密钥的穷举空间为256,这意味着如果一台计算机的速度是每一秒种检测一百万个密钥,则它搜索完全部密钥就需要将近2300年的时间。而采用三重DES,破译它就更可想而知了。当然,这并不等于说是不可破解的。而实际上,随着硬件技术和网络的发展,其破解的可能性越来越大,而且,所需要的时间越来越少。 DES算法的有效密钥长度为56位,因此,在实际应用中,我们应避开使用第8,16,24,......64位作为有效数据位,才能保证DES算法安全可靠地发挥作用。如果不了解这一点,将不能保证DES加密数据的安全性,对运用DES来达到保密作用的系统产生数据被破译的危险,这正是DES算法在应用上的误区,留下了被人攻击、被人破译的极大隐患。参考文献: [1]陈卓.网络安全技术[M].北京:机械工业出版社,2004. [2]胡建伟.网络安全与保密[M].北京:西安电子科技大学出版社,2003.