Presentation is loading. Please wait.

Presentation is loading. Please wait.

(第六讲) 分组密码的应用技术 张焕国 武汉大学计算机学院

Similar presentations


Presentation on theme: "(第六讲) 分组密码的应用技术 张焕国 武汉大学计算机学院"— Presentation transcript:

1 (第六讲) 分组密码的应用技术 张焕国 武汉大学计算机学院
密 码 学 (第六讲) 分组密码的应用技术 张焕国 武汉大学计算机学院

2 目 录 1、密码学的基本概念 2、古典密码 3、数据加密标准(DES) 4、高级数据加密标准(AES) 5、中国商用密码(SMS4)
目 录 1、密码学的基本概念 2、古典密码 3、数据加密标准(DES) 4、高级数据加密标准(AES) 5、中国商用密码(SMS4) 6、分组密码的应用技术 7、序列密码 8、习题课:复习对称密码 9、公开密钥密码(1)

3 目 录 10、公开密钥密码(2) 11、数字签名(1) 12、数字签名(2) 13、HASH函数 14、认证 15、密钥管理
目 录 10、公开密钥密码(2) 11、数字签名(1) 12、数字签名(2) 13、HASH函数 14、认证 15、密钥管理 16、PKI技术 17、习题课:复习公钥密码 18、总复习/检查:综合实验

4 一、计算机数据的特殊性 1、存在明显的数据模式: 许多数据都具有某种固有的模式。这主要是由数据冗余和数据结构引起的。
各种计算机语言的语句和指令都十分有限,因而在程序中便表现为少量的语句和指令的大量重复。 各种语言程序往往具有某种固定格式。 数据库的记录也往往具有某种固定结构。 操作系统和网络也有同样的问题。

5 一、计算机数据的特殊性 1、存在明显的数据模式: 根据明文相同、密钥相同,则密文相同的道理,这些固有的数据模式将在密文中表现出来。
掩盖明文数据模式的方法: 预处理技术(随机掩盖) 链接技术 如果不能掩盖数据模式,既使采用安全的密码算法也是徒劳的。

6 二、分组密码的工作模式 1977年DES颁布。1981年美国针对DES的应用制定了四种基本工作模式: 电码本模式(ECB)
密文反馈链接模式(CBC) 密码反馈模式(CFB) 输出反馈模式(OFB)

7 二、分组密码的工作模式 2000年美国在征集AES的同时又公开征集AES的工作模式。共征集到 15个候选工作模式。
新的工作模式标准还在评审中。 这些新的工作模式将为AES的应用作出贡献。

8 二、分组密码的工作模式 1、电码本模式(ECB) 直接利用分组密码对明文的各分组进行加密。 设 明文M=(M1 ,M2 ,…,Mn ),
密钥为K, 密文C= ( C1 ,C2 ,…,Cn ), 其中 Ci =E(Mi,K), i=1,2,…,n 电码本方式是分组密码的基本工作模式。 缺点:可能出现短块,这时需要特殊处理。 缺点:暴露明文的数据模式。 应用:适合加密密钥等短数据

9 二、分组密码的工作模式 2、密文反馈链接模式(CBC) 其中 E(Mi ⊕Z ,K), i=1
①明密文链接方式(Plaintext and Ciphertext Block Chaining) 设 明文 M=(M1 ,M2 ,…,Mn ), 密钥为K, 密文 C = ( C1 ,C2 ,…,Cn ), 其中 E(Mi ⊕Z ,K), i=1 E(Mi ⊕Mi-1 ⊕Ci-1,K), i=2,…,n Z为初始化向量。 Ci=

10 二、分组密码的工作模式 2、密文反馈链接模式(CBC) ①明密文链接方式
即使Mi =Mj ,但因一般都有Mi-1 ⊕Ci-1 ≠Mj-1 ⊕Cj-1 ,从而使Ci ≠Cj ,从而掩盖了明文中的数据模式。 加密时,当Mi 或Ci 中发生一位错误时,自此以后的密文全都发生错误。这种现象称为错误传播无界。 解密时也是错误传播无界。

11 二、分组密码的工作模式 2、密文反馈链接模式(CBC) ①明密文链接方式 错误传播无界的缺点:当磁盘发生一点损坏时将导致整个文件无法解密。
错误传播无界的优点:可用于数据完整性、真实性认证。

