第3章-信息加密与认证技术PPT课件_第1页
第3章-信息加密与认证技术PPT课件_第2页
第3章-信息加密与认证技术PPT课件_第3页
第3章-信息加密与认证技术PPT课件_第4页
第3章-信息加密与认证技术PPT课件_第5页
已阅读5页,还剩140页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1 2 l古典密码技术的分类和基本原理古典密码技术的分类和基本原理 l对称密码技术与对称密码技术与DES、AES算法算法 l公钥密码技术与公钥密码技术与RSA、ElGamal、ECC l信息认证的概念与作用及其基本原理信息认证的概念与作用及其基本原理 l单向单向Hash函数与消息认证码的基本概念和原理函数与消息认证码的基本概念和原理 l数字签名的原理和技术数字签名的原理和技术 l身份认证的典型技术身份认证的典型技术 3 l了解古典密码技术的分类和基本原理了解古典密码技术的分类和基本原理 l学习对称密码技术与学习对称密码技术与DES、AES算法算法 l掌握公钥密码技术与掌握公钥密码技术与RSA、

2、ElGamal、ECC l学习信息认证的概念与作用及其基本原理学习信息认证的概念与作用及其基本原理 l了解单向了解单向Hash函数与消息认证码的基本概念和原理函数与消息认证码的基本概念和原理 l掌握数字签名的原理和技术掌握数字签名的原理和技术 l学习身份认证的典型技术学习身份认证的典型技术 4 l密码系统的组成密码系统的组成 密码系统是用于对消息进行加密、解密的系统。可密码系统是用于对消息进行加密、解密的系统。可 以用一个五元组来表示:以用一个五元组来表示: 1)明文:未加密的原始信息。)明文:未加密的原始信息。 2)密文:明文被加密后的结果。)密文:明文被加密后的结果。 3)密钥:参与密码变

3、换的参数。)密钥:参与密码变换的参数。 4)加密算法:明文加密时所采用的一组规则。)加密算法:明文加密时所采用的一组规则。 5)解密算法:密文解密时所采用的一组规则。)解密算法:密文解密时所采用的一组规则。 5 l密码系统的组成密码系统的组成 传统密码体制模型如图所示传统密码体制模型如图所示: 6 l密码学的分类密码学的分类 1. 古典密码学和现代密码学古典密码学和现代密码学 1)古典密码学)古典密码学 古典密码学又称为传统密码学,主要依靠人工和机古典密码学又称为传统密码学,主要依靠人工和机 械进行信息的加密、传输和破译。械进行信息的加密、传输和破译。 加密算法主要有替代加密、置换加密等。加密

4、算法主要有替代加密、置换加密等。 7 l密码学的分类密码学的分类 2)现代密码学)现代密码学 亦称为计算机密码学阶段亦称为计算机密码学阶段 ,利用计算机进行自动或,利用计算机进行自动或 半自动的加密、解密和传输,以二进制的数字化信半自动的加密、解密和传输,以二进制的数字化信 息为研究对象,并使用现代思想进行信息的保密。息为研究对象,并使用现代思想进行信息的保密。 根据密钥的使用方式又可分为对称密钥密码和非对根据密钥的使用方式又可分为对称密钥密码和非对 称密钥密码。称密钥密码。 8 l密码学的分类密码学的分类 2. 对称密钥密码和非对称密钥密码对称密钥密码和非对称密钥密码 1)对称密钥密码)对称

5、密钥密码 又称为私密钥密码,加密和解密数据的密钥相同或又称为私密钥密码,加密和解密数据的密钥相同或 者两者之间存在着某种明确的数学关系。者两者之间存在着某种明确的数学关系。 主要算法有主要算法有DES、IDEA、TDEA、MD5、RC4、 AES等。等。 9 l密码学的分类密码学的分类 2)非对称密钥密码)非对称密钥密码 用于加密数据的密钥与用于解密数据的密钥不相同,用于加密数据的密钥与用于解密数据的密钥不相同, 而且从加密的密钥无法推导出解密的密钥。其中一而且从加密的密钥无法推导出解密的密钥。其中一 个密钥是公开的,另一个是保密的,又可称为公开个密钥是公开的,另一个是保密的,又可称为公开 密

6、钥密码体制。密钥密码体制。 主要算法有主要算法有RSA、E1gamnl、Rabin、DH、椭圆曲、椭圆曲 线等。线等。 10 l密码学的分类密码学的分类 3. 分组密码和序列密码分组密码和序列密码 1)分组密码)分组密码 密文仅与给定的密码算法和密钥有关,与被处理的密文仅与给定的密码算法和密钥有关,与被处理的 明文数据段在整个明文(或密文)中所处的位置无明文数据段在整个明文(或密文)中所处的位置无 关。关。 分组密码以块为单位,在密钥的控制下进行一系列分组密码以块为单位,在密钥的控制下进行一系列 线性和非线性变换而得到密文。线性和非线性变换而得到密文。 11 l密码学的分类密码学的分类 3.

7、分组密码和序列密码分组密码和序列密码 2)序列密码)序列密码 密文与给定的密码算法、密钥、明文数据段在整个密文与给定的密码算法、密钥、明文数据段在整个 明文(或密文)所处的位置都有关。明文(或密文)所处的位置都有关。 密钥通常采用比特流发生器随机产生二进制比特流密钥通常采用比特流发生器随机产生二进制比特流 得到,与明文结合产生密文,与密文相结合可以产得到,与明文结合产生密文,与密文相结合可以产 生明文。生明文。 12 l代替密码代替密码 1. 单表代替密码单表代替密码 对明文中的所有字母都使用同一个映射。对明文中的所有字母都使用同一个映射。 1 1)移位代替密码)移位代替密码 如凯撒密码,其基

