第四章 分组密码

目录

        4.1 分组密码概述

4.1.1 概述

4.1.3 分组密码的设计原理

4.2 DES分组密码算法

4.2.1 DES算法概述

4.2.2 初始置换和逆初始置换

4.2.3 圈函数

4.2.4 DES算法的F函数

4.2.5 DES中的子密钥的生成

4.2.6 加、脱密相似性

4.2.7 安全性分析

4.2.8 DES分组密码算法小结

4.3 分组密码的基本设计原则

4.3.1 安全原则

4.3.2 实现原则

4.4 分组密码的整体结构

4.4.1 S-P网络

4.4.2 Feistel 模型

4.5 IDEA

4.5.1 IDEA概述

4.5.2 算法描述

4.5.3 安全性特点

4.5.4 总结

4.6 AES基本运算

4.6.1 AES概述

4.6.2 圈函数描述

4.6.2 圈函数的细节

4.6.3 加脱密的相似性

4.6.4 密钥调度算法

4.6.5 实现中的问题

4.6.6 AES总结

4.7 分组密码的工作模式

4.7.1 电码本模式(ECB)

4.7.2 密文分组链接模式(CBC)

4.7.3 密文反馈模式(CFB)

4.7.4 输出反馈模式(OFB)

(1)分组密码的基本概念和基本设计原则

(2)数据加密标准DES和高级加密标准AES

(3)分组密码的常见攻击方法

(4)分组密码的工作模式

4.1 分组密码概述

4.1.1 概述

(1)基本概念

  • 明文空间:{0,1}n

  • 密文空间:{0,1}n

  • 密钥空间:{0,1}n

  • 加密算法:c=Ek(m)

  • 脱密算法:m=Dk(c)

(2)分组密码的工作模型

(3)对分组密码安全性要求

4.1.3 分组密码的设计原理

  • 安全性原则:扩散、混淆

分组密码一般都被设计成迭代型。利用一些简单的密码变换,如:代替

移位加减等设计出一个圈函数F,通过它多次迭代的方法,产生一个保密强度高实现性能好的分组密码算法。

4.2 DES分组密码算法

4.2.1 DES算法概述

  • 密钥其余8个比特是校验码,用于检测输入的密钥是否被输错

加密框图如下:

  • 第16圈没有左右交换

4.2.2 初始置换和逆初始置换

4.2.3 圈函数

第16圈函数:

  • R16=R15

  • L16=L15⊕F(R15,k15)

4.2.4 DES算法的F函数

  • F(R,k) = PS(E(R)⊕K)

1. 扩展E盒

2. 压缩替代S盒

3. 移位变换P盒

DES的P盒的设计特点:

(1)P盒的各输入块的4个比特都分配到不同的4比特输出块

(2)P盒的各输出块的4个比特都来自不同的4比特输入块

(3)复合变换EP的各输出块的6个比特都来自不同的输入块,各输入块的4个比特分配到6个不同的输出块。

4. 例题

5. DES运行框图

4.2.5 DES中的子密钥的生成

1. 置换选择1

2. 置换选择2

  • 从56个密钥比特中去除48个作为子密钥

3. 两个28级密钥寄存器循环左移的位数

4.2.6 加、脱密相似性

4.2.7 安全性分析

  • F函数(S-Box)设计原理未知

  • 密钥长度的争论

  • DES的破译

  • 弱密钥与半弱密钥

加强DES安全强度的方法:二重DES和三重DES。

1. 双重DES

双重DES的中间相遇攻击:

2. 三重DES

4.2.8 DES分组密码算法小结

(1)密码模型

  • Feistel模型

(2)F函数模型

S-P网络

(3)基本参数

  • 分组长度:64bite

  • 密钥长度:64bite

  • 有效密钥长度:56bite

  • 迭代圈数:16圈

  • 每圈子密钥长度:48bite

(4)编码环节:

  • 6进4出的S盒变换

  • 逐位模2加变换

  • 比特移位变换P盒

  • 比特扩展E盒

  • 比特抽取变换PC1、PC2和IP

(5)实现性能

  • 软件实现慢、硬件实现快;可全部用布尔电路实现

4.3 分组密码的基本设计原则

4.3.1 安全原则

  • 混乱原则和扩散原则是保证分组密码安全性的两个基本设计原则。

1. 混乱原则

2. 扩散原则

4.3.2 实现原则

1. 硬件实现原则

2. 软件实现原则

4.4 分组密码的整体结构

  • 将简单的代替变换和移位变换做乘积,复合成一个具有一定混乱和扩散结构的较弱的密码函数,然后再将这个较弱的密码函数与它自己多次做乘积(迭代),复合成一个强的密码函数。

  • 实现迭代密码思想的常见模型包括:S-P网络、Feistel模型

4.4.1 S-P网络

4.4.2 Feistel 模型

缺点:

4.5 IDEA

4.5.1 IDEA概述

4.5.2 算法描述

1. 加密过程

2. 脱密过程

3. 密钥生成算法

4. 加、脱密变换的相似性

4.5.3 安全性特点

1. IDEA算法中的环节作用

2. 完全性

3. 群运算间的不相容性

4.5.4 总结

4.6 AES基本运算

4.6.1 AES概述

AES算法是迭代型分组密码算法

AES加密框图

4.6.2 圈函数描述

1. 字节代替

2. 行移位

3. 列混合

4.6.2 圈函数的细节

1.AES定义的GF(28)上字节乘法和加法运算

2. 字节代替

(1)x-1变换

(2)仿射变换

3. 列混合

4.6.3 加脱密的相似性

AES脱密框图:

4.6.4 密钥调度算法

4.6.5 实现中的问题

1. 关于软件实现

2. 关于硬件实现

3. GF(28)上的乘法

4.6.6 AES总结

  • 算法的总体结构

  • 圈函数的内容

  • 密钥生成算法

  • 加、脱密相似性

  • 算法的软硬件实现特点

4.7 分组密码的工作模式

4.7.1 电码本模式(ECB)

  • ECB模式:将明文的各个分组独立地使用同一密钥k加密

(1)ECB模式中的密文挪用

  • 当明文的最后一个分组mN的长度不足一个完整的分组时,设长度是lenN

(2)ECB的优缺点

(3)替代攻击

(4) ECB模式的应用环境

  • 用于随机数的加密保护

  • 用于单分组明文的加密

4.7.2 密文分组链接模式(CBC)

密文分组链接,使得各输出分组不仅与当前输入分组有关,而且与以前各输入分组和输出分组有关(当同一个明文分组重复出现时产生不同的密文分组)

(1)CBC

(2)CBC模式中的密文挪用

(3) CBC模式的特点

4.7.3 密文反馈模式(CFB)

(1)CFB模式

(2)CFB模式的脱密过程

4.7.4 输出反馈模式(OFB)

(1)OFB模式

(2)OFB模式的脱密过程

(3)OFB模式的优缺点

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值