12 二、分组密码的工作模式 M1 M2 Mn Z 加密 K K K E E E C1 C1 Cn K K K D D D 解密 Z M1 M2

13 二、分组密码的工作模式 2、密文反馈链接模式(CBC) 其中 E( Mi ⊕ Z ,K), i=1
明密文链接方式具有加解密错误传播无界的特性,而磁盘文件加密和通信加密通常希望解密错误传播有界,这时可采用密文链接方式。 ②密文链接方式( Ciphertext Block Chaining) 设 明文 M=(M1 ,M2 ,…,Mn ), 密钥为K, 密文 C = ( C1 ,C2 ,…,Cn ), 其中 E( Mi ⊕ Z ,K), i=1 E(Mi ⊕Ci-1,K), i=2,…,n Ci=

14 二、分组密码的工作模式 M1 M2 Mn Z 加密 K K K E E E C1 C2 Cn K K K D D D 解密 Z M1 M2

15 二、分组密码的工作模式 2、密文反馈链接模式(CBC) D(Ci ,K)⊕Z , i=1 D(Ci ,K)⊕Ci-1 , i=2,…,n
②密文链接方式 加密:错误传播无界 解密时:错误传播有界 D(Ci ,K)⊕Z , i=1 D(Ci ,K)⊕Ci-1 , i=2,…,n Ci-1 发生了错误,则只影响Mi-1 和Mi 发生错误,其余不错,因此错误传播有界。 缺点也是要求数据的长度是密码分组长度的整数倍,否则最后一个数据块将是短块。 Mi=

16 二、分组密码的工作模式 3、输出反馈模式 (OFB)
将一个分组密码转换为一个密钥序列产生器。从而可以实现用分组密码按流密码的方式进行加解密。 移位寄存器 S位 种子R0 E S位 K 明文 密文

17 二、分组密码的工作模式 3、输出反馈模式 (OFB) 如果分组密码是安全的,则产生的密钥序列也是安全的。 加解密都没有错误传播。
适于加密冗余度较大的数据,如语音和图象数据。 为了提高速度可输出最右边的 8位。 但因无错误传播而对密文的篡改难以检测。

18 二、分组密码的工作模式 4、密码反馈模式 CFB(Cipher Feedback) CFB模式也是用分组密码产生密钥序列。 移位寄存器 S位
E S位 K 明文 密文

19 二、分组密码的工作模式 4、密码反馈模式 (CFB) 与OFB的不同是,把密文反馈到移位寄存器。
加密时若明文错了一位,则影响相应的密文错,这一错误反馈到移位寄存器后将影响到后续的密钥序列错,导致后续的密文都错。 解密时若密文错了一位,则影响相应的明文错,但密文的这一错误反馈到移位寄存器后将影响到后续的密钥序列错,导致后续的明文都错。 因错误传播无界,可用于检查发现对明密文的篡改。

20 二、分组密码的工作模式 5、X CBC (Extended Cipher Block Chaining Encryption)模式
2000年美国学者J0hn Black和Phllip Rogaway提出X CBC模式,作为CBC模式的扩展,被美国政府采纳作为标准。 X CBC主要是解决了CBC要求明文数据的长度是密码分组长度的整数倍的限制,可以处理任意长的数据。如果用分组密码是安全的,则密钥序列就是安全的。

21 二、分组密码的工作模式 5、X CBC (Extended Cipher Block Chaining Encryption)模式
设明文M=(M1 ,M2 ,…,Mn-1,Mn ),相应的密文C=( C1 ,C2 ,…,Cn-1,Cn ),而Mn 可能是短块。 使用3个密钥 K1,K2,K3进行加密。 使用填充函数 Pad(X)对短块数据进行填充。

22 二、分组密码的工作模式 5、X CBC (Extended Cipher Block Chaining Encryption)模式
填充函数Pad(X)定义如下: X, 当X不是短块; X10…0, 当X是短块。 经填充函数 Pad(X)填充后的数据块一定是标准块。 Pad(X)=

23 二、分组密码的工作模式 5、X CBC (Extended Cipher Block Chaining Encryption)模式
令Z=0,以Z作为初始化向量。加密过程如下: E(Mi ⊕Z ,K1),i=1 E(Mi ⊕Ci-1,K1), i=2,…,n-1 E(Mn ⊕Cn -1 ⊕K2,K1), 当Mn 不是短块; E(PAD(Mn)⊕Cn -1 ⊕K3,K1),当Mn是短块。 Ci = Cn =