8、本思想是通过把字母移动一定的如凯撒密码,其基本思想是通过把字母移动一定的 位数来实现加密和解密。位数来实现加密和解密。 13 l代替密码代替密码 2 2)乘法代替密码)乘法代替密码 已知:已知:p=c=k=zp=c=k=z26 26, ,k k是满足是满足0 0k kn n的正整数,要的正整数,要 求求k k 与与n n互素。互素。 加密算法:加密算法:c=E(k,p) = (pk)(mod n) c=E(k,p) = (pk)(mod n) 解密算法:解密算法:p=D(k,c) =p=D(k,c) =k k-1 -1c(mod n) c(mod n) 14 l代替密码代替密码 3 3)仿射密

9、码)仿射密码 乘法密码和加法密码相结合便构成仿射密码。乘法密码和加法密码相结合便构成仿射密码。 仿射密码是一个线性变换。对于仿射密码是一个线性变换。对于p=c=k=zp=c=k=z26 26, , 且且K =(a,b)zK =(a,b)z26 26 X z X z26 26 ,gcd(a,26)=1 ,gcd(a,26)=1 , 对于任意的对于任意的k=(kk=(k1 1, k, k2 2) K,) K, 加密算法:加密算法:c=E(k,p) = kc=E(k,p) = k1 1p+ kp+ k2 2(mod 26) (mod 26) 解密算法:解密算法:p=D(k,c) = kp=D(k,c

10、) = k1 1-1 -1(c- k (c- k2 2)(mod 26)(mod 26) 15 l代替密码代替密码 2 2、多表代替密码、多表代替密码 采用多个密文字母表,使得密文中的每一个字母有采用多个密文字母表,使得密文中的每一个字母有 多种可能的字母来代替。多种可能的字母来代替。 Vigenre Vigenre密码、密码、PlayfairPlayfair密码、滚动密钥密码、弗密码、滚动密钥密码、弗 纳姆密码以及纳姆密码以及HillHill密码都是这一类密码。密码都是这一类密码。 16 l代替密码代替密码 1 1)VigenreVigenre密码密码 最著名的多表代换密码,用一个词组作为密

11、钥,每最著名的多表代换密码,用一个词组作为密钥,每 一个密钥字母都对应一个代替表。密钥循环使用。一个密钥字母都对应一个代替表。密钥循环使用。 已知明文已知明文p = pp = p1 1p p2 2.p.pn n,mm是一个固定的正整数,对是一个固定的正整数,对 于一个密钥于一个密钥k=kk=k1 1k k2 2.k.km m,则加密算法如下: ,则加密算法如下: C=E(p,k) C=E(p,k) =(p =(p1 1+k+k1 1(mod26),p(mod26),p2 2+k+k2 2(mod26),.,p(mod26),.,pn n+k+kn n(mod26).)(mod26).) 17

12、l代替密码代替密码 1 1)VigenreVigenre密码密码 解密算法:解密算法: P=D(c,k) P=D(c,k) =(c =(c1 1-k-k1 1(mod26),c(mod26),c2 2-k-k2 2(mod26),.,c(mod26),.,cn n-k-kn n(mod26).)(mod26).) 18 l代替密码代替密码 2 2)PlayfairPlayfair加密算法加密算法 将明文中的双字母组合作为一个单元进行处理,并将明文中的双字母组合作为一个单元进行处理,并 将每一个单元转换成双字母的密文组合。将每一个单元转换成双字母的密文组合。PlayfairPlayfair密密

13、码基于一个码基于一个5 55 5矩阵,该矩阵采用一个关键词作为矩阵,该矩阵采用一个关键词作为 密钥来构造。密钥来构造。 构造的方法为:按从左至右,从上至下的顺序依次构造的方法为:按从左至右,从上至下的顺序依次 首先填入关键词中非重复的字母,然而再将字母表首先填入关键词中非重复的字母,然而再将字母表 中剩余的字母按顺序填入矩阵。中剩余的字母按顺序填入矩阵。 19 l代替密码代替密码 3 3)滚动密钥密码)滚动密钥密码 对于周期多表代替密码,保密性将随周期对于周期多表代替密码,保密性将随周期d d的加大而增的加大而增 加,当加,当d d的长度和明文一样长时就变成了滚动密钥密码。的长度和明文一样长时

14、就变成了滚动密钥密码。 如果其中所采用的密钥不重复就是一次一密体制。如果其中所采用的密钥不重复就是一次一密体制。 一般密钥可取一本书或一篇报告作为密钥源,可由书一般密钥可取一本书或一篇报告作为密钥源,可由书 名,章节号及标题来限定密钥的起始位置。名,章节号及标题来限定密钥的起始位置。 20 l代替密码代替密码 4 4)弗纳姆密码)弗纳姆密码 将随机二元数字序列作为密钥,以将随机二元数字序列作为密钥,以 k=k k=k1 1k k2 2.k.kii.(k.(kiiF F2 2) ) 表示,明文字母编成二元向量后也可以表示为二元序表示,明文字母编成二元向量后也可以表示为二元序 m=mm=m1 1m

15、m2 2.m.mii.(m.(miiF F2 2) ),加密过程就是将,加密过程就是将k k和和mm逐位异逐位异 或,即:或,即:c cii = m = miiXOR kXOR kii,i=1,2,.i=1,2,. 译码时,用同样的密钥对密文逐位异或,变可恢复明译码时,用同样的密钥对密文逐位异或,变可恢复明 文的二元数字序列,即:文的二元数字序列,即:mmii = c = ciiXOR kXOR kii,i=1,2,.i=1,2,. 21 l代替密码代替密码 5 5)HillHill密码密码 Hill Hill加密算法的加密算法的基本思想是将基本思想是将mm个明文字母通过线性变个明文字母通过线

