第三章分组密码 内容提要 93.1分组密码概述 93.2数据加密标准DES 93.3差分密码分析和线性密码分析 3.4分组密码的运行模式 3.5 IDEA 3.6 AES-Rijndael 历华毫子代枝大学 21
内容提要 3.1 分组密码概述 3.2 数据加密标准DES 3.3 差分密码分析和线性密码分析 3.4 分组密码的运行模式 3.5 IDEA 3.6 AES-Rijndael 2/ 第三章 分组密码
第三章分组密码:3.1分组密码概述 3.1.1分组密码的基本概念和发展 分组密码(Block Cipher),一类对称密码算法: 。将明文消息分组,逐组加密; ● 将明文消息编码表示后的数字序列x心1,,…划分成长为的组 x=(c0水1,xm-1)eVm(长为n的失量) 各组分别在密钥k=(ko,k1,,k)∈K控制下变换成输出序列 =(0yoy1,…'m-)∈Vm(长为m的失量) 其加密函数E:VnXK→Vm,K为密钥空间 ● 与流密码相比无记忆性。在相同密钥下分别对长为的输入明文组 实施相同变换,所以只需研究对任一组明文数字的变换规则。 分组密码实质上是字长为m的数字序列的代换密码 密钥k=(ko,k,k.1) 密钥k=(ko,k1…,k1) 分组密码框图 明文 加密算法 解密算法 明文 X=(X0X1…Xn-1) 密文y=00,y1…ym-1) X=(X0X1…,Xm-1) 历些毛子代技大学 3/
3.1.1分组密码的基本概念和发展 分组密码(Block Cipher),一类对称密码算法: ⚫ 将明文消息分组,逐组加密; ⚫ 将明文消息编码表示后的数字序列x0 ,x1 ,…,xi ,…划分成长为n的组 x=(x0 ,x1 ,…,xn-1 )Vn(长为n的矢量) ⚫ 各组分别在密钥k=(k0 ,k1 ,…,kt-1 ) K控制下变换成输出序列 y=(y0 ,y1 ,…,ym-1 ) Vm (长为m的矢量) ⚫ 其加密函数E:Vn×K→Vm,K为密钥空间 ⚫ 与流密码相比无记忆性。在相同密钥下分别对长为n的输入明文组 实施相同变换,所以只需研究对任一组明文数字的变换规则。 ⚫ 分组密码实质上是字长为m的数字序列的代换密码 3/ 第三章 分组密码:3.1 分组密码概述 加密算法 明文 分组密码框图 解密算法 明文 x=(x0,x1,...,xn-1) x=(x0,x1,...,xn-1) 密文 y=(y0,y1,...,ym-1) 密钥 k=(k0,k1,...,kt-1) 密钥 k=(k0,k1,...,kt-1)
第三章分组密码:3.1分组密码概述 3.1.1分组密码的基本概念和发展 算法的输入长度和输出长度 。通常取n(用于加密) 若m≠n,则为有数据扩展(m>n)/压缩(m<n)/的分组密码(用于认证) 当前主流分组密码中,明文x和密文均为二元数字序列 分组密码的优缺点 。适合软硬件实现,软件实现及标准化优于流密码 。没有有效的数学工具,安全性一般无法证明 ·参考资料:《对称密码学》胡予濮,张玉清等著 9 《密码分析学》冯登国 历些毛子代枚大学 4/
3.1.1分组密码的基本概念和发展 算法的输入长度和输出长度 ⚫ 通常取m=n (用于加密) ⚫ 若mn,则为有数据扩展(m>n)/压缩(m<n)/的分组密码(用于认证) 当前主流分组密码中,明文x和密文y均为二元数字序列 分组密码的优缺点 ⚫ 适合软硬件实现,软件实现及标准化优于流密码 ⚫ 没有有效的数学工具,安全性一般无法证明 参考资料:《对称密码学》胡予濮,张玉清等著 《密码分析学》冯登国 4/ 第三章 分组密码:3.1 分组密码概述
第三章分组密码:3.1分组密码概述 3.1.1分组密码的基本概念和发展 分组密码的作用 。加密(适合软硬件实现) 。构成其它密码功能的基本模块 ·1.构造伪随机数生成器。用于产生性能良好的随机数 ·适合产生少量随机数,如ANSIX9.17(基于EDE算法) ·2.构造流密码。 ·速度比移位寄存器慢得多,但软件实现方便 ·采用适当的分组链接模式(CFB或OFB)可实现 ·3.消息认证和数据完整性保护 ·通过用于构造消息认证码MAC)和杂凑函数等来实现 历些毛子代枚大学 5/
3.1.1分组密码的基本概念和发展 分组密码的作用 ⚫ 加密(适合软硬件实现) ⚫ 构成其它密码功能的基本模块 ⚫ 1. 构造伪随机数生成器。用于产生性能良好的随机数 ▪ 适合产生少量随机数,如ANSI X9.17(基于EDE算法) ⚫ 2. 构造流密码。 ▪ 速度比移位寄存器慢得多,但软件实现方便 ▪ 采用适当的分组链接模式(CFB或OFB)可实现 ⚫ 3. 消息认证和数据完整性保护 ▪ 通过用于构造消息认证码(MAC)和杂凑函数等来实现 5/ 第三章 分组密码:3.1 分组密码概述
第三章分组密码:3.1分组密码概述 3.1.1分组密码的基本概念和发展 分组密码算法设计的研究发展概况 。(一)古典密码学阶段 )算法保密,出现了代换和置换的方法 ●2)产生了乘积密码的思想 ·指顺序地执行两个或多个基本密码系统,使最后结果的密码强度高于 每个基本密码系统的强度 ·多轮加密3.1.3节1段),或叫多轮迭代 0 3)基尔霍夫准则:密码系统的安全性不依赖于算法,而只依赖于 密钥的保密性 历些鼋子代枝大学 6/
3.1.1分组密码的基本概念和发展 分组密码算法设计的研究发展概况 (一)古典密码学阶段 ⚫ 1)算法保密,出现了代换和置换的方法 ⚫ 2)产生了乘积密码的思想 ⚫ 指顺序地执行两个或多个基本密码系统,使最后结果的密码强度高于 每个基本密码系统的强度 ⚫ 多轮加密(3.1.3节1段),或叫多轮迭代 ⚫ 3)基尔霍夫准则:密码系统的安全性不依赖于算法,而只依赖于 密钥的保密性 6/ 第三章 分组密码:3.1 分组密码概述