24 二、分组密码的工作模式 5、X CBC (Extended Cipher Block Chaining Encryption)模式
X CBC与CBC区别: ♣CBC要求最后一个数据块是标准块,不是短块。 ♣ X CBC既允许最后一个数据块是标准块,也允许是短块。 ♣最后一个数据块的加密方法与 CBC不同。 ♣ 因为有填充,需要传输填充长度信息。

25 二、分组密码的工作模式 5、X CBC (Extended Cipher Block Chaining Encryption)模式
可以处理任意长度的数据。 适于计算产生检测数据完整性的消息认证码MAC。 X CBC模式的主要缺点: 有填充,不适合文件和数据库加密。 使用3个密钥,需要传填充长度,复杂。

26 二、分组密码的工作模式 6、CTR(Counter Mode Encryption)模式
CTR模式是Diffie和Hellman于1979年提出的,在征集AES工作模式的活动中由California大学的Phillip Rogaway等人的推荐。 设T1,T2 ,…,Tn-1,Tn 是一给定的计数序列,M1,M2,…,Mn-1,Mn 是明文,其中M1,M2,…,Mn-1是标准块,Mn 的可能是标准块,也可能是短块。设其长度等于u,u小于等于分组长度。

27 二、分组密码的工作模式 6、CTR(Counter Mode Encryption)模式 CTR的工作模式的加密过程如下:
Oi=E(Ti,K),i=1,2,…,n. Ci=Mi⊕Oi ,i=1,2,…,n-1. Cn=Mn⊕MSBu(On). 其中MSBu(On)表示On 中的高u位。

28 T 1 计数器 时钟脉冲 T i 加密算法 E K O i M i C i

29 二、分组密码的工作模式 6、CTR(Counter Mode Encryption)模式 CTR的工作模式的解密过程如下:
Oi=E(Ti,K),i=1,2,…,n. Mi=Ci⊕Oi ,i=1,2,…,n-1. Mn=Cn⊕MSBu(On).

30 二、分组密码的工作模式 6、CTR(Counter Mode Encryption)模式 CTR的工作模式的优点:
Oi的计算可预处理高速进行; 加解密过程仅涉及加密运算,不涉及解密运算,因此不用实现解密算法。 适合随机存储数据的解密。 CTR模式的缺点是没有错误传播,因此不易确保数据完整性。

31 三、短块加密 分组密码一次只能对一个固定长度的明文(密文)块进行加(解)密。 称长度小于分组长度的数据块为短块。
必须采用合适的技术解决短块加密问题。 短块处理技术: 1、填充技术 2、密文挪用技术 3、序列加密

32 三、短块加密 1、填充技术 用无用的数据填充短块,使之成为标准块。 为了确保加密强度,填充数据应是随机的。
但是收信者如何知道哪些数字是填充的呢?这就需要增加指示信息,通常用最后8位作为填充指示符。 填充法适于通信加密而不适于文件和数据库加密。

33 三、短块加密 2、密文挪用技术 Mn-1 Mn K E b Mn 加密 K a b E a Cn-1 Cn K a b D 解密 K

34 三、短块加密 密文挪用法也需要指示挪用位数的指示符,否则收信者不知道挪用了多少位,从而不能正确解密。
密文挪用加密短块的优点是不引起数据扩展。 缺点是解密时要先解密Cn 、还原挪用后再解密Cn-1 ,从而使控制复杂。

35 三、短块加密 3、序列加密 对于最后一块短块数据,直接使用密钥K与短块数据模2相加。 序列加密方法的优点是简单。
但是如果短块太短,则加密强度不高。

36 大作业 以DES、AES或SMS4作为加密算法开发出文件加密软件系统: 具有文件加密和解密功能; 具有加解密速度统计功能;
采用密文反馈链接和密文挪用短块处理技术; 具有较好的人机界面。

37 复习题 ① 计算机数据加密有些什么特殊问题? ② 分析CBC和X CBC工作模式的加解密错误传播情况。
③ 为什么说填充法不适合计算机文件和数据库加密应用? ④ 密文挪用方法有什么优缺点?


Download ppt "(第六讲) 分组密码的应用技术 张焕国 武汉大学计算机学院"

Similar presentations


Ads by Google