16、性变 换将它们转换为换将它们转换为mm个密文字母。解密只要做一次逆变个密文字母。解密只要做一次逆变 换就可以了。密钥就是变换矩阵本身。换就可以了。密钥就是变换矩阵本身。 加密过程为:加密过程为: C=KP mod 26 C=KP mod 26 其中,其中,CC和和P P代表密文和明文向量,代表密文和明文向量,K K是密钥矩阵。是密钥矩阵。 解密则为:解密则为: P=K P=K-1 -1C C 22 l代替密码代替密码 6 6)一次一密)一次一密 一次一密乱码本是一个大的不重复的真随机密钥字母一次一密乱码本是一个大的不重复的真随机密钥字母 集。发方用乱码本中的每一密钥字母准确地加密一个明集。发方

17、用乱码本中的每一密钥字母准确地加密一个明 文字符。加密是明文字符和一次一密乱码本密钥字符的文字符。加密是明文字符和一次一密乱码本密钥字符的 模模2626加法。收方有一个同样的乱码本,并依次使用乱加法。收方有一个同样的乱码本,并依次使用乱 码码 本上的每个密钥去解密密文的每个字符。在进行过一次本上的每个密钥去解密密文的每个字符。在进行过一次 加解密后,乱码本用过的部分将被销毁。新的消息用乱加解密后,乱码本用过的部分将被销毁。新的消息用乱 码本新的密钥加密。码本新的密钥加密。 23 l置换密码置换密码 古典密码技术除了代替密码,还有一种称为置换密码。古典密码技术除了代替密码,还有一种称为置换密码。

18、 把明文中的字母重新排列,字母本身不变,但其位置变把明文中的字母重新排列,字母本身不变,但其位置变 了。了。 单纯的置换密码因为有着与原文相同的字母频率而被识单纯的置换密码因为有着与原文相同的字母频率而被识 破。多步置换密码相对来说安全的多。破。多步置换密码相对来说安全的多。 24 l基本概念基本概念 对称密钥加密又称专用密码加密,即发送和接收方必对称密钥加密又称专用密码加密,即发送和接收方必 须使用相同的密钥对明文进行加解密运算。算法主要须使用相同的密钥对明文进行加解密运算。算法主要 包括包括DESDES、3DES3DES、IDEAIDEA、FEALFEAL、BLOWFISHBLOWFISH

19、等。等。 对称加密的基本要求:对称加密的基本要求: 1 1、强大的加密算法。、强大的加密算法。 2 2、发送方和接收方必须保证密钥的安全。、发送方和接收方必须保证密钥的安全。 实现方式:流密码技术,分组密码技术实现方式:流密码技术,分组密码技术 25 l流密码技术流密码技术 基本思想是利用密钥基本思想是利用密钥k k产生一个密钥流产生一个密钥流k k0 0k k1 1k k2 2.,并使用,并使用 如下规则对明文串如下规则对明文串p=pp=p0 0p p1 1p p2 2.加密:加密: c=c c=c0 0c c1 1c c2 2.=E.=Ek0 k0(p (p0 0) E) Ek1 k1(p

20、 (p1 1)E)Ek2 k2(p (p2 2).).。 密钥流由密钥流发生器密钥流由密钥流发生器f f产生:产生: z zii=f(k,=f(k, ii) ), ii是加密器中记忆元件在时刻是加密器中记忆元件在时刻ii的状态的状态。 。 根据根据 i i 是否依赖于输入的明文字符,流密码可进一步分是否依赖于输入的明文字符,流密码可进一步分 为同步和自同步两种。在同步流密码中,可将加密器分为同步和自同步两种。在同步流密码中,可将加密器分 成密钥流产生器和加密变换器两个部分。成密钥流产生器和加密变换器两个部分。 26 l流密码技术流密码技术 加密模型如图所示:加密模型如图所示: 27 l流密码技

21、术流密码技术 1. A5/11. A5/1 A5/1 A5/1算法主要应用在算法主要应用在GSMGSM移动通信中用于保护数据。移动通信中用于保护数据。 使用使用X X、Y Y、Z Z三个线性移位寄存器三个线性移位寄存器LFSRLFSR。寄存器。寄存器X X包包 括括1919比特,编号为比特,编号为(x(x0 0,x ,x1 1,.,x,.,x18 18) )。寄存器 。寄存器Y Y包括包括2222比特,比特, 编号为编号为(y(y0 0,y,y1 1,.,y,.,y21 21) )。寄存器 。寄存器Z Z包括包括2323比特,编号为比特,编号为 (z (z0 0,z ,z1 1,.,z,.,z

22、22 22) )。三个 。三个LFSRLFSR总共包括总共包括6464比特。比特。 密钥密钥K K同样是同样是6464比特,用于初始化三个寄存器。用密钥比特,用于初始化三个寄存器。用密钥 填充三个寄存器后,就完成了密码流生成前的准备。填充三个寄存器后,就完成了密码流生成前的准备。 28 l流密码技术流密码技术 1. A5/11. A5/1 密钥流生成算法如图所示密钥流生成算法如图所示: : 29 l流密码技术流密码技术 2. 2. RC4RC4 A5/1 A5/1根据硬件实现设计,每步仅产生一个密钥流比根据硬件实现设计,每步仅产生一个密钥流比 特;特;RC4RC4算法为软件实现优化,每步产生一

