网络安全原理与应用(第二版)教学课件 戚文静 第3章 密码学基础_第1页
网络安全原理与应用(第二版)教学课件 戚文静 第3章 密码学基础_第2页
网络安全原理与应用(第二版)教学课件 戚文静 第3章 密码学基础_第3页
网络安全原理与应用(第二版)教学课件 戚文静 第3章 密码学基础_第4页
网络安全原理与应用(第二版)教学课件 戚文静 第3章 密码学基础_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

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

文档简介

第3章密码学基础lll密码学的基本概念和术语对称和非对称密码的区别古典密码学的基本方法掌握DES算法、AES算法RSA算法的基本原理3.1密码学概述3.1.1密码学的发展史恺撒(Caesar)密码维吉尼亚密码(Vigenere

cypher)“恩格玛(Enigma)”密码机DES(数据加密标准)公开密钥密码量子密码学密码学的发展史大体上可以归结为三个阶段第一阶段:1949年之前,密码学还不是科学,而是艺术。第二阶段:1949~1975年,密码学成为科学。第三阶段:1976年以后,密码学的新方向——公钥密码学。3.1.2密码系统通常一个密码体制可以表达为一个五元组(M,C,K,E,D),其中:(1)M是可能明文的有限集称为明文空间(2)C是可能密文的有限集称为密文空间(3)K是一切可能密钥构成的有限集称为密钥空间(4)对于密钥空间的任一密钥有一个加密算法和相应的解密算法使得Ek:M->C和

Dk:C->M分别为加密和解密函数,且满足Dk(Ek(M))=M。3.1.3密码的分类1、按应用的技术或历史发展阶段划分:2、按保密程度划分:3、按密钥方式划分:4、按明文形态:5、按编制原理划分:3.1.4近代加密技术1、对称加密算法对称加密算法(synmetric

algorithm),也称为传统密码算法,其加密密钥与解密密钥相同或很容易相互推算出来,因此也称之为秘密密钥算法或单钥算法。对称算法分为两类,一类称为序列密码算法(streamcipher),另一种称为分组密码算法(blockcipher)。对称加密算法的主要优点是运算速度快,硬件容易实现;其缺点是密钥的分发与管理比较困难,特别是当通信的人数增加时,密钥数目急剧膨胀。2、非对称加密体制非对称加密算法(Asynmetric

Algorithm)也称公开密钥算法(Public

Key

Algorithm)。公开密钥体制把信息的加密密钥和解密密钥分离,通信的每一方都拥有这样的一对密钥。其中加密密钥可以像电话号码一样对外公开,由发送方用来加密要发送的原始数据;解密密钥则由接收方秘密保存,作为解密时的私用密钥。公开密钥体制最大的优点就是不需要对密钥通信进行保密,所需传输的只有公开密钥。这种密钥体制还可以用于数字签名,。公开密钥体制的缺陷在于其加密和解密的运算时间比较长,这在一定程度上限制了它的应用范围。3.1.5密码的破译1、密钥的穷尽搜索2、密码分析已知明文的破译方法选定明文的破译方法差别比较分析法3、其它密码破译方法3.2古典密码学3.2.1代换密码代换密码的特点是:依据一定的规则,明文字母被不同的密文字母所代替。1、移位密码移位密码基于数论中的模运算。因为英文有26个字母,故可将移位密码定义如下:令P={A,B,C,……Z},C={A,B,C,……Z},K={0,1,2,……25},加密变换:Ek(x)=(x+k)mod

26解密变换:Dk(y)=(y-k)mod

262、单表代换密码单表代换密码的基本思想是:列出明文字母与密文字母的一一对应关系,明文AbcDefghijklm密文WJANDYUQIBCEF明文nopQrstuvwxyz密文GHKLMOPRSTVXZ例如:明文为networksecurity,则相就的密文为:GDPTHMCODARMIPX。3、多表替换密码Vigenere密码是一种典型的多表替换密码算法。算法如下:设密钥K=k1k2……kn,明文M=m1m2……mn,加密变换:ci≡(mi+ki)mod

26,i=1,2,……,n解密变换:mi≡(ci-ki)mod

26,i=1,2,……,n例如:明文X=cipher

block,密钥为:hit则把明文划分成长度为3的序列:cip

her

blo

ck每个序列中的字母分别与密钥序列中相应字母进行模26运算,得密文:JQI

OMK

ITH

JS3.2.2置换密码置换密码的特点是保持明文的所有字母不变,只是利用置换打乱明文字母出现的位置。置换密码体制定义如下:令m为一正整数,P=C={A,B,C,……Z},对任意的置换π(密钥),定义:加密变换:Eπ(x1,x2,……,xm)=(xπ(1),xπ(2)……,xπ(m)),-1π

(1)

π解密变换:Dπ(y1,y2,……,ym)=(x ,

x

-1

(2)……,-1π

(m)x

),置换密码也不能掩盖字母的统计规律,因而不能抵御基于统计的密码分析方法的攻击。3.3对称密码学3.3.1分组密码概述3.3.2Feistel网络1、扩散和混乱扩散和混乱是由Shannon提出的设计密码系统的两个基本方法,目的是抵抗攻击者对密码的统计分析。扩散就是指将明文的统计特性散布到密文中去混乱就是使密文和密钥之间的统计关系变得尽可能复杂2、Feistel网络结构及特点Feistel提出利用乘积密码可获得简单的代换密码。将明文分组分为左右两个部分:L0,R0,数据的这两部分通过n轮(round)处理后,再结合起来生成密文分组;第i轮处理其上一轮产生的Li-1和Ri-1和K产生的子密钥Ki

