DES加密算法,为对称加密算法中的一种2年代初由IBM研发,后1977年被美国国家标准局采纳为数据加密标准,即DES全称的由来:数据加密标准。对称加密算法,是相对于非对称加密算法而言的。两者区别在于,对称加密在加密和解密时使用同一密钥,而非对称加密在加密和解密时使用不同的密钥,即公钥和私钥。常见的DES、3 DES、AES均为对称加密算法,而RSA,椭圆曲线加密算法,均为非对称加密算法。
?DES是
以64比特的明文为一个单位来进行加密的,超过64比特的数据,要求按固定的64比特的大小分组,分组有很多模式,后续单独总结,暂时先介绍DES加密算法.DES使用的密钥长度为64比特,但由于每隔7个比特设置一个奇偶校验位,因此其密钥长度实际为56比特。奇偶校验为最简单的错误检测码,即根据一组二进制代码中1的个数是奇数或偶数来检测错误。
?
Feistel网络
DES的基本结构,由IBM公司的霍斯特Feistel设计,因此称Feistel网络。在Feistel网络中,加密的每个步骤称为轮,经过初始置换后的64位明文,进行了16轮Feistel轮的加密过程,最后经过终结置换后形成最终的64位密文。如下为Feistel网络的示意图:
DES、3 DES加密算法原理及其去语言实现