1、DES背景
1、DES是数据加密标准的缩写,是第一个公开的分组加密算法。
2、1972年美国商业部所属的美国国家标准局NBS开始实施计算机数据保护标准的卡法计划。
3、1973年,NBS公开征集计算机数据加密算法,用于保护政府机构和商业部门非机密的敏感数据
4、1977年,NBS采纳了IBM的Lucifer算法的修正版作为数据加密标准DES。
2、加密流程
1、分组长度:64bit
密钥长度:64bit
有效密钥长度:56bit
2、流程
初始置换
密钥置换
扩张变换
S-盒替换
S盒的设计准则:
1、S盒的输出都不是其输入的线性或仿射函数
2、改变S盒的一个输入比特,其输出至少有两比特产生变化,即近一半产生变化。
3、当S盒的任一输入位保持不变,其他5位输入变化时,输出数字中的0和1的总数近于相等。
P-盒置换
P盒置换是对32比特数据进行比特置换
置换P的输入/输出关系可以用表来表示,变换规则和初始置换相同
作用:置换P与S盒相互配合,起到了扩散作用,共同确保DES的安全
(16轮迭代)
单轮变换的数学描述:
缺点:扩散速度慢:轮变换的输入有一半没有改变
左右块的处理不能并行实施
优点:设计容易:轮函数F不要求可逆
P盒的设计特点:
1、P盒的各输入组的4个比特都分配到不同的输出组
2、P盒的各输出组的4个比特都来自不同的输入组
逆初始置换
DES解密:加密和解密可使用相同的算法,即解密过程是将密文作为输入序列进行相应的DES加密,与加密过程唯一不同之处是解密过程使用的轮密钥与加密过程使用的次序相反。
3、DES分析
1、不足以抵御穷举式搜素攻击
2、使用者无法相信DES的内部结构不存在任何潜在弱点
3、DES存在弱密钥和半弱密钥
4、对DES的攻击
差分分析方法
线性分析方法
旁路攻击法
4、DES的改进–多重DES