23、个密钥字算法为软件实现优化,每步产生一个密钥字 节。节。 本质上来讲就是一个包含本质上来讲就是一个包含256256字节的置换查表,在产字节的置换查表,在产 生密钥流的每一个字节时,所查的表就进行一次修改,生密钥流的每一个字节时,所查的表就进行一次修改, 表始终都包含表始终都包含0,1,20,1,2,255255的置换。的置换。 30 l流密码技术流密码技术 2. 2. RC4RC4 RC4 RC4算法都是基于字节的。算法的第一阶段是对于查算法都是基于字节的。算法的第一阶段是对于查 表使用的密钥进行初始化表使用的密钥进行初始化 ,再产生每个密钥流字节,再产生每个密钥流字节, 在加密时与明文做在加

24、密时与明文做XORXOR运算,解密时与密文做运算,解密时与密文做XORXOR 运算。运算。 31 l分组密码技术分组密码技术 分组密码是对称密码的典型代表。即数据在密钥的作分组密码是对称密码的典型代表。即数据在密钥的作 用下,一组一组地被处理,明文和密文的长度通常是用下,一组一组地被处理,明文和密文的长度通常是 相等的,一次对一个明文分组(如相等的,一次对一个明文分组(如DESDES为为6464位)进行位)进行 加密,而且每次的加密密钥都相同。加密,而且每次的加密密钥都相同。 32 l分组密码技术分组密码技术 分组加密的一般结构如图所示分组加密的一般结构如图所示: : 33 l分组密码技术分组

25、密码技术 按特定长度(如按特定长度(如64 bits)分组时,最后一组消息长度可)分组时,最后一组消息长度可 能不足能不足64bits。可以填充一些数字,通常用最后。可以填充一些数字,通常用最后1字节字节 作为填充指示符(作为填充指示符(PI)。)。 34 l分组密码技术分组密码技术 1. DES1. DES DES DES 是一种分组乘积密码,包括是一种分组乘积密码,包括1616轮迭代。明密文分轮迭代。明密文分 组长度为组长度为6464位,密钥总长为位,密钥总长为6464位,有效长度位,有效长度5656位,其位,其 中第中第8 8、1616、64 64 位共位共8 8位是奇偶校验位。位是奇偶

26、校验位。 DES DES 是一种对称运算,除子密钥使用顺序逆序外,加是一种对称运算,除子密钥使用顺序逆序外,加 密和解密算法相同。密和解密算法相同。 DES DES是一种面向二进制的密码算法,能够加解密任何是一种面向二进制的密码算法,能够加解密任何 形式的计算机数据。形式的计算机数据。 35 l分组密码技术分组密码技术 DES 的加密算法流程的加密算法流程: 1 1. . 初始置换初始置换IPIP:将输入的:将输入的6464位数据打乱位数据打乱IP(bIP(b1 1b b2 2.b.b64 64) ) = b= b58 58b b5050.b .b7 7。 。再平均分成两部分 再平均分成两部分

27、L L0 0,R R0 0。 2 2. 16. 16轮的轮变换:将轮的轮变换:将6464位输入密钥扩展为位输入密钥扩展为1616个个4848位轮位轮 子密钥子密钥K K。每轮变换公式为:。每轮变换公式为: 3 3. . 逆初始置换逆初始置换IPIP-1 -1:将 :将L L16 16, ,R R16 16合并的 合并的6464位数据置换位数据置换 IP IP-1 -1 (b (b1 1b b2 2.b.b64 64) =b ) =b40 40b b8 8.b .b25 25。 。 16,.,1 ),( 11 1 n KRfLR RL nnnn nn 36 l分组密码技术分组密码技术 DES 的

28、加密算法流程的加密算法流程图: 37 l分组密码技术分组密码技术 2. TDEA和和IDEA 1)TDEA算法算法 TDEA算法又叫做三重算法又叫做三重DES算法,执行三次算法,执行三次DES的加密,的加密, 加密步骤如下:加密步骤如下: 发送端用密钥发送端用密钥Keyl进行进行DES加密。加密。 发送端用密钥发送端用密钥Key2对上一结果进行对上一结果进行DES解密。解密。 发送端用密钥发送端用密钥Key3对上一结果进行对上一结果进行DES加密。加密。 38 l分组密码技术分组密码技术 TDEA算法加算法加/解密流程图:解密流程图: 39 l分组密码技术分组密码技术 2) IDEA算法算法

29、IDEA加密算法是在加密算法是在DES算法的基础上发展而来的,类算法的基础上发展而来的,类 似于三重似于三重DES算法,其分组长度也是算法,其分组长度也是64位,但密钥长位,但密钥长 度是度是128位,增加了破译难度。位,增加了破译难度。 IDEA使用的运算有异或、模使用的运算有异或、模216加法和模(加法和模(216+1)乘法。)乘法。 40 l分组密码技术分组密码技术 IDEA算法加密过程:算法加密过程: 8轮的重复运算。轮的重复运算。 64位的明文分组在每一轮都是被分成位的明文分组在每一轮都是被分成4个子分组,每个子分组,每 个个16位子分组作为一个单元来处理。位子分组作为一个单元来处理

30、。 每一轮中有每一轮中有6个不同的子密钥参与运算。个不同的子密钥参与运算。 最后的输出变换有最后的输出变换有4个子密钥参与运算。个子密钥参与运算。 IDEA的解密算法使用与加密算法同样的结构,子密钥的解密算法使用与加密算法同样的结构,子密钥 的生成方法不同。的生成方法不同。 41 l分组密码技术分组密码技术 IDEA算法解密子密钥的生成方法:算法解密子密钥的生成方法: 解密循环解密循环i的前的前4个子密钥从加密循环(个子密钥从加密循环(10i)的前)的前4 个子密钥中导出;解密密钥第个子密钥中导出;解密密钥第1、4个子密钥对应于个子密钥对应于1、 4加密子密钥的乘法逆元;解密密钥第加密子密钥的

