《密码学引论》第二版重点武汉大学.docx_第1页
《密码学引论》第二版重点武汉大学.docx_第2页
《密码学引论》第二版重点武汉大学.docx_第3页
《密码学引论》第二版重点武汉大学.docx_第4页
《密码学引论》第二版重点武汉大学.docx_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

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

文档简介

一、信息系统安全包括四个侧面:设备安全,数据安全,内容安全,行为安全。设备安全:是指确保信息设备的稳定性、可靠性和可用性,这里的设备包括软件和硬件。数据安全:包括数据的秘密性、数据的真实性和数据的完整性3个侧面。行为安全:包括行为秘密性、行为完整性和行为可控性3个侧面。二、密码技术的基本思想是伪装信息,伪装就是对数据施加一种可逆的数学变换。三、密码体制,由5部分组成:明文空间M,它是全体明文的集合。密文空间C,它是全体密文的集合。密钥空间K,它是全体密钥的集合。其中一个密钥K均由加密密钥Ke和解密密钥Kd组成,即K=。加密算法E,它是一族由M到C的加密变换。解密算法D,它是一族由C到M的解密变换。如果一个密码体制的Kd=Ke,或由其中一个很难推出另外一个,则称为(单密钥密码体制)或则传统传统密码体制,否则称为(双密钥密码体制)。如果在计算上Kd不能由Ke推出,这样将Ke公开也不会损害Kd的安全,于是便可将Ke公开,这种密码体制称为公开密钥密码体制,简称(公钥密码体制)。四、密码体制分类:根据明密文的划分和密钥的使用不同,可将密码体制分为分组密码和序列密码体制。分组密码:将明文M划分为一系列的明文块Mi,通常每块包含若干位或字符,所有明文块Mi使用同一个密钥Ke进行加密。序列密码:将明文和密钥都划分为位或字符的序列,并对明文序列中每一位或字符都用密钥序列中对应的分量来加密。根据加密算法在使用过程中是否变化,将密码体制分为固定算法密码体制和演化算法密码体制。五、密码分析:1、攻击密码的方法主要有以下三种:穷举攻击(最基本攻击)统计分析攻击数学分析攻击2、根据密码分析者可利用的数据资源来分类,可将攻击密码的类型分为4种:仅知密文攻击(对分析者最不利的情况)已知明文攻击:已经知道某些明文-密文对来破译密码,一个密码仅当它能经得起已知明文攻击时才是可取的。选择明文攻击:分析者能够选择明文并获得相应的密文,这是对密码分析者十分有利的情况。选择密文攻击:能选择密文并获得相应的明文,这也是十分有利的情况,这种攻击主要攻击公开密钥密码体制,特别是攻击其数字签名。六、分组密码1、数据加密标准(DES)(19771998年),用于加密保护静态存储和传输信道中的数据DES综合运用置换、代替、代数等多种密码技术;DES是面向二进制的密码算法,因而能够加密任何形式的计算机数据;其明文、密文。密钥的分组长度都是64位;DES是对合运算,因而加密和解密共用同一算法,从而使工程量减半。注:64位密钥经子密钥产生算法产生出16个48位的子密钥供16次加密迭代使用。初始置换IP是DES的第一步密码变换。加密函数是DES的核心部分,加密函数里有代替函数组S(其由8个代替函数也称S盒组成),S盒有6位输入,产生4位输出。S盒是DES保密性的关键所在,它是一种非线性变换,也是DES中唯一的非线性运算。可逆性是对称密码算法的基本要求,对合性可使密码算法实现的工作量减半。DES加密Li = Ri-1;Ri = Li-1f(Ri-1,Ki);i=1,2,3,16DES解密Ri-1= Li;Li-1=Rif(Li,Ki);i=16,15,14,1DES的安全性:对于其设计目标DES是安全的。S盒和置换P互相配合,形成了很强的抗差分攻击和抗线性攻击能力,DES作为商用密码,用于其设计目标是安全的。存在安全弱点:密钥较短,只有56位;存在弱密钥和半弱密钥,存在一些密钥所产生的16个子密钥不是互不相同的,而是有相重的;存在互补对称性。2、3DES(1999年),既可以使用3个密钥,也可以使用2个密钥三个显著优点:密钥长度168位,完全能够抵抗穷举攻击;相当安全,而且经过实践检验;3DES地层加密算法与DES相同,所以现有的DES软硬件都能方便地实现3DES。3DES根本缺点是软件实现该算法的速度比较慢。3、密钥托管加密标准(EES)(1994年1997年,只将其用于语音通信加密)不公布加密算法,推出CLIPPER密码芯片,其密码算法称为SKIPJACK(属于分组密码,明文和密文长度为64位,密钥长度为80位,子密钥长32位,采用轮函数迭代结构,共迭代32圈SKIPJACK算法不是对合算法,所以加密和解密过程不一样。其S盒输入和输出都是8位,只有1个S盒。子密钥生成算法,非常简单,把单元密码UK(80位)重复连接,然后依次取32位为一个子密钥,直到取出32个子密钥为止。由于UK为80位,而子密钥32位,故取出5个子密钥后,第6个子密钥将开始重复。安全性:其密钥空间为2801.2* 1024,可以抵抗穷举攻击,其抗差分攻击线性攻击的能力也很强,但生成密钥算法过于简单,这对安全是不利的。其算法不是对合运算,这都工程实现都是不利的。4、国际数据加密算法(IDEA)(1990年提出)用于Internet的E-mail加密系统PGP和许多其他加密系统中。分组算法,明文和密文长度为64位,密钥长度为128位;对合算法;易于实现,用软件和硬件实现都很方便。产生52个子密钥。安全性:密钥长度为128位,穷举需要试探21281038个密钥;能抗差分和线性攻击;存在弱密钥;IDEA是为了方便16位CPU实现设计的,32位CPU实现不太方便。5、高级数据加密标准(AES)(2001年)RIJNDAEL加密算法:数据块长度和密钥长度都可变的分组加密算法,两长度可独立地选定为大于等于128且小于等于256位的32位的任意倍数RIJNDAEL的轮函数由三层组成:非线性层;线性混合层;密钥加层状态:加密解密要经过多次数据变换操作,每一次变换操作产生一个中间结果,称这个中间结果叫做状态。各种不同的密码变换都是对状态进行的。把状态表示为二维字节数组(每个元素为一个字节),它有4行,Nb列。Nb等于数据块长度除以32。算法的实现:实现容易是RIJNDAEL算法的一个优点,它可以灵活地用8位CPU,32位CPU以及专用硬件芯片实现。S盒的实现:实现S盒运算的最快方法是,直接计算出S盒的变化结果,并存储造表,使用时直接查表,因为ByteSub变换是字节函数,所以表的规模不大,只有256个字节。6、KASUMI密码f8用于加密,f9用于完整性验证三条原则:安全性要有足够的数学基础;算法的软件实现要足够快;算法的硬件实现要电路简单、功耗低。S盒:S9是9位输入到9位输出的非线性变换,S7是7位输入到7位输出的非线性变换。7、中国商用密码算法(SMS4)对合运算,数据分组长度为128比特,密钥长度为128比特。S盒:S盒以字节为单位的非线性替代变换,其密码学作用在于起到混淆作用。S盒的输入输出都是8位的字节。它本质上是8位的非线性置换。加密算法:采用32轮迭代结构,每轮使用一个轮密钥。SMS4的安全性:SMS4主要密码部件S盒设计得相当好。在非线性度、自相关性、差分均匀性、代数免疫性等主要密码学指标方面都达到相当高的水平,与AES的S盒相当。七、分组密钥的工作模式1、电话本模式ECB直接利用分组密码对明文进行加密。电话本方式是分组密码的基本工作模式。ECB的一个缺点是要求数据的长度是密码分组长度的整数倍,否则最后一个数据块是短块,这是需要特殊处理,ECB方式的另一个缺点是容易暴露明文的数据模式。在计算机系统中,许多数据都具有某种固有的模式。这主要是由数据冗余和数据结构引起的。 掩盖明文数据模式的有效方法有采用某种预处理技术和链接技术。下面介绍分组密码的链接工作模式2、密文连接模式CBC明密文链接方式具有加解密错误传播无界的特征,而磁盘文件加密通常希望解密错误传播有界,这时可以采用密文链接方式。明文不参与链接,只让密文参与链接,便成了密文链接方式。与ECB一样,CBC的一个缺点也是要求数据长度是密码分组长度的整数倍,否则最后一个数据块将是短块,这时需要特殊处理。3、输出反馈模式OFB输出反馈工作模式将一个分组密码转换为一个密钥序列产生器,从而实现用分组函数密码按流密码的方式进行加解密。这种工作模式的安全性取决于分组密码本身的安全性。 这种工作模式将一个分组密码转换为一个序列密码。它具有普通序列密码的优缺点,如没有错误传播。设加密时mi错了一位,则只影响密文中对应的一位,不影响其他位。同样,设解密时ci错了一位,则只影响明文中对应的一位,不影响其他位。输出反馈工作模式适于加密冗余码较大的数据,如语音和图像数据,但因无错误传播而对密文的更改难以检测。4、密文反馈模式CFB密文反馈工作模式的原理与输出反馈的工作原理基本相同,所不同的仅仅是反馈到移位寄存器R的不是E输出中的最右的S位,而是异或后的密文Ci的S位。密文反馈工作模式的错误传播情况与输出反馈工作模式不同。加密时若明文mi错了一位,则影响密文Ci错,这一错误反馈到移位寄存器后将影响到后续的密钥序列错,导致后续的密文都错。同样,解密时若密文Ci错了一位,则影响明文mi错,但密文的这一错误反馈到移位寄存器后将影响到后续的密钥序列错,导致后续的明文都错。八、序列密码“一次一密”密码在理论上是不可破译的这一事实使人们感觉到,如果能以某种方式仿效“一次一密”密码,则将可以得到保密性很高的密码。人们试图以序列密码方式效仿“一次一密”密码,从而促进序列密码的研究和发展。序列密码应使用尽可能长的密钥,而长的密钥的存储、分配都很困难。于是人们采用一个短的种子密钥来控制某种算法产生出长的密钥序列,供加解密使用,而短的种子密钥的存储、分配都比较容易。序列密码加密器采用简单的模2加法器,这使得序列密码的工程实现十分方便。于是,序列密码的关键就是产生密钥序列的算法。密钥序列产生算法能产生随机性和不可预知性很好的密钥序列。保持通信双方的精准同步是序列密码实际应用的关键技术。由于通信双方必须产生相同的密钥序列,所以这种密钥序列不可能是真随机序列,而是伪随机序列,只不过具有良好的随机性和不可预知性的伪随机序列。如果密钥序列产生算法与明文(密文)无关,则所产生的密钥序列也与明文(密文)无关,这类密码称为同步序列密码。只要通信双方的密钥序列产生器具有相同的种子密钥和相同的初始状态,就能产生相同的密钥序列。(优点就是没有错误传播,错误只影响相应字符的解密,不影响其他字符,输出反馈工作模式)如果密钥序列产生算法与明文(密文)相关,则所产生的密钥序列也与明文(密文)相关,这类密码称为自同步序列密码。(密文反馈工作模式)九、线性/非线性序列密码线性移位寄存器序列密码在已知明文攻击下是可破译的,可破译的根本原因在于线性移位寄存器序列是线性的,这一事实促使人们向非线性领域探究。非线性移位寄存器序列、对线性移位寄存器进行线性组合、钟控非线性序列。前面的都是传统密码,下面开始讨论公开密钥密码十、公开密钥密码密钥管理上的困难是传统密码应用的主要障碍基本思想是将传统密码的密钥一分为二要满足三个条件:解密算法D和加密算法E互逆,既有D( E(M,Ke) , Kd )=M;计算上不能由Ke求出Kd;算法D和E都是高效的所有用户的公开的加密钥Ke存入共享密钥库PKDB。KeA,KeB目前公认比较安全的公开密钥密码有基于大合数因子分解的困难性的RSA密码类和基于离散对数问题困难性的ELGamal密码类(包括椭圆曲线密码)RSA算法的实现技术:RSA算法通俗易懂但其工程实现却相当困难,其困难性主要在于大素数的产生和大数的模幂运算。在目前水平采用160200位的椭圆曲线,其安全性就够了。ELGamal密码:离散对数问题是目前公认的较好的单向函数ELGamal密码的应用:加、解密速度,由于其运算的数比RSA要小,所以速度比RSA稍快;随机数源;大素数的选择,p应为150位(十进制)以上的数,而且p-1应有大素因子。理想情况下应选p为强素数,p-1=2q,其中q为大素数。160位长的椭圆曲线密码的安全性相当于1024位的RSA密码十一、数字签名(公开算法)中国国家签名标准(GB15851-1995)美国国家数字签名标准(DSS,1994年)俄罗斯数字签名标准(GOST)1、完善的数字签名三个条件:签名者事后不能抵赖自己的签名;任何其他人不能伪造签名;当事双方的关于签名的真伪发生争执时,能在公正的仲裁者面前通过验证签名来确认其真伪。2、概念:数字签名利用密码技术进行,其安全性取决于密码体制以及协议的安全程度,因而可获得比书面签名更高的安全性。公开密钥密码效率比较低,主要用于数字签名,或用于保护传统密码的密钥。利用公开密钥实现数字签名非常方便,是公开密钥深受欢迎的主要原因。不可否认签名与普通数字签名最本质的不同在于,对于不可否认签名,在得不到签名者的配合的情况下不能进行签名验证。3、对RSA数字签名的攻击一般攻击;利用已有的签名进行攻击;利用签名进行攻击获得明文;对先加密后签名方案的攻击4、盲签名与普通签名对比:(盲性)签名者不知道所签署的数据内容(不可追踪性)即使在签名被接收者泄漏后,签名者也不能知道签名数据,不能追踪自己签名的数据的拥有者。十二、Hash函数1、Hash函数将任意长的数据M映射为定长的Hash码h,表示为h = H(M)Hash码也称数据摘要,它是所有数据位的函数,它具有错误检测功能,即改变数据的任何一位或则多位,都会导致Hash函数码的改变。2、基本性质:输入可以任意长输出固定长,多数情况下输入长度大于输出长度有效性:对于给定的输入M,计算h=H(M)的运算是高效的3、基本用途用于认证 和保密 和数字签名 和保密性和数字签名4、安全性单向性:对任何给定的Hash函数值h,找到满足H(x)=h的x在计算上是不可行的。抗弱碰撞性:对任何给定的数据x,找到满足yx且H(x)=H(y)的y在计算上是不可行的。抗强碰撞性:找到任何满足H(x)=H(y)的数偶(x,y)在计算上是不可行的。5、Hash函数结构:是一种迭代结构,Hash函数是建立在压缩函数的基础上的。(SHA-1、SHA-2 SHA-256/SHA-384/SHA-512 )十三、认证1、概念:认证又称鉴别,确认,它是认证某事是否名符其实、某事是否有效的一个过程。认证的基本思想是通过验证称谓者(人或事)的一个或多个参数的真实性和有效性,来达到验证称谓者是否名符其实的目的。加密用以确保数据的保密性;认证用以确保报文发送者和接收者的真实性、以及报文的完整性。认证往往是许多应用系统中安全保护的第一道防线,因而极其重要。2、认证和签名的区别:认证总是基于某种收发双方共享的保密数据来认证被鉴别对象的真实性,而数字签名中用于验证签名的数据是公开的。认证允许收发双方互相验证其真实性,不允许第三方验证,而数字签名允许收发双方和第三者都能验证。数字签名具有发送方不能抵赖、接收方不能伪造和具有在公证人前解决纠纷的能力,而认证则不一定具备。3、密码协议三层含义:协议是一个有序的执行过程。每一步都必须执行,而且是依序进行的。随意增加或减少执行步骤或改变执行步骤的顺序,都是对协议的修改或攻击。协议至少要有两个参与者。虽然一个人可以通过执行一系列步骤来完成某种任务,但不构成协议。协议的执行必须能完成某种任务。4、密码协议设计原则消息独立完整性原则消息前提准确原则主体身份标识原则加密目的原则签名原则随机数的使用原则时间戳的使用原则编码原则最少安全假设原则5、口令验证机制存在问题:攻击者可能从口令表获取用户口令攻击者可能在传输线路上截取用户口令用户和系统的地位不平等6、改进的口令机制:利用单向函数加密口令;利用数字签名方法验证口令;口令的双向验证;一次性口令7、站点认证:单向验证:(传统密码体制)A首先产生一个随机数RA,用密钥KS对其加密后发送给B,同时A对RA施加某函数变换f得到f(RA),其中f是某公开的简单

温馨提示

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

评论

0/150

提交评论