1 相关概念
数据加密标准(DES:Data Encryption Standard)
– 对称分组密码算法;
– 1979年,美国银行协会批准使用;
– 1980年,美国国家标准局(ANSI)同意DES作为私人使用的标准,称之为DEA (ANSI X.392) ;
– 1983年,国际化标准组织ISO同意DES作为国际标准,称之为DEA-1;
– 该标准规定每五年审查一次,计划十年后采用新标准;
– 最近的一次评估是在1994年1月,已决定1998年12月以后,DES将不再作为联邦加密标准。
(1) 明文
明文是指没有经过加密的数据。一般而言,明文都是等待传输的数据。由于没有经过加密,明文很容易被识别与破解,因此在传输明文之前必须进行加密处理。
(2) 密文
密文只是明文经过某种加密算法而得到的数据,通常密文的形式复杂难以识别及理解。
(3) 密钥
密钥是一种参数,它是在明文转换为密文或将密文转换为明文的算法中输入的参数。
(4) 对称加密
通信双方同时掌握一个密钥,加密解密都是由一个密钥完成的(即加密密钥等于解密密钥,加解密密钥可以相互推倒出来)。双方通信前共同拟定一个密钥,不对第三方公开。
(5) 分组密码
分组密码是将明文分成固定长度的组,每一组都采用同一密钥和算法进行加密,输出也是固定长度的密文。
2 DES加密算法
(1) 分组长度
DES属于分组密码,明文和密文为 64 位分组。密钥的长度为 64 位,但是密钥的每个第八位设置为奇偶校验位,因此密钥的实际长度为56位。
(2) 算法流程
算法流程如下:
使用初始置换表对明文进行置换,这里的置换只是将数据的位置进行变化,得到一个新的数据。初始逆置换表和初始置换表是相互可逆的,就是将原来的数据的位置进行还原。