31、乘法逆元;解密密钥第2、3个子密钥对个子密钥对 应于应于2、3加密子密钥的加法逆元。加密子密钥的加法逆元。 对前对前8个循环来说,循环个循环来说,循环i的最后两个子密钥等于加的最后两个子密钥等于加 密循环(密循环(9i)的最后两个子密钥。)的最后两个子密钥。 42 l分组密码技术分组密码技术 3. AES3. AES DES DES的设计主要针对硬件实现,而当今许多领域的问题的设计主要针对硬件实现,而当今许多领域的问题 需要用软件方法来实现。需要用软件方法来实现。AESAES加密方法在这种需求下应加密方法在这种需求下应 运而生。运而生。 AES AES 算法是算法是128128位块密码,支持三

32、种不同大小的密钥:位块密码,支持三种不同大小的密钥: 128 128,192192和和256256位。位。 43 l分组密码技术分组密码技术 3. AES3. AES AES密码算法采用的是代替密码算法采用的是代替-置换网络结构,每一轮操置换网络结构,每一轮操 作由作由4层组成:层组成: 第第1层(字节替换)为非线性层,用层(字节替换)为非线性层,用S盒对每一轮中的盒对每一轮中的 单个字节分别进行替换;单个字节分别进行替换; 第第2层(行移位)和第层(行移位)和第3层(列混合)是线性混合层,层(列混合)是线性混合层, 对当前的状态按行移位,按列混合;对当前的状态按行移位,按列混合; 第第4层(

33、密钥加层)用子密钥与当前状态进行字节上的层(密钥加层)用子密钥与当前状态进行字节上的 异或。异或。 44 l分组密码技术分组密码技术 AESAES算法结构图:算法结构图: 45 l分组密码技术分组密码技术 AESAES算法每一层操作过程:算法每一层操作过程: 1 1)字节替换)字节替换(SubBytes)(SubBytes) AES AES定义了一个定义了一个S S盒,将盒,将StateState中每个字节的高中每个字节的高4 4位作为位作为 行值,低行值,低4 4位作为列值,取出位作为列值,取出S S盒中对应行和列的元素盒中对应行和列的元素 作为输出。例如,十六进制数作为输出。例如,十六进制

34、数8484。对应。对应S S盒的行是盒的行是8 8列列 是是4 4,S S盒中该位置对应的值是盒中该位置对应的值是5F5F。 46 l分组密码技术分组密码技术 2 2)行位移变换)行位移变换(ShiftRows) (ShiftRows) State State的第的第1 1行字节保持不变,第行字节保持不变,第2 2行字节循环左移一行字节循环左移一 个字节,第个字节,第3 3行字节循环左移两个字节,第行字节循环左移两个字节,第4 4行循环行循环 左移三个字节。左移三个字节。 47 l分组密码技术分组密码技术 3 3)列混合变换)列混合变换(MixColumns)(MixColumns) 列混合变

35、换是一个替代操作,它只在列混合变换是一个替代操作,它只在AESAES的第的第0 0,1,1, (R-1R-1)轮中使用,在第)轮中使用,在第R R轮中不使用该变换。在该变轮中不使用该变换。在该变 换中,乘法和加法都是定义在换中,乘法和加法都是定义在GF(2GF(28 8) )上的。上的。StateState的每的每 一一 列被理解为列被理解为GF(2GF(28 8) )上的多项式,该多项式与一个常上的多项式,该多项式与一个常 数多项式相乘并模数多项式相乘并模M(x)=xM(x)=x4 4+1+1约化。约化。 48 l分组密码技术分组密码技术 4 4)密钥加变换)密钥加变换(Add RoundK

36、ey)(Add RoundKey) 128 128位的位的StateState按位与按位与 128 128位的密钥位的密钥XORXOR。 49 l分组密码技术分组密码技术 5 5)密钥扩展)密钥扩展(Key Expansion) (Key Expansion) 在加密和解密算法使用了一个由种子密钥字节数组生在加密和解密算法使用了一个由种子密钥字节数组生 成的密钥调度表。密钥扩展过程从一个原始密钥中生成的密钥调度表。密钥扩展过程从一个原始密钥中生 成多重密钥以代替使用单个密钥。在成多重密钥以代替使用单个密钥。在AESAES密钥扩展算法密钥扩展算法 的输入值是的输入值是4 4字密钥,输出是一个字密

37、钥,输出是一个4444字的一维线性数字的一维线性数 组。这足以为初始轮密钥扩展过程阶段和算法中的其组。这足以为初始轮密钥扩展过程阶段和算法中的其 他他1010轮中的每一轮提供轮中的每一轮提供1616字节的轮密钥。字节的轮密钥。 50 l对称密钥密码的分析方法对称密钥密码的分析方法 密码编码学与密码分析学的对立性促进了密码学的发密码编码学与密码分析学的对立性促进了密码学的发 展。根据密码分析者对明文、密文等信息掌握的多展。根据密码分析者对明文、密文等信息掌握的多 少,可以将密码分析分为以下五种情形:唯一密文攻少,可以将密码分析分为以下五种情形:唯一密文攻 击、已知明文攻击、选择明文攻击、选择密文

38、攻击和击、已知明文攻击、选择明文攻击、选择密文攻击和 选择文本攻击。选择文本攻击。 51 l对称密钥密码的分析方法对称密钥密码的分析方法 具体的分析方法主要包括:具体的分析方法主要包括: 1 1. . 强力攻击法强力攻击法 强力攻击可用于任何分组密码,且攻击的复杂度仅依强力攻击可用于任何分组密码,且攻击的复杂度仅依 赖于分组长度和密钥长度。工作效率包括加赖于分组长度和密钥长度。工作效率包括加/ /解密速解密速 度、密钥扩展速度、存储空间等。度、密钥扩展速度、存储空间等。 52 l对称密钥密码的分析方法对称密钥密码的分析方法 2 2. . 差分密码分析差分密码分析 已知最有效的攻击迭代密码的方法

