文档详情

《应用密码学》课件第3章.ppt

发布:2024-12-04约4.67万字共244页下载文档
文本预览下载声明

第3章分组密码体制

3.1分组密码概述

3.2分组密码的原理

3.3数据加密标准

3.4高级加密标准

3.5SMS4密码算法

3.6其他典型的对称密码体制简介

3.7对称密码体制的工作模式

3.8对称密码算法的应用

3.1分组密码概述

分组密码是一种广泛使用的对称密码。和对称密码中的

序列密码(流密码streamcipher)不同,分组密码在加密过程

中不是将明文按字符逐位加密,而是首先要将待加密的明文

进行分组,每组的长度相同,然后对每组明文分别加密得到

密文。分组密码系统采用相同的加密密钥和解密密钥,这是

对称密码系统的显著特点。

例如将明文分为m块:P0,P1,P2,…,Pm-1,每个块

在密钥作用下执行相同的变换,生成m个密文块:

C0,C1,C2,…,Cm-1,每块的大小可以是任意长度,但通常是每

块的大小大于等于64位(块大小为1比特位时,分组密码就

变为序列密码)。如图3-1所示是通信双方最常用的分组密

码基本通信模型。

图3-1分组密码基本通信模型图

在图3-1中,参与通信的实体有发送方Alice、接收

方Bob。而攻击者是在双方通信中试图攻击发方或者收方信

息服务的实体,攻击者经常也称为敌人、对手、搭线者、窃

听者、入侵者等,并且攻击者通常企图扮演合法的发送方或

者接收方。

由图3-1所示,一个分组密码系统(BlockCipherSystem,

简称BCS)可以用一个五元组来表示:BCS={P,C,K,E,D}。

其中,P、C、K、E、D分别代表明文空间、密文空间、密

钥空间、加密算法、解密算法。

设X={x0,x1,…,xn-2,xn-1}为一组长度为n的明文块,在

密钥K={k0,k1,…,kt-1}的加密作用下得到密文块

Y={y0,y1,…,ym-2,ym-1},其中xi,yj,kr∈GF(2),且

0≤i≤n-1,0≤j≤m-1,0≤r≤t-1

若n=m,明文块长度等于密文块长度,称之为无数据扩

展和压缩的分组密码;

若nm,明文块长度大于密文块长度,称之为有数据压

缩的分组密码;

若nm,明文块长度小于密文块长度,称之为有数据扩

展的分组密码。

为了保证分组密码的安全强度,设计分组密码时应遵循如

下的基本原则:

(1)分组长度足够长,防止明文穷举攻击,例如DES

(DataEncryptionStandard)、IDEA(InternationalData

EncryptionAlgorithm)等分组密码算法,分组块大小为64bit,

在生日攻击下用232组密文,破解成功的概率为0.5,同时要求

232×64bit=215MB大小的存储空间,故在目前环境下采用穷举

攻击DES、IDEA等密码算法是不可能的;而AES明文分组为

128bit,同样在生日攻击下用264组密文,破解成功的概率为0.5,

同时要求存储空间大小为264×128bit=248MB,所以采用穷举攻

击AES算法在计算上就更不可行。

(2)密钥量足够大,同时需要尽可能消除弱密钥的使用,

防止密钥穷举攻击,但是由于对称密码体制存在密钥管理问

题,密钥也不能过大。

(3)密钥变换足够复杂,能抵抗各种已知攻击,如差

分攻击、线性攻击、边信道攻击等,即使得攻击者除了穷举

攻击外找不到其它有效的攻击方法。

(4)加密和解密的运算简单,易于软硬件高速实现。

(5)数据扩展足够小,一般无数据扩展。

(6)差错传播尽可能小,加密或解密某明文或密文分

组出错,对后续密文解密的影响也尽可能小。

3.2分组密码的原理

20世纪40年代末,ClaudeShannon(香农)在遵循Kerckhoff

(柯克霍夫)原则前提下,提出了设计密码系统的两个基本方

法——扩散和混淆,目的是抗击攻击者对密码系统的统计分析。

(1)扩散:将明文的统计特性散布到密文中去,实现方式

是使得明文的每一位影响密文中多位的值,等价于密文中每一位

均受明文中多位的影响。在分组密码中,对数据重复执行某个置

换,再对这一置换作用于一函数,可获得扩散。

(2)混淆:使密文和密钥之间的统计关系变得尽可能复杂,

使得攻击者无法得到密文和密钥之间的统计,从而攻击者无法得

到密钥。

1.代替—置换网络

1949年,ClaudeShannon(香农)在他的论文中提出了

一种乘积密码,实现混淆和扩散。乘积密码通常伴随一系列

置换与代替操作,常见的乘积密码是迭代密码。许多分组密

码重复一个或几个步骤:代替

显示全部
相似文档