分组密码的设计准则
完全性、非线性性、相关(关系)免疫性。
• DES加密原理
➢初始置换
➢每个循环的详细过程
➢密钥的产生
➢DES算法的安全强度
➢3DES
应用密ห้องสมุดไป่ตู้技术
3.3 高级加密标准
• Rijndael算法:本质上是一种对称分组密码
体制,采用替代/置换网络,每轮由三层组 成。它是一个迭代分组密码,分组长度和 密钥长度都是可变的。
应用密码技术
3.1.3 分组密码的设计准则
• S盒的设计准则 • P盒的设计准则 • 轮函数F的设计准则 • 迭代的轮数 • 子密钥的生成方法
应用密码技术
3.2 数据加密标准
• DES处理的明文长度是64位,密文分组长度
也是64位,密钥长度位56位(要求输入64位)
• DES的一般设计原则:随机性、雪崩效应、
➢扩散:每一位明文的影响尽可能迅速地作用到 较多的输出密文位中去。主要使用换位算法。
➢混乱:密文和明文之间的统计特性关系尽可能 地复杂化。主要使用替代算法。
➢乘积密码:是指依次使用两个或两个以上的基 本密码,所得结果的密码强度将强于所有单个 密码的强度,即是扩散和混乱两种基本密码操 作的组合变换。
应用密码技术
• AES:处理的分组大小为128位,密钥长度
为128位、192位或256位,相应的迭代轮数 为10、12、和14轮。
应用密码技术
3.4 其他分组密码
• DES变形、RC系列分组密码、IDEA密码等。 • KASUMI密码。
应用密码技术
分组密码的操作模式(补充)
• 电子密码本模式(ECB) • 密码分组链接模式(CBC) • 计数器模式(CTR模式) • 输出反馈模式(OFB) • 密码反馈模式(CFB)
注:雪崩效应:输入(明文或密钥)即使只 有很小的变换,也会导致输出发生巨大的 变化现象。
应用密码技术
• Feistel结构的实现依赖的参数和特征:
➢分组长度:要求长,一般64位和128位。 ➢密码长度:要求长,一般128位。 ➢迭代轮数:要求多,一般16轮。 ➢子密钥生成算法:要求复杂。 ➢轮函数:要求复杂。
第3章 分组密码体制
3.1 分组密码 3.2 数据加密标准(DES) 3.3 高级加密标准(AES) 3.4 其他分组密码
应用密码技术
3.1.1 分组密码概述
• 分组密码算法:在密码的控制下,通过某
个置换来实现对明文的加密变换。
• 分组密码的算法要求:
➢ 分组长度足够大; ➢ 密钥量足够大; ➢ 密码变换足够复杂。
• SP网络:由多重S变换和P变换组合成的变
换网络,即迭代密码,是乘积密码的一种。
➢S盒:S变换(替代),混乱作用。 ➢P盒:P变换(换位),扩散作用。
• Lucifer算法:使用S盒和P盒交替在密钥控
制下组成复杂的、分组长度足够大的密码 设计方法。(输入128位明文和512位密钥, 输出128位密文)
应用密码技术
• 分组变换常使用的方法:
➢ 将大明文分组成几个小段,分别完成各个小段的加密 置换,最后进行合并操作,达到使总的分组长度足够 大;
➢ 采用乘积密码,即以某种方式连续执行两个和多个密 码变换。
应用密码技术
3.1.2 分组密码原理
• 扩散和混乱是分组密码最本质的操作,多
数使用Feistel分组密码结构