39、之一。基本思想是已知最有效的攻击迭代密码的方法之一。基本思想是 通过分析明文对的差值对密文对的差值的影响来恢复通过分析明文对的差值对密文对的差值的影响来恢复 某些密钥比特。某些密钥比特。 差分密码分析最初是针对差分密码分析最初是针对DESDES加密提出的一种攻击方加密提出的一种攻击方 法,能成功破解轮数较低的法,能成功破解轮数较低的DESDES。 53 l对称密钥密码的分析方法对称密钥密码的分析方法 3 3. . 线性密码分析线性密码分析 本质上是一种已知明文攻击法,是对本质上是一种已知明文攻击法,是对DESDES加密方法进加密方法进 行破译的主要方法。基本思想是通过寻找一个给定密行破译的主要

40、方法。基本思想是通过寻找一个给定密 码算法的有效的线性近似表达式来破译密码系统。码算法的有效的线性近似表达式来破译密码系统。 54 l对称密钥密码的分析方法对称密钥密码的分析方法 4 4、差分、差分- -线性密码分析线性密码分析 对差分密码分析和线性密码分析进行改进,是降低它对差分密码分析和线性密码分析进行改进,是降低它 们复杂度的众多改进之一。它利用的是差分密码分析们复杂度的众多改进之一。它利用的是差分密码分析 和线性密码分析相结合的技术。和线性密码分析相结合的技术。 55 l对称密钥密码的分析方法对称密钥密码的分析方法 5 5、插值攻击、插值攻击 利用了拉格朗日插值公式的思想。如果一个密码

41、算法利用了拉格朗日插值公式的思想。如果一个密码算法 是固定的密钥的低次多项式函数,或项数较少的多项是固定的密钥的低次多项式函数,或项数较少的多项 式,其项数可以估算出来,则通过插值法可以得到其式,其项数可以估算出来,则通过插值法可以得到其 代数表达式,从而可能恢复出密钥。代数表达式,从而可能恢复出密钥。 56 l基本概念基本概念 1976年提出的公开密钥密码体制思想不同于传统的对年提出的公开密钥密码体制思想不同于传统的对 称密钥密码体制,它要求密钥成对出现,一个为加密称密钥密码体制,它要求密钥成对出现,一个为加密 密钥密钥e,另一个为解密密钥,另一个为解密密钥d,且不可能从其中一个推,且不可能

42、从其中一个推 导出另一个。导出另一个。 非对称密码算法解决了对称密码体制中密钥管理的难非对称密码算法解决了对称密码体制中密钥管理的难 题,并提供了对信息发送人的身份进行验证的手段,题,并提供了对信息发送人的身份进行验证的手段, 是现代密码学的最重要的发明和进展。是现代密码学的最重要的发明和进展。 57 l基本概念基本概念 单向和陷门单向函数的概念是公钥密码学的核心,可单向和陷门单向函数的概念是公钥密码学的核心,可 以说非对称密钥密码体制的设计就是陷门单向函数的以说非对称密钥密码体制的设计就是陷门单向函数的 设计。设计。 58 lRSA算法算法 RSA密码体制是目前为止最为成功的非对称密码算密码

43、体制是目前为止最为成功的非对称密码算 法,它的安全性是建立在法,它的安全性是建立在“大数分解和素性检测大数分解和素性检测”这这 个个 数论难题的基础上。数论难题的基础上。 RSA算法研制的最初理念与目标是努力使互联网安全算法研制的最初理念与目标是努力使互联网安全 可靠,旨在解决可靠,旨在解决DES算法秘密密钥的利用公开信道传算法秘密密钥的利用公开信道传 输分发的难题。同时,输分发的难题。同时,可利用可利用RSA来完成对电文的数来完成对电文的数 字签名以对抗电文的否认与抵赖;还可以利用数字签名以对抗电文的否认与抵赖;还可以利用数 字签名较容易地发现攻击者对电文的非法篡改,以保字签名较容易地发现攻

44、击者对电文的非法篡改,以保 护数据信息的完整性。护数据信息的完整性。 59 lRSA算法算法 算法描述:算法描述: 1. 1. 密钥生成密钥生成 选择两个互异的大素数选择两个互异的大素数p p和和q q,n n是二者的乘积,即是二者的乘积,即n = n = pq pq,使,使(n)=(p-1)(q-1)(n)=(p-1)(q-1),(n)(n)为欧拉函数,随机选取为欧拉函数,随机选取 与与(n)(n)互素的正整数互素的正整数e e,将,将(n,e)(n,e)作为公钥。作为公钥。 计算满足计算满足e e* *d=1mod(n)d=1mod(n)的正数的正数d d,将,将(n,d)(n,d)作为私

45、钥。作为私钥。 60 lRSA算法算法 2 2. . 加密算法加密算法 对于明文对于明文MM,由,由C=MC=Me emodnmodn,得到密文,得到密文CC。 3 3. . 解密算法解密算法 对于密文对于密文CC,由,由M=CM=Cd dmodnmodn,得到明文,得到明文MM。 61 lRSA算法算法 RSA算法提出以后,密码分析学家提出了一些针对算法提出以后,密码分析学家提出了一些针对RSA 的攻击方法的攻击方法 。使用使用RSA应注意:应注意: 1)知道对于一个给定模数的一个加)知道对于一个给定模数的一个加/解密密钥指数对,解密密钥指数对, 攻击者就能够分解这个模数,无需分解攻击者就能