作为输入。一般说来,子密钥Ki与K不同,相互之间也不同,它是用子密钥生成算法从密钥生成的;每一轮的处理的结构都相同,置换在数据的左半部分进行,其方法是先对数据的右半部分应用处理函数F,然后对函数输出结果和数据的左半部分取异或(XOR);处理函数F对每轮处理都有相同的通用结构,但由循环子密钥Ki来区分;在置换之后,执行由数据两部分互换构成的交换;解密过程与加密过程基本相同。规则如下:用密文作为算法的输入,但以相反顺序使用子密钥Ki;加密和解密不需要用两种不同的方法。3.3.3

DES算法1、算法描述DES算法流程如图3-4所示。首先把明文分成若干个64-bit的分组,算法以一个分组作为输入,通过一个初始置换(IP)将明文分组分成左半部分(L0)和右半部分(R0),各为32-bit。然后进行16轮完全相同的运算,这些运算我们称为函数f,在运算过程中数据与密钥相结合。经过16轮运算后,左、右两部分合在一起经过一个末转换(初始转换的逆置换IP-1),输出一个64-bit的密文分组。S-盒置换,将48-bit输入转为32-bit的输出,过程如下:48-bit组被分成8个6-bit组,每一个

6-bit组作为一个S盒的输入,输出为一个4-bit组。其方式是:6-bit数的首、末两位数决定输出项所在的行;中间的四位决定输出项所在的列。例如:假设第6个S-盒的输入为

110101,则输出为第3行第10列的项(行或列的记数从0开始),即输出为4-bit组0001。S6:12,1,10,15,9,2,6,8,0,13,3,4,14,7,5,11,10,15,4,2,7,12,9,5,6,1,13,14,0,11,3,8,9,14,15,5,2,8,12,3,7,0,4,10,1,13,11,6,4,3,2,12,9,5,15,10,11,14,1,7,6,0,8,13,扩展置换3212345456789891011121312131415161716171819202120212223242524252627282928293031321P-置换16

7

20

21291228171152326518311028241432273919133062211425子密钥的生成密钥通常表示为64-bit,但每个第8位用作奇偶校验,实际的密钥长度为56-bit。在DES的每一轮运算中,从56-bit密钥产生出不同的48-bit的子密钥(K1,K2……K16)。首先,由64-bit密钥经过一个

置换选择(PC-1)选出56-bit并分成两部分(以C、D分别表示这两部分),每部分28位,然后每部分

分别循环左移1位或2位(从第1轮到第16轮,相应左移位数分别为:1、1、2、2、2、2、2、2、1、2、2、2、2、2、2、1)。再将生成的56-bit组经过一

个另一个置换选择(PC-2),舍掉其中的某8个位并按一定方式改变位的位置,生成一个48-bit的子密钥Ki。3、三重DES如上所言,DES一个致命的缺陷就是密钥长度短,并且对于当前的计算能力,56位的密钥长度已经抗不住穷举攻击,而DES又不支持变长密钥。但算法可以一次使用多个密钥,从而等同于更长的密钥。三重DES算法表示为:C=EK3(DK2(EK1(M)))

通常取K3=K1,则上式变为:C=EK1(DK2(EK1(M)))这样对于三重DES的穷举攻击需要2112次,而不是DES的264次了。3.3.5对称密码的工作模式1、电子密码本模ECBECB模式的缺点是:如果密码分析者有很多消息的明密文对,那就可能在不知道密钥的情况下恢复出明文;更严重的问题是敌手通过重放,可以在不知道密钥情况下修改被加密过的消息,用这种办法欺骗接收者。2、密码分组链模式CBC加密:Ci=Ek(Pi⊕Ci-1)解密:Pi=Ci-1⊕Dk

(Ci)3、密码反馈模式CFB在CFB模式下,设分组长度为n,数据可以在比分组长度小的k比特字符里进行加密(1≤k≤n)(称为k比特反馈模式)。4、出反馈模式OFBOFB模式实际上就是一个同步流密码,通过反复加密一个初始向量IV来产生一个密钥流,将此密钥流和明文流进行异或可得密文流。仍然需要一个初始向量(IV)。IV应当唯一但不须保密。加密和解密可表示为:加密:S0=IV;Si=Ek(Si-1);Ci=Pi⊕Si解密:Pi=Ci⊕Si;Si=Ek(Si-1)(5)计数模式CTR该模式使用一个计数ctr(也是一个初始向量)。如图3-17所示。加密:Ci=Ek(ctr+i)⊕Pi解密:Pi=Ek(ctr+i)⊕Ci3.4非对称密码体制3.4.1

RSARSA算法的思路如下:为了产生两个密钥,先取两个大素数,p和q。为了获得最大程度的安全性,两数的长度一样。计算乘积n=p*q,然后随机选取加密密钥e,使e和(p-1)*(q-1)互素。最后用欧几里得(Euclidean)扩展算法计算解密密钥d,d满足ed≡1

mod

(p-1)(q-1),即d≡e-1

mod

(p-1)(q-1)。则e和n为公开密钥,d是私人密钥。两个大数p和q加密消息时,首先将消息分成比n小的数据分组(采用二进制数,选到小于n的2的最大次幂),设mi表示消息分组,ci表示加密后的密文,它与mi具有相同的长度。加密过程:ci=mie(modn)解密过程:mi=cid(mod

n)一个实际的例子来帮助理解RSA算法。①选择素数:p=17

&

q=11②计算n

=pq

=17×11=187③计算ø(n)=(p–1)(q-1)=16×10=160④选择e

:gcd(e,160)=1;选择e=7⑤确定d:de=1

mod

160且d

<160,

d=23因为23×7=161=

1×160+1⑥公钥KU={7,187}⑦私钥KR={23,187}假设给定的消息为:M=88,则加密:C

=

887解密:M

=

1123mod

187

=

温馨提示

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

评论

0/150

提交评论