对称加密之DES经典算法
DES加密算法(Data Encryption Standard)
算法说明:
作为DES数据加密标准的算法实现,DEA(Data Encryption Algorithm)是一种被广泛应用的基于密钥的经典对称分组加密算法,这些年来,对寻找和研究该算法的弱点进行了非常多的尝试,使得DES是现存加密算法中被研究得最为彻底的一个。即使在当今由于计算硬件发展飞速,56位DES在高速密钥穷举攻击面前变得不再安全的情况下,至今仍然没有人找到DES的致命缺陷,通过将密钥空间扩展到168位的3DES,依然是目前无法被破解的安全可靠的强大加密算法。
DES遵循了分组密码设计的两个原则:混淆和扩散。混淆是使密文的统计特性与密钥的取值之间的关系尽可能复杂化,以使密钥和明文以及密文之间的依赖性对密码分析者来说是无法利用的。扩散的作用就是将每一位明文的影响尽可能迅速地作用到较多的输出密文位中,以便在大量的密文中消除明文的统计结构,并且使每一位密钥的影响尽可能迅速地扩展到较多的密文位中,以防对密钥进行逐段破译。
要点:
1.DES是一个经典的分组加密算法,以64位为分组对数据进行加密(分组),加密和解密使用的是同一个算法(对称);
2.密钥长64位,事实上56位参与DES运算,每8位中最后一位是奇偶校验位(保证密钥每8位都有奇数个1);
3.加密过程:对于每一个明文分组,进行一次初始置换IP(Initial Permutation),