46、够分解这个模数,无需分解n就可以计算出就可以计算出 别的加别的加/解密对。解密对。 2)在通信网络中,利用)在通信网络中,利用RSA的协议不应该使用公共模的协议不应该使用公共模 数。数。 3)消息中应该使用随机数填充以避免对加密指数的攻)消息中应该使用随机数填充以避免对加密指数的攻 击。击。 4)解密指数应该大。)解密指数应该大。 62 lElGamal算法算法 ElGamal为目前著名的公开密钥密码系统之一,可为目前著名的公开密钥密码系统之一,可 用作加用作加/解密、数字签名等,其安全性依赖于离散对解密、数字签名等,其安全性依赖于离散对 数问题。数问题。 ElGamal包括密钥生成、加密过程

47、、解密过程。包括密钥生成、加密过程、解密过程。 1. 密钥生成密钥生成 1)任选一个大质数)任选一个大质数p,使得,使得p-1 有大质因数。有大质因数。 2)任选一个)任选一个mod p之原根之原根g。 3) 公布公布p与与g。 使用者任选一私钥使用者任选一私钥 ,并计算密钥,并计算密钥 。 p xZmod x ygp 63 lElGamal算法算法 2. 加密过程加密过程 1)任选一个数)任选一个数 满足满足 ,并计算,并计算 , 。 2)密文为)密文为 。 3. 解密过程解密过程 1)计算)计算 。 2)计算明文)计算明文 。 p Zr 1) 1,gcd(pr pgc r mod 1 py

48、mc r mod 2 , 21 cc pcw x mod)( 1 1 pwcmmod 2 64 lElGamal算法算法 ElGamal方法具有以下优点:方法具有以下优点: 系统不需要保存秘密参数,所有的系统参数均可公开;系统不需要保存秘密参数,所有的系统参数均可公开; 同一个明文在不同的时间由相同加密者加密会产生不同一个明文在不同的时间由相同加密者加密会产生不 同的密文(机率式密码系统),但同的密文(机率式密码系统),但ElGamal方法的计算方法的计算 复杂度比复杂度比RSA方法要大。方法要大。 65 l 椭圆曲线算法椭圆曲线算法 椭圆曲线系统第一次应用于密码学上是于椭圆曲线系统第一次应用

49、于密码学上是于1985年由年由 Koblitz与与Miller分别提出,随后有两个较著名的椭圆曲分别提出,随后有两个较著名的椭圆曲 线密码系统被提出:一种是利用线密码系统被提出:一种是利用ElGamal的加密法,另的加密法,另 一种为一种为Menezes-Vanstone的加密法。的加密法。 66 l 椭圆曲线算法椭圆曲线算法 1. 椭圆曲线定义椭圆曲线定义 令令p3p3为质数,在为质数,在GF(p)GF(p)中的椭圆曲线中的椭圆曲线E: E: y y2 2=x=x3 3+ax+bmod p+ax+bmod p, 其中,其中,4a4a3 3+27b+27b2 20(mod p)0(mod p)

50、。 曲线上另定义一个无穷远点曲线上另定义一个无穷远点OO,对任一点,对任一点A AEE, A+O=O+A=A A+O=O+A=A。 67 l 椭圆曲线算法椭圆曲线算法 2. 加法运算加法运算 令令A=(xA=(x1 1,y y1 1) )与与B=(xB=(x2 2,y y2 2) )为为E E上的点。若上的点。若x x2 2=x=x1 1, 且且y y2 2 = -y = -y1 1,则,则A+B=O; A+B=O; 否则否则A+B=(xA+B=(x3 3,y y3 3) ) ,其中:,其中: x x3 3=2 2-x-x1 1-x-x2 2 , ,y y3 3=(x=(x1 1-x-x3 3

51、)-y)-y1 1。 68 l 椭圆曲线算法椭圆曲线算法 3. 反元素运算反元素运算 点点A=(xA=(x,y)y)的反元素为的反元素为-A=-(x-A=-(x,y)=(xy)=(x,-y)-y)。 A+(-A)=(-A)+A=O A+(-A)=(-A)+A=O,此时,此时OO称为乘法单位元素。称为乘法单位元素。 69 l 椭圆曲线算法椭圆曲线算法 4. 椭圆曲线密码体制椭圆曲线密码体制 设设GF(p)GF(p)是一个有限域,是一个有限域,GF(p)GF(p)上的椭圆曲线是指满上的椭圆曲线是指满 足足WeirstrassWeirstrass方程:方程: y y2 2+a+a1 1xy+axy+

52、a3 3y=xy=x3 3+a+a2 2x x2 2+a+a4 4x+ax+a5 5 的所有解的所有解(x(x,y)y)与无穷远点与无穷远点OO构成的非空集合。构成的非空集合。 70 l 椭圆曲线算法椭圆曲线算法 基于椭圆曲线的各种密码体制的安全性最终可归结为基于椭圆曲线的各种密码体制的安全性最终可归结为 解解ECDLPECDLP问题,问题, 当数据量足够大以致当数据量足够大以致ECDLPECDLP问题无法问题无法 解决时,就认为该密码体制是安全的,具有解决时,就认为该密码体制是安全的,具有160 bit160 bit数数 据据 长度的长度的ECDLPECDLP问题在目前被认为是安全的。问题在

53、目前被认为是安全的。 71 l 椭圆曲线算法椭圆曲线算法 一般的椭圆曲线密码体制都基于以下运算:一般的椭圆曲线密码体制都基于以下运算: 存在一个容易计算的函数存在一个容易计算的函数f: ; 选取整数选取整数e, 1eN,选取整数,选取整数d,使得,使得de=1 (mod N), 由由deP(m)=P(m),可恢复,可恢复P(m); 选取整数选取整数a, 1aN,由,由P(m)=P(m)+aP-aP,可恢复出,可恢复出 P(m)。 ( )mP m 72 l 椭圆曲线算法椭圆曲线算法 一个典型的椭圆曲线公钥密码可以描述如下:一个典型的椭圆曲线公钥密码可以描述如下: 加密过程:设明文加密过程:设明文

54、m=(mm=(m1 1,m,m2 2) )ZZp p* *Z Zp p* * 。 选取正数选取正数k k,0k0k#A-1#A-1,k k保密。保密。 计算:计算:y y0 0=k=k、(c(c1 1,c,c2 2)=k)=k、y y1 1=c=c1 1mm1 1(modq)(modq)、 y y2 2=c=c2 2mm2 2(modq)(modq)。 密文密文c=(yc=(y0 0,y,y1 1,y,y2 2) ) ,将其发送给接收方。,将其发送给接收方。 73 l 椭圆曲线算法椭圆曲线算法 解密过程:解密过程: 接收方接收到密文接收方接收到密文c c。 计算计算(c(c1 1,c,c2 2

55、) =ay) =ay0 0。 通过下列运算恢复明文:通过下列运算恢复明文: m=(y m=(y1 1c c1 1-1 -1(modq) (modq),y y2 2c c2 2-1 -1(modq) (modq)。 椭圆曲线密码体制在相同的安全强度下所要求的密钥椭圆曲线密码体制在相同的安全强度下所要求的密钥 强度仅是强度仅是RSARSA的的1/61/6,因此在运算速度和存储空间方面,因此在运算速度和存储空间方面 具有很大的优势,在实际应用中具有很大的使用价值。具有很大的优势,在实际应用中具有很大的使用价值。 74 l混合加密算法混合加密算法 对称与非对称密码加密对比如表所示:对称与非对称密码加密

56、对比如表所示: 75 l混合加密算法混合加密算法 对称密钥密码体制中的对称密钥密码体制中的DES算法具有可靠性较高、加密算法具有可靠性较高、加密/ 解密速度快、算法容易实现以及通用性强等优点,但也解密速度快、算法容易实现以及通用性强等优点,但也 存在密钥位数少、弱密钥和半弱密钥、易于遭受穷尽攻存在密钥位数少、弱密钥和半弱密钥、易于遭受穷尽攻 击以及密钥管理复杂等缺点。击以及密钥管理复杂等缺点。 与与DES算法相比,算法相比,RSA算法具有以下优点:密钥空间大、算法具有以下优点:密钥空间大、 密钥管理简单、便于数字签名、密钥管理简单、便于数字签名、 可靠性较很高。可靠性较很高。 76 l混合加密

57、算法混合加密算法 RSA算法的缺点是加密速度慢、算法复杂,加密算法的缺点是加密速度慢、算法复杂,加密/解密速解密速 度慢。如果度慢。如果RSA和和DES结合使用,则正好弥补结合使用,则正好弥补RSA的缺的缺 点。即点。即DES用于明文加密,用于明文加密,RSA用于用于DES密钥的加密。密钥的加密。 77 l混合加密算法混合加密算法 一种混合了非对称和对称加密算法的加密方式如图:一种混合了非对称和对称加密算法的加密方式如图: 78 l混合加密算法混合加密算法 这种混合加密方式的原理是:这种混合加密方式的原理是: 发送方发送方S先使用先使用DES或或 IDEA对称算法对数据进行加密,对称算法对数据

58、进行加密, 然后使用公钥算法然后使用公钥算法RSA加密前者的对称密钥。加密前者的对称密钥。 接收方接收方R先使用先使用RSA算法解密出对称密钥,再用对称密算法解密出对称密钥,再用对称密 钥解密被加密的数据。钥解密被加密的数据。 79 l信息认证技术信息认证技术 认证又称为鉴别,是防止主动攻击(如篡改、伪造信息认证又称为鉴别,是防止主动攻击(如篡改、伪造信息 等)的一项重要技术,解决网络数据传输过程中可能出等)的一项重要技术,解决网络数据传输过程中可能出 的非法访问与篡改、假冒伪造、拒绝服务、抵赖等安全的非法访问与篡改、假冒伪造、拒绝服务、抵赖等安全 问题,确保网络中传送数据的机密性、访问可控制

59、性、问题,确保网络中传送数据的机密性、访问可控制性、 数据完整性、抗抵赖性等方面的安全需求。数据完整性、抗抵赖性等方面的安全需求。 认证的目的包括:消息完整性认证和身份认证。认证的目的包括:消息完整性认证和身份认证。 80 l信息认证技术信息认证技术 一个安全的认证体制至少应该满足以下要求:一个安全的认证体制至少应该满足以下要求: 1)接收者能够检验和证实消息的合法性、真实性和完)接收者能够检验和证实消息的合法性、真实性和完 整性。整性。 2)消息的发送者对所发的消息不能抵赖,某些场合也)消息的发送者对所发的消息不能抵赖,某些场合也 要求消息的接收者不能否认收到的消息。要求消息的接收者不能否认

60、收到的消息。 3)除了合法的消息发送者外,其他人不能伪造发送消)除了合法的消息发送者外,其他人不能伪造发送消 息。息。 81 l信息认证技术信息认证技术 认证和保密通常是相对独立的,一个纯认证系统的模型认证和保密通常是相对独立的,一个纯认证系统的模型 如下:如下: 82 l信息认证技术信息认证技术 信息认证是指通过对消息或者消息有关的信息进行加密信息认证是指通过对消息或者消息有关的信息进行加密 或签名变换进行的认证,目的是为了防止传输和存储的或签名变换进行的认证,目的是为了防止传输和存储的 消息被有意消息被有意/无意的篡改,包括消息内容认证(即消息完无意的篡改,包括消息内容认证(即消息完 整性

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论