教学课件-计算机系统安全(第3版)-曹天杰_第1页
教学课件-计算机系统安全(第3版)-曹天杰_第2页
教学课件-计算机系统安全(第3版)-曹天杰_第3页
教学课件-计算机系统安全(第3版)-曹天杰_第4页
教学课件-计算机系统安全(第3版)-曹天杰_第5页
已阅读5页,还剩956页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

第1章概述1教材计算机系统安全(第三版)-高等教育出版社2日益严重的安全问题1986年,Pakistan病毒(即Brain)。1988年11月,莫里斯(Morris)蠕虫泛滥之后,经历四阶段蠕虫阶段网络犯罪阶段网络窃密阶段新安全阶段3安全的含义——与时俱进通信保密计算机安全网络安全安全保障4计算机系统概念计算机系统(ComputerSystem)也称计算机信息系统(ComputerInformationSystem),是由计算机及其相关的和配套的设备、设施(含网络)构成的,并按一定的应用目标和规则对信息进行采集、加工、存储、传输、检索等处理的人机系统。简言之,计算机系统是指信息系统赖以存在的实体和依赖于计算机实体所生成及运行的信息系统。5计算机安全计算机安全(ISO),是指为计算机系统建立和采取的技术与管理的安全保护措施,这些安全保护措施可以保护计算机系统中的硬件、软件以及数据,防止因偶然或恶意的原因而使系统或信息遭到破坏、更改或泄露。6安全属性可用性(Availability)可靠性(Reliability)完整性(Integrity)机密性(Confidentiality)不可抵赖性(Non-Repudiation)7安全属性可控性(Controllability)可审查性(Accountability)认证(Authentication)访问控制(AccessControl)8计算机系统安全范畴三个层面,即物理安全层、运行安全层、及数据安全层物理安全(PhysicalSecurity):环境安全,设备安全和介质安全运行安全(OperationSecurity):风险分析,审计跟踪,备份与恢复,应急等信息安全(InformationSecurity):操作系统安全,数据库安全,网络安全,病毒防护,访问控制,加密与鉴别9计算机系统安全范畴另两个层面信息内容的安全信息对抗10安全威胁威胁与攻击三类:信息泄露、拒绝服务、信息破坏11其他分类从威胁的来源看可分为内部威胁和外部威胁从造成的结果上看可以分成主动威胁和被动威胁从威胁的动机上看分为偶发性威胁与故意性威胁12表现形式假冒未授权访问拒绝服务否认(抵赖)窃听篡改复制与重放(重演)业务流量、流向分析隐蔽信道(隐通道)人为失误自然灾害与人为破坏恶意代码不良信息13安全模型P2DR安全模型PDRR安全模型PPDRR安全模型14P2DR安全模型安全的动态性安全的整体性政策保护检测响应15PDRR安全模型美国国防部提出了“信息安全保障体系”概括了网络安全的整个环节,即保护(Protection)、检测(Detection)、响应(Reaction)、恢复(Restore)信息保障保护检测恢复响应16PDRR安全模型美国国防部提出了“信息安全保障体系”提出了人、政策(包括法律、法规、制度、管理)和技术三大要素归纳了网络安全的主要内涵,即鉴别、保密、完整性、可用性、不可抵赖性、责任可核查性和可恢复性提出了信息安全的几个重点领域,即关键基础设施的网络安全(包括电信、油气管网、交通、供水、金融等)、内容的信息安全(包括反病毒、电子信箱安全和有害内容过滤等)和电子商务的信息安全;认为密码理论和技术是核心,安全协议是桥梁,安全体系结构是基础,安全的芯片是关键,监控管理是保障,攻击和评测的理论和实践是考验17PDRR安全模型在建立我国的信息安全保障体系时,有人主张在PDRR的前面加上预警(Warning),在后面加上反击(Counterattack),成为WPDRRC信息安全模型。它可以反映六大能力,它们是:预警能力、保护能力、检测能力、反应能力、恢复能力、反击能力。18网络防御模型预警保护反击检测恢复响应技术人员策略人员WPDRRC模型

19PPDRR安全模型包括策略(Policy)、防护(Protection)、检测(Detection)、响应(Reaction)和恢复(Restore)5个主要部分2021风险管理风险的概念什么情况下存在风险:跳伞、赛车、斗牛及攀岩等,博彩及投机等定义:遭遇危险,受损失或伤害的可能或机会风险的要素风险发生的不确定性风险发生的影响风险发生的条件和环境22风险管理风险管理的概念识别风险、评估风险,以及采取步骤降低风险到可接受范围内的过程风险管理是让管理者在安全和经济成本之间寻求平衡,并最终通过对支持其机构业务的系统和数据进行保护后获益。风险管理的目的防止或降低破坏行为发生的可能性,以及降低或限制当系统被破坏后后续的威胁。风险管理的生命周期明确系统资产弱点与威胁辩识风险评估系统监测风险决策风险控制评估23安全策略、机制与服务安全策略安全服务安全机制24安全策略安全策略是指在一个特定的环境里(安全区域),为了保证提供一定级别的安全保护所必须遵守的一系列条例和规则。例如,可以将安全策略定为:系统中的用户和信息被划分为不同的层次,一些级别比另一些级别高。当且仅当主体的级别高于或等于客体的级别,主体才能读访问客体;当且仅当主体的级别低于或等于客体的级别,主体才能写访问客体。25安全策略一种安全策略实质上表明所涉及的系统在进行一般操作时,在安全范围内什么是允许的,什么是不允许的。策略通常不作具体规定,它只是提出什么是最重要的,而不确切地说明如何达到所希望的这些结果。26安全策略安全策略都建立在授权的基础之上,一般按授权性质的不同区分不同的策略。在一般性的安全策略中可能写有“未经适当授权的实体,信息不得给予、不被授权、不允许引用、任何资源也不得为其使用”。按照所涉及的授权的性质可将策略分为三种,基于规则的策略、基于身份的策略、基于角色的策略。27安全服务安全服务(securityservice)是由安全机构所提供的服务;它确保该系统或数据传送具有足够的安全性。安全机构是实现和执行各种安全策略的功能的集合。安全策略是提供安全服务的一套准则。一项安全服务可以由若干项安全机制来实现。安全服务提供者对信息的机密性、完整性和来源真实性进行保护和鉴别的过程称为安全服务。

2829安全服务

在计算机网络中,主要的安全防护措施被称作安全服务。网络通信中目前主要有五种安全服务认证服务:提供实体的身份的保证访问控制服务:防止对资源的非授权使用机密性服务:对数据提供保护使之不被非授权地泄露完整性服务:保护数据防止未授权的改变、删除或替代非否认服务:提供凭证,防止发送者否认或接收者抵赖已接收到相关的信息30安全服务

实现安全服务的非电子机制的实例认证服务:身份证访问控制服务:钥匙机密性服务:密封的信件完整性服务:激光防伪的全息照片非否认服务:公证,挂号信的登记与签名31安全服务

用于对付典型安全威胁的安全服务假冒攻击:认证服务授权侵犯:访问控制服务窃听攻击:机密性服务完整性破坏:完整性服务服务的否认:非否认服务拒绝服务:认证服务,访问控制服务,完整性服务安全服务针对网络系统受到的威胁,OSI安全体系结构提出了5类安全服务。(1)认证服务认证服务提供通信对等实体和数据来源的认证。对等实体认证用于两开放系统的同等层中的实体建立连接或数据传输阶段,对对方实体(用户或进程)的合法性、真实性进行确认,以防止假冒。认证可以是单向或双向的。数据源认证服务用于对数据单元的来源提供确认,证明某数据与某实体有着静态不可分的关系。但它对数据单元的重复不提供认证保护。32安全服务(2)访问控制服务访问控制服务可以防止未经授权的用户非法使用系统资源。这种服务不仅可以提供给单个用户,也可以提供给封闭用户组中的所有用户。在用户身份认证和授权以后,访问控制服务将根据预先设定的规则对用户访问某项资源进行控制,只有规则允许时才能访问,违反预定的安全规则的访问行为将被拒绝。33安全服务(3)数据机密性服务数据机密性服务的目的是保护网络中各系统之间交换的数据,防止因数据被截获而造成的泄密。连接机密服务无连接机密服务选择字段机密服务业务流机密服务

34安全服务(4)数据完整性服务这种服务用来防止非法实体对用户的主动攻击。确定单个数据单元的完整性涉及两个处理,一个在发送实体进行,一个在接收实体进行。有恢复的连接完整性服务无恢复的连接完整性服务选择字段连接完整性服务无连接完整性服务,选择字段无连接完整性服务35安全服务(5)不可否认性服务这种服务有两种形式:第一种是源发证明,为数据的接收者提供数据来源的证据,它用来防止发送数据方发送数据后否认自己发送过数据。第二种形式是交付证明,为数据的发送者提供数据交付证据,它用来防止接收方接收数据后否认自己收到过数据。36安全机制安全策略确定以后,需要由不同的安全机制来实施。安全机制是实施安全策略的方法、工具或者章程。如果给定对“安全”和“非安全”行为进行描述的安全策略规范,安全机制就能够阻止攻击,检测攻击,或者遭到攻击后恢复工作。37安全机制例如:假如安全策略设定为禁止任何学生复制其他学生的作业文件。计算机系统提供防止其他人阅读用户文件的机制。Anna没有使用这些机制来保护她的作业文件,并且被Bill复制了作业。这就发生了安全破坏,因为Bill违反了安全策略。Anna未能保护好她的文件,但她并未授权Bill复制她的作业。安全机制可单独实施,也可以组合使用。38安全机制通常有三类安全机制:预防、检测和恢复。典型的安全机制有以下几种。(1)加密机制(2)数字签名机制(3)访问控制机制(4)数据完整性机制(5)鉴别交换机制39安全机制(6)路由选择机制(7)抗信息流分析机制(8)公证机制(9)环境安全机制(10)审查与控制机制40

机制服务对等实体认证访问控制服务数据起源认证连接机密性无连接机密性选择字段机密性业务流机密性可恢复的连接完整性不可恢复的连接完整性选择字段的连接完整性无连接完整性选择字段的无连接完整性数据起源的非否认带交付证据的非否认加密数字签名访问控制数据完整性认证交换业务流填充路由控制公证√√√√√√√√√√√√√√√√√√√√√√√√√√√√√√√√

机制与实现的安全服务(说明性)安全机制41

在OSI层中的服务配置

分层服务对等实体认证访问控制服务数据起源认证连接机密性无连接机密性选择字段机密性业务流机密性可恢复的连接完整性不可恢复的连接完整性选择字段的连接完整性无连接完整性选择字段的无连接完整性数据起源的非否认传递过程的非否认1234567√√√√√√√√√√√√√√√√√√√√√√√√√√√√√√√√√√√√√OSI安全体系结构的最重要的贡献是总结了各项安全服务在OSI七层中的适当配置位置。42基于TCP/IP的网络安全体系结构

ISO/OSI参考模型TCP/IP层次模型TCP/IP体系应用层(A)

应用层FTPTELNETHTTPSNMPNFS表示层(P)

XDRSMTR会话层(S)RPC传输层(T)传输层TCP/UDP网络层(N)IP层IPICMPARP、RARP数据链路层(DL)网络接口层

硬件协议(不指定)物理层(PH)ISO7498-2到TCP/IP的映射43TCP/IP协议模型中提供的安全服务

安全服务TCP/IP协议层网络接口IP层传输层应用层对等实体认证-YYY数据源认证-YYY访问控制服务-YYY连接机密性YYYY无连接机密性YYYY选择字段机密性---Y业务流机密性YY-Y44可恢复连接完整性--YY不可恢复连接完整性-YYY选择字段连接完整性---Y无连接完整性-YYY选择字段非连接完整性---Y源发方不可抵赖---Y接收方不可抵赖---Y说明:Y:服务应作为选项并入该层的标准之中-:不提供TCP/IP协议模型中提供的安全服务

4546物理安全与可靠性曹天杰tjcao@47物理安全概述

物理安全是保护计算机网络设备、设施以及其它媒体免遭地震、水灾、火灾等环境事故(如电磁污染等)以及人为操作失误或错误及各种计算机犯罪行为导致的破坏。物理安全是整个计算机信息系统安全的前提。人为的对物理安全的威胁包括:偷窃废物搜寻间谍活动48主要包括三个方面环境安全:对系统所在环境的安全保护,如区域保护和灾难保护。设备安全:主要包括设备的防盗、防毁、防电磁信息辐射泄漏、防止线路截获、抗电磁干扰及电源保护等;媒体安全:包括媒体数据的安全及媒体本身的安全。

491、环境安全对所在环境的安全保护,主要包括受灾防护和区域防护。受灾防护提供受灾报警,受灾保护和受灾恢复等功能,目的是保护计算机信息系统免受水、火、有害气体、地震、雷击和静电的危害。安全功能可归纳为三个方面:(1)

灾难发生前,对灾难的检测和报警;(2)

灾难发生时,对正遭受破坏的计算机信息系统,采取紧急措施,进行现场实时保护;(3)

灾难发生后,对已经遭受某种破坏的计算机信息系统进行灾后恢复。50区域防护对特定区域提供某种形式的保护和隔离。安全功能可归纳为两个方面:(1)

静止区域保护,如通过电子手段(如红外扫描等)或其它手段对特定区域(如机房等)进行某种形式的保护(如监测和控制等);(2)

活动区域保护,对活动区域(如活动机房等)进行某种形式的保护。1、环境安全(续)512、设备安全设备安全是指对计算机信息系统设备的安全保护。它主要包括设备的防盗和防毁,防止电磁信息泄漏,防止线路截获,抗电磁干扰以及电源保护等六个方面。(1)设备防盗提供对计算机信息系统设备的防盗保护。安全功能可归纳为:使用一定的防盗手段(如移动报警器、数字探测报警和部件上锁)用于计算机信息系统设备和部件,以提高计算机信息系统设备和部件的安全性。

52(2)设备防毁提供对计算机信息系统设备的防毁保护。安全功能可归纳为两个方面:(1)

对抗自然力的破坏,使用一定的防毁措施(如接地保护等)保护计算机信息系统设备和部件;(2)

对抗人为的破坏,使用一定的防毁措施(如防砸外壳)保护计算机信息系统设备和部件。2、设备安全(续)53(3)防止电磁信息泄漏用于防止计算机信息系统中的电磁信息的泄漏,从而提高系统内敏感信息的安全性。如防止电磁信息泄漏的各种涂料、材料和设备等。安全功能可归纳为三个方面:(1)

防止电磁信息的泄漏(如屏蔽室等防止电磁辐射引起的信息泄漏);(2)

干扰泄漏的电磁信息(如利用电磁干扰对泄漏的电磁信息进行置乱);(3)

吸收泄漏的电磁信息(如通过特殊材料/涂料等吸收泄漏的电磁信息)。2、设备安全(续)54(4)防止线路截获用于防止对计算机信息系统通信线路的截获和外界对计算机信息系统的通信线路的干扰。安全功能可归纳为四个方面:(1)

预防线路截获,使线路截获设备无法正常工作;(2)

探测线路截获,发现线路截获并报警;(3)

定位线路截获,发现线路截获设备工作的位置;(4)

对抗线路截获,阻止线路截获设备的有效使用。2、设备安全(续)55(5)抗电磁干扰用于抵抗对计算机信息系统的电磁干扰,从而保护系统内部的信息。安全功能可归纳为两个方面:(1)

对抗外界对系统的电磁干扰;(2)

消除来自系统内部的电磁干扰。2、设备安全(续)56(6)电源保护为计算机信息系统设备的可靠运行提供能源保障,例如不间断电源、纹波抑制器、电源调节软件等。安全功能可归纳为两个方面:对工作电源的工作连续性的保护,如不间断电源

对工作电源的工作稳定性的保护,如纹波抑制器。2、设备安全(续)57提供对媒体数据和媒体本身的安全保护。(1)媒体的安全

提供对媒体的安全保管,目的是保护存储在媒体上的信息。安全功能可归纳为两个方面:(1)媒体的防盗;(2)媒体的防毁,如防霉和防砸等。

3、媒体安全58(2)媒体数据的安全提供对媒体数据的保护。媒体数据的安全删除和媒体的安全销毁是为了防止被删除的或者被销毁的敏感数据被他人恢复。安全功能可归纳为三个方面:(1)

媒体数据的防盗,如防止媒体数据被非法拷贝;(2)

媒体数据的销毁,包括媒体的物理销毁(如媒体粉碎等)和媒体数据的彻底销毁(如消磁等),防止媒体数据删除或销毁后被他人恢复而泄露信息;(3)

媒体数据的防毁,防止意外或故意的破坏使媒体数据的丢失。3、媒体安全(续)59可靠性系统可靠性(Reliability)的定义是指从它开始运行(t=0)到某时刻t这段时间内能够正常运行的概率。系统可靠性在数值的度量中采取可靠度衡量。在给定的时间间隔内,在给定的条件下,系统仍然能正确执行其功能的概率称为可靠度。平均无故障时间MTBF(MeantimeBetweenFailures)是指两次故障之间能正常工作的平均值。故障即可能是元器件故障、软件故障、也可能是人为攻击造成的系统故障。计算机的可维修性是指计算机的维修效率,通常用平均修复时间(MTRF)来表示。MTRF是指从故障发生到系统恢复平均所需要的时间。60可用性和可维修性

系统可维修性有时用可维修度来度量。在给定时间内,将一失效系统恢复到运行状态的概率称为可维修度。可用性(Availability)是指计算机的使用效率,它以系统在执行任务的任意时刻能正常工作的概率。系统可用性用可用度来度量。系统在t时刻处于正确状态的概率称为可用度,用A(t)来表示。其计算方法为:A=平均无故障时间/(平均无故障时间+平均修复时间)61提高可靠性的措施完美性perfection。提高软硬件的质量,抵御故障的发生。完美性追求一种避错技术,即避免出错。要求组成系统的各个部件、器件、软件具有高可靠性,不允许出错,或者出错率降至最低。容错性FaultTolerance。发展容错技术,使的在故障发生时,系统仍能继续运行,提供服务与资源。这就是所说的“容错能力”。62完美性1、硬件的可靠性与完美性提高可靠性,可以通过元器件的精选、严格的工艺、精心的设计来实现。换句话说,系统应尽量不出故障,一旦出故障,系统则失效。这样的设计是以系统“不出故障”为前提的,故称之为“避错设计”。在现有条件下避错设计是提高系统可靠性的有效办法。2、软件的可靠性与完美性软件可靠性的衡量一般采用统计方式。规定时间内正常使用系统时的故障率,或在规定的时间周期内在所述条件下执行所要求的功能的程序的能力。63容错性

容错系统的概念容错技术:在一定程度上容忍故障的技术。也称为故障掩盖技术(faultmasking)。容错系统:采用容错技术的系统。容错主要依靠冗余设计来实现,它以增加资源的办法换取可靠性。由于资源的不同,冗余技术分为硬件冗余、软件冗余、时间冗余和信息冗余。可以是元器件级的冗余设计,也可以是部件级的、分系统级的、或系统级的冗余设计。64容错系统工作方式1.自动侦测(Auto-Detect):运行中自动地通过专用的冗余侦测线路和软件判断系统运行情况,检测冗余系统各冗余单元是否存在故障。2.自动切换(Auto-Switch):当确认某一主机出错时,正常主机除了保证自身原来的任务继续运行外,将根据各种不同的容错后备模式,接管预先设定的后备作业程序,进行后续程序及服务。3.自动恢复(Auto-Recovery):故障主机被替换后,进行故障隔离,离线进行故障修复。修复后通过冗余通信线与正常主机连线,继而将原来的工作程序和磁盘上的数据自动切换回修复完成的主机上。容错性

65(1)增加线路、设备、部件,形成备份硬件容错方法之一是硬件堆积冗余。物理域的恢复作用是自动的。在逻辑域可采用多数表决方案。冗余部分处于热状态另一硬件容错的方法叫待命储备冗余。该系统中共有M+1个模块,其中只有一块处于工作状态,其余M块都处于待命接替状态。冗余部分处于冷状态混合冗余系统是堆积冗余和待命储备冗余的结合应用。当堆积冗余中有一个模块发生故障时,立刻将其切除,并代之以无故障待命模块。这种方法可达到较高的可靠性。硬件冗余

66(2)数据备份数据容错的主要策略即数据备份,数据备份指的是将计算机系统中硬磁盘上的一部分数据通过适当的形式转录到可脱机保存的介质(如磁带、软磁盘和光盘)上。硬件冗余67

按备份的策略可分为完全备份、差分备份、增量备份、按需备份。完全备份:对包括系统应用程序和数据库等一个备份周期内的数据完全备份。差分备份:只备份上次完全备份以后有变化的数据。增量备份:只备份上次备份以后有变化的数据。按需备份:根据临时需要有选择地进行数据备份。

硬件冗余68

按备份介质存放的位置可分为本地备份、异地备份。

按备份后的数据是否可更改可分为活备份与死备份。按选择的备份软件的功能可分为动态备份与静态备份。

硬件冗余69对重要系统,应明确以下问题:①系统是否有备份?②备份间隔是可接受的吗?③系统是按规定进行备份的吗?④是否确认备份介质正确的保存了数据?⑤备份介质是否在室内得到了正确的保护?⑥是否在另一处还有操作系统和存储设施的备份?(包括必要的licensekey)⑦存储过程是否被测试及确认?

硬件冗余70灾难恢复操作通常分为两类系统恢复、个别文件恢复。系统恢复:在服务器发生意外灾难导致数据全部丢失、系统崩溃或是有计划的系统升级、系统重组等,需要系统恢复。个别文件恢复:个别文件恢复可能要比全盘恢复常见得多,利用网络备份系统的恢复功能,我们很容易恢复受损的个别文件。只需浏览备份数据库或目录,找到该文件,触动恢复功能,软件将自动驱动存储设备,加载相应的存储媒体,然后恢复指定文件。

硬件冗余71(3)双机容错系统当一个CPU板出现故障时,其他CPU板保持继续运行。这个过程对用户是透明的,系统没有受到丝毫影响,更不会引起交易的丢失,充分保证数据的一致性和完整性。冗余部分处于热状态。硬件冗余72(4)双机热备份双机热备份是当CPU出现故障时由闲置状态的备份系统接替,但正在处理的交易有可能丢失,从而导致数据的不一致。冗余部分处于冷状态。

硬件冗余73三机表决系统在三机表决系统中,三台主机同时运行,由表决器(Voter)根据三台机器的运行结果进行表决,有两个以上的机器运行结果相同,则认定该结果为正确。硬件冗余74集群系统均衡负载的双机或多机系统就是集群系统(Clusting)。DEC公司最早在其

VAX系统上实现了集群技术。集群系统对于军队、金融、证券等大型关键业务系统,无疑是最好的选择。硬件冗余75软件容错技术:恢复块方法、N-版本程序设计,防卫式程序设计等。

故障的恢复策略一般有两种:前向恢复和后向恢复。前向恢复:指使当前的计算继续下去,把系统恢复成连贯的正确状态,弥补当前状态的不连贯情况,这需有错误的详细说明。(杀毒)后向恢复:指系统恢复到前一个正确状态,继续执行。(系统还原)

软件冗余

76恢复块方法恢复块方法是一种动态屏蔽技术。采用“自动后向错误恢复”的策略。软件冗余

77N-版本程序设计N版本程序设计是一种静态的故障屏蔽技术,采用"前向错误恢复"的策略。N份程序必须由不同的人独立设计,使用不同的方法,不同的设计语言,不同的开发环境和工具来实现。

软件冗余78防卫式程序设计基本思想是通过在程序中包含错误检查代码和错误恢复代码,使得一旦错误发生,程序能撤消错误状态,恢复到一个已知的正确状态中去。实现策略包括错误检测,破坏估计和错误恢复三个方面。软件冗余79信息冗余是为了检测或纠正信息在运算或传输中的错误为目的而外加的一部分信息。在通信和计算机系统中,信息常以编码的形式出现。采用奇偶码、定重码、循环码等冗余码就可检错和纠错。

信息冗余80例如检查点(Check-Point)就属于时间冗余的一种,将机器运行的某一时刻称作检查点,此时检查系统运行的状态是否正确,不论正确与否,都将这一状态存储起来,一旦发现运行故障,就返回到最近一次正确的检查点重新运行。时间冗余81密码学基础1曹天杰tjcao@中国矿业大学计算机科学与技术学院82密码学的起源和发展三个阶段:1949年之前密码学是一门艺术1949~1975年密码学成为科学1976年以后密码学的新方向——公钥密码学83第1阶段-古典密码

密码学还不是科学,而是艺术出现一些密码算法和加密设备密码算法的基本手段出现,针对的是字符简单的密码分析手段出现主要特点:数据的安全基于算法的保密84第1阶段-古典密码Phaistos圆盘,一种直径约为160mm的Cretan-Mnoan粘土圆盘,始于公元前17世纪。表面有明显字间空格的字母,至今还没有破解。8520世纪早期密码机86第1阶段-古典密码1883年Kerchoffs第一次明确提出了编码的原则:加密算法应建立在算法的公开不影响明文和密钥的安全。这一原则已得到普遍承认,成为判定密码强度的衡量标准,实际上也成为传统密码和现代密码的分界线。87

计算机使得基于复杂计算的密码成为可能相关技术的发展1949年Shannon的“TheCommunicationTheoryofSecretSystems”

1967年DavidKahn的《TheCodebreakers》1971-73年IBMWatson实验室的HorstFeistel等几篇技术报告主要特点:数据的安全基于密钥而不是算法的保密

第2阶段1949~1975881976年:Diffie&Hellman的

“NewDirectionsinCryptography”

提出了不对称密钥密1977年Rivest,Shamir&Adleman提出了RSA公钥算法90年代逐步出现椭圆曲线等其他公钥算法主要特点:公钥密码使得发送端和接收端无密钥传输的保密通信成为可能第3阶段1976~891977年DES正式成为标准80年代出现“过渡性”的“PostDES”算法,如IDEA,RCx,CAST等90年代对称密钥密码进一步成熟Rijndael,RC6,MARS,Twofish,Serpent等出现2001年Rijndael成为DES的替代者第3阶段1976~90保密通信91密码学起源密码是通信双方按约定的法则进行信息特殊变换的一种重要保密手段。依照这些法则,变明文为密文,称为加密变换;变密文为明文,称为解密变换。17世纪,英国著名的哲学家弗朗西斯·培根在他所著的《学问的发展》一书中最早给密码下了定义,他说,“所谓密码应具备三个必要的条件,即易于翻译、第三者无法理解、在一定场合下不易引人生疑。”

加密解密明文密文原始明文92密码学起源谋成于密,败于泄——明揭暄兵经百言》古典密码学包含两个互相对立的分支,即密码编码学(Cryptography)和密码分析学(Cryptanalytics)。前者编制密码以保护秘密信息,而后者则研究加密消息的破译以获取信息。二者相反相成,共处于密码学的统一体中。现代密码学除了包括密码编码学和密码分析学外,还包括安全管理、安全协议设计、散列函数等内容。93密码学起源大约在4000年以前,在古埃及的尼罗河畔,一位擅长书写者在贵族的基碑上书写铭文时有意用加以变形的象形文字而不是普通的象形文字来写铭文,从而揭开了有文字记载的密码史。这篇颇具神秘感的碑文,已具备了密码的基本特征:把一种符号(明文)用另一种符号(密文)代替94密码学起源公元前5世纪,古斯巴达人使用了一种叫做“天书”的器械,这是人类历史上最早使用的密码器械。“天书”是一根用草纸条、皮条或羊皮纸条紧紧缠绕的木棍。密信自上而下写在羊皮纸条上。然后把羊皮纸条解开送出。把羊皮纸条重新缠在一根直径和原木棍相同的木棍上,这样字就一圈圈跳出来。95密码学起源公元前1世纪古罗马凯撒大帝时代曾使用过一种“代替式密码”,在这种密码中,每个字母都由其后的第三个字母(按字母顺序)所代替。这种代替式密码直到第二次大战时还被日本海军使用。公元前4世纪前后,希腊著名作家艾奈阿斯在其著作《城市防卫论》中就曾提到一种被称为“艾奈阿斯绳结”的密码。它的作法是从绳子的一端开始,每隔一段距离打一个绳结,而绳结之间距离不等,不同的距离表达不同的字母。96密码学起源〈六韬.龙韬.阴符〉武王问太公曰:‘引兵深入诸侯之地,三军猝有缓急,或利或害。吾将以近通远,从中应外,以给三军之用。为之奈何?’太公曰:‘主与将,有阴符。凡八等:有大胜克敌之符,长一尺;破军杀将之符,长九寸;降城得邑之符,长八寸;却敌报远之符,长七寸;誓众坚守之符,长六寸;请粮益兵之符,长五寸;败军亡将之符,长四寸;失利亡士之符,长三寸。诸奉使行符,稽留者,若符事泄,闻者告者,皆诛之。八符者,主将秘闻,所以阴通言语,不泄中外相知之术。敌虽圣智,莫之通识。’武王曰:‘善哉。’97密码学起源〈六韬.龙韬.阴书〉武王问太公曰:‘引兵深入诸侯之地,主将欲合兵,行无穷之变,图不测之利。其事繁多,符不能明;相去辽远,言语不通。为之奈何?’太公曰:‘诸有阴事大虑,当用书,不用符。主以书遗将,将以书问主。书皆一合而再离,三发而一知。再离者,分书为三部;三发而一知者,言三人,人操一分,相参而不知情也。此谓阴书。敌虽圣智,莫之能识。’武王曰:‘善哉。’98密码学起源在古代还出现过一种被称为“叠痕法”的密码,使用时先把信纸折叠几下(上下及左右),然后铺平信纸,将传递的信息按顺序一个个分开,写在折痕的交叉点上,每一个交叉点写一个字。然后再在空白位置上填上公开的普通信文,普通信文与秘密信文的文字通顺地连贯在一起。为了防止被敌人察觉,使用这种密码需要在编公开信文上下些功夫。如果在秘密信文上再用些暗语式密码,那么敌人就更难看出破绽了。宋曾公亮、丁度等编撰《武经总要》“字验”记载,北宋前期,在作战中曾用一首五言律诗的40个汉字,分别代表40种情况或要求,这种方式已具有了密码本体制的特点。99密码学起源暗号。简单地说,暗号就是通过用物件的状态或人的行为来传达事先约定的信息.如窗台上的花瓶、手中拿着的报纸、口中昨着的曲子,可分别代表“现在安全”、“我是你要找的人”、“我在找自己人”等明确的信息.隐语。暗号是把信息变换为物件或动作,隐语则是把信息变换成与此信息完全无关的(但有意义的)语言.据说,1941年,日本偷袭珍珠港前两星期,美国情报人员曾截获一次重要的电话对话.那是两名分别在东京和华盛顿的日本高级官员之间的通话.这段对话里“小孩出生”的真正意思是“发动战争”.在华盛顿的日本人:是不是真的有个小孩要出生了?在东京的日本人:是的.而且看来马上就要出生了.在华盛顿的日本人:这个小孩真的要生了吗?是在哪个方向呢?100密码学起源16世纪意大利数学家卡尔达诺发明的一种保密通信方法,史称“卡尔达诺漏格板”.漏格板是一张用硬质材料(如硬纸、羊皮、金属等)做成的板,上面挖了一些长方形的孔,即漏格.101密码学起源〈兵经百言.衍部.传〉军行无通法,则分者不能合,远者不能应。彼此莫相喻,败道也。然通而不密,反为敌算。故自金、旌、炮、马、令箭、起火、烽烟,报警急外;两军相遇,当诘暗号;千里而遥,宜用素书,为不成字、无形文、非纸简。传者不知,获者无迹,神乎神乎!或其隔敌绝行,远而莫及,则又相机以为之也。”102密码学起源大约在1793年,当时的美国总统托马斯杰斐逊发明了一种轮子密码机。转动轮子使明文中的所有字母全排在一条直线上为止.这时圆柱体的其他25行字母也因这一行的固定而被固定了.任选这25行中的一行发出去即为密文.103密码学起源“谜”(ENIGMA)密码最初是由一个叫胡戈·科赫的荷兰人发明的。起初主要提供给想保护自己生意秘密的公司使用,但其商界的销路一直不理想。后来德国人将其改装为军用型,使之更为复杂可靠。德国海军于1926年开始使用“ENIGMA”,陆军则于1928年开始使用。1933年,纳粹最高统帅部通信部决定将“ENIGMA”作为德国国防军新式闪击部队的通信装置。德国人在战争期间共生产了大约10多万部“谜”密码机。1940年,经过盟军密码分析学家的不懈努力,“恩尼格玛”密码机被动攻破,盟军掌握了德军的许多机密,而德国军方却对此一无所知。104密码学起源105密码学起源传说,古时候有一对夫妻,男的名叫李石匠,女的叫张小花。李石匠靠手艺赚钱,张小花在家纺纱织布。一年,李石匠参加修建石桥,因工程紧张,十一个月也没回家一次。张小花独自在家只有纺车做伴。一天石匠工地回来一个工友路过她家,她托这个工友给丈夫带去一封书信。106密码学起源第六十回吴用智赚玉麒麟梁山泊义军头领宋江久慕卢俊义的威名,一心想招取卢俊义上山坐第一把交椅,共图大业,替天行道。智多星吴用扮成一个算命先生,利用卢俊义正为躲避“血光之灾”的惶恐心里,口占四句卦歌,并让他端书在家宅的墙壁上。卢花滩上有扁舟,俊杰黄昏独自游。义到尽头原是命,反躬逃难必无忧。这四句诗写出后,被官府拿到了证据,大兴问罪之师,到处捉拿卢俊义,终于把他逼上梁山。。107加密与解密现代密码学涉及数学(如数论、有限域、复杂性理论、组合算法、概率算法等)、物理学(如量子力学、现代光学、混沌动力学等)、信息论、计算机科学等学科。1949年,信息论之父C.E.Shannon发表了《保密系统的通信理论》,密码学走上科学和理性之路。1976年W.Diffie和M.E.Hellman发表的《密码学的新方向》,以及1977年美国公布实施的数据加密标准DES,标志着密码学发展的革命。2001年11月美国国家标准技术研究所发布高级数据加密标准AES代表着密码学的最新发展。108加密与解密基于密钥的算法通常有两类:对称算法和公开密钥算法。使用一个密钥的加/解密。加密时可以使用一个参数K,称此参数K为加密密钥。K可以是很多数值里的任意值。密钥K的可能值的范围叫做密钥空间。109加密与解密使用两个密钥的加/解密。EK1(P)=CDK2(C)=PDK2

(EK1(P))=P解密密钥加密密钥原始明文密文加密解密明文110加密与解密加密通信的模型信源Mm加密器解密器接收者m非法接入者搭线信道(主动攻击)C’搭线信道(被动攻击)密码分析员m‘密钥源K1k1密钥源K2k2密钥信道111加密与解密对称算法就是加密密钥能够从解密密钥中推算出来,反过来也成立。在大多数对称算法中,加/解密密钥是相同的。这些算法也叫秘密密钥算法或单密钥算法。对称算法可分为两类。序列密码(流密码)与分组密码。112序列密码(流密码)序列密码主要应用于军事和外交场合。序列密码的优点是错误扩展小、速度快、利于同步、安全程度高。密钥流产生器密钥k明文m密文c异或运算113序列密码伪随机序列发生器是指输入真随机的较短的密钥(种子)通过某种复杂的运算产生大量的伪随机位流。真随机序列从真实世界的自然随机性源产生。如自然界中的抛币。伪随机序列用确定的算法产生,不是真正的随机序列。伪随机序列发生器指使用短的真随机序列(称为种子)x扩展成较长的伪随机序列y。随机数是较短的随机位序列。seed(short)PRBS(long)011011010010110....114分组密码分组密码是将明文按一定的位长分组,明文组和密钥组的全部经过加密运算得到密文组。数据加密标准DES出自IBM被美国政府正式采纳的数据加密算法(DataEncryptionAlgorithm,DEA)由中国学者来学嘉XuejiaLai和JamesL.Massey在苏黎世的ETH开发的国际数据加密算法IDEA(InternationalDataEncryptionAlgorithm)比利时JoanDaemen和VincentRijmen提交,被美国国家标准和技术研究所(USNationalInstituteofStandardsandTechnology,NIST)选为美国高级加密标准(AES)的Rijndael。115公钥密码公开密钥算法中用作加密的密钥不同于用作解密的密钥,而且解密密钥不能根据加密密钥计算出来(至少在合理假定的长时间内),所以加密密钥能够公开,每个人都能用加密密钥加密信息,但只有解密密钥的拥有者才能解密信息。在公开密钥算法系统中,加密密钥叫做公开密钥(简称公钥),解密密钥叫做秘密密钥(私有密钥,简称私钥)。公开密钥算法主要用于加密/解密、数字签名、密钥交换。116公钥密码多个用户加密,一个用户解密一个用户签名,多个用户验证117公钥密码1976年,美国学者Diffie和Hellman为解决密钥的分发与管理问题发表了著名论文《密码学的新方向》NewDirectioninCryptography,提出一种密钥交换协议,允许在不安全的媒体上通过通讯双方交换信息,安全地传送秘密密钥,并提出了建立“公开密钥密码体制”(PublicKey)的新概念。比较流行的有基于大整数因了分解问题的RSA体制和Rabin体制、基于有限域上的离散对数问题的Differ-Hellman公钥体制和ElGamal体制、基于椭圆曲线上的离散对数问题的Differ-Hellman公钥体制和ElGamal体制。这些密码体制有的只适合于密钥交换,有的只适合于加密/解密。118量子密码随着物理学和信息科学的发展与交融,研究人员发现:以微观粒子作为信息的载体,利用量子技术,可以解决许多传统信息理论无法处理或是难以处理的问题。“量子密码”的概念就是在这种背景下提出的。当前,量子密码研究的核心内容,就是如何利用量子技术在量子信道上安全可靠地分配密钥。量子密码学利用物理学原理保护信息。通常把“以量子为信息载体,经由量子信道传送,在合法用户之间建立共享的密钥的方法”,称为量子密钥分配,其安全性由“海森堡测不准原理”及“单量子不可复制定理”保证。量子的特性可以用来解决密钥的分配问题,从而突破传统信息论的束缚,设计出无条件安全的密码。119密码分析密码分析学是在不知道密钥的情况下,恢复出密文中隐藏的明文信息。120置换密码置换加密是将明文字母互相换位,明文的字母保持相同,但顺序被打乱了。例如“天书”121置换密码逆序密码Plain: SIMPLECIPHER

Cipher: REHPICELPMIS围栏密码Plain: SMLCPEIPEIHRCipher:SMLCPEIPEIHR几何图形IcameIsawIconquered122代换密码代换密码(代替密码)就是明文中每一个字符被替换成密文中的另外一个字符,代替后的各字母保持原来位置。123代换密码凯撒密码就是单表代替密码,它的每一个明文字符都由其右边第3个(模26)字符代替(A由D代替,B由E代替,W由Z代替,X由A代替,Y由B代替,Z由C代替)。124代换密码Vigenere密码方法如下:例如:明文为System,密钥为dog,加密过程如下:明文:System密钥:dogdog密文:Vmgwrs125密码分析字母分布126密码分析凯撒密码加密后字母分布(利用统计特性攻破)127一次一密密码一种理想的加密方案,叫做一次一密密码(one-timepad),由MajorJosephMauborgne和AT&T公司的GilbertVernam在1917年发明的。一次一密乱码本是一个大的不重复的真随机密钥字母集,这个密钥字母集被写在几张纸上,并一起粘成一个乱码本。发方用乱码本中的每一密钥字母准确地加密一个明文字符。加密是明文字符和一次一密乱码本密钥字符的模26加法。128一次一密密码

m密文COne-TimePadkbitsofrandomkeyK100110101001110110111101000111使用随机数序列,并且只能使用一次k0⊕0=00⊕1=11⊕0=11⊕1=0异或129数据加密标准采用代替和置换的方法进行加密假定信息空间都是由{0,1}组成的字符串,信息被分成64比特的块,密钥(去掉奇偶校验位后)是56比特。经过DES加密的密文也是64比特的块。主要弱点密钥容量:56位不太可能提供足够的安全性

S盒:可能隐含有陷井(Hiddentrapdoors)130高级加密标准美国国家标准技术研究所(NIST)于1997年9月12日发出征集高级加密标准AES(AdvancedEncryptionStandard)的通知。131高级加密标准AES被设计为支持128/192/256bit(/32=Nb)数据块大小;支持128/192/256bit(/32=Nk)密钥长度。132RSA算法RSA的安全性在理论上存在一个空白,即不能确切知道它的安全性能如何。我们能够做出的结论是:对RSA的攻击的困难程度不比大数分解更难,因为一旦分解出r的因子p、q,就可以攻破RSA密码体制。对RSA的攻击是否等同于大数分解一直未能得到理论上的证明,因为没能证明破解RSA就一定需要作大数分解。不管怎样,分解n是最显然的攻击方法。1977年,《科学美国人》杂志悬赏征求分解一个129位十进数(426比特),直至1994年3月才由Atkins等人在Internet上动用了1600台计算机,前后花了八个月的时间才找出答案。现在,人们已能分解155位(十进制)的大素数。因此,模数n必须选大一些133RSAPublicKeyCryptosystemTheInventorsR-RonRivestS-AdiShamirA-LeonardAdlemanTheOne-WayFunctionTheexponentiationfunctiony=f(x)=xemodn

canbecomputedwithreasonableeffort.Itsinversex=f-1(y)isextremelydifficulttocompute.TheHardProblemSecuringtheTrapdoorTheRSApublickeyalgorithmisbasedonthewell-knownhardproblemoffactoringlargenumbersintoitsprimefactors

thathasbeen

studiedovermanycenturies.

134KeyGenerationAlgorithmStep1:ChoosetworandomlargeprimenumberspandqFormaximumsecurity,choosepandqofaboutequallength,

e.g.512-1024bitseach.Step2:Computetheproductn=p·qStep3:Choosearandomintegere<(p-1)(q-1)(n)=(p-1)(q-1)Thenumberseand(p-1)(q-1)mustberelativelyprime,i.e.theyshouldnotsharecommonprimefactors.Step4:Computetheuniqueinversed=e-1mod(p-1)(q-1)Theequationd·emod(p-1)(q-1)=1

canbesolvedusingtheEuclidianalgorithm.135PublicKey:

n

productoftwoprimes,pandq(pandqmustremainsecret)e

relativelyprimeto(p-1)(q-1)PrivateKey:

d

e-1mod((p-1)(q-1))Encrypting:

c=memodn

Decrypting:

m=cdmodn

RSAEncryption136CheckingRSAde1(mod(n))de=t((n))+1,t>=1(me)dmt((n))+1(modn) (m(n))tm(modn) (1)tm(modn) byEuler’sThm. m(modn)137(p-1)·(q-1)=2·10=2·2·5=20KeyGenerationExamplep=3,q=11:n=p·q=33thepublicexponentemustberelativelyprimeto(p-1)·(q-1),

i.e.itcannotcontainanyfactorsof2and5

ede·de·dmod2037211732119981111111211131722111713221119193611allpossiblechoicesfor

theexponentseandd138RSAExampleSelectprimes:p=17&q=11Computen=pq=17×11=187Computeø(n)=(p–1)(q-1)=16×10=160Selecte:gcd(e,160)=1;choosee=7Determined:de=1mod160andd<160Valueisd=23since23×7=161=10×160+1PublishpublickeyKU={7,187}KeepsecretprivatekeyKR={23,17,11}139RSAExamplecontsampleRSAencryption/decryptionis:givenmessageM=88(nb.88<187)encryption:C=887mod187=11

decryption:M=1123mod187=88

140散列函数散列(HASH)函数H也称哈希函数或杂凑函数等,是典型的多到一的函数。输入为一可变长x(可以足够的长),输出一固定长的串h(一般为128位、160位,比输入的串短),该串h被称为输入x的Hash值(或称消息摘要MessageDigest、指纹、密码校验和或消息完整性校验),计作h=H(x)。141散列函数Hash函数H一般满足以下几个基本要求:(1)输入x可以为任意长度;输出数据串长度固定;(2)正向计算容易,即给定任何x,容易算出H(x);反向计算困难,即给出一Hash值h,很难找出一特定输入x,使h=H(x);(3)抗冲突性(抗碰撞性),包括两个含义,一是给出一消息x,找出一消息y使H(x)=H(y)是计算上不可行的(弱抗冲突),二是找出任意两条消息x、y,使H(x)=H(y)也是计算上不可行的(强抗冲突)。常用的散列函数有:消息摘要4(MD4)算法、消息摘要5(MD5)算法、安全散列函数(SHA)。(被王小云攻破)。142数字签名传统签名的基本特点能与被签的文件在物理上不可分割签名不能被伪造容易被验证数字签名是传统签名的数字化能与所签文件“绑定”签名不能被伪造143数字签名验证Verify(H(m),s,k’)=Truek消息m消息ms消息mshh设H杂凑函数,RSA签名过程为s≡Hd(m)(modn)验证过程如下:验证下式是否成立H(m)≡se(modn)144密码学基础DES曹天杰tjcao@中国矿业大学计算机科学与技术学院分组密码基本概念分组密码是将明文消息划分成长为L(L的值通常为64或128)的分组M各个长为L的分组分别在密钥K的控制下变换成与明文组等长的一组密文C145分组密码基本概念对于分组密码两个设计原则是扩散和混淆扩散原则:1)明文中的每一位影响密文中的许多位,这样可以隐蔽明文的统计特性;2)使得密钥的每一位影响密文的许多位146分组密码的基本要求混淆原则:设计的密码算法应使得密钥和明文以及密文之间的依赖关系变得尽可能复杂。可以使用复杂的非线性代替变换来达到较好的混淆效果。

147148149150151数据加密标准DES1973年5月15日,美国国家标准局NBS(NationalBureauofStandards)开始公开征集标准加密算法,并公布了它的设计要求:(1)算法必须提供高度的安全性;(2)算法必须有详细的说明,并易于理解;(3)算法的安全性取决于密钥,不依赖于算法;(4)算法适用于所有用户;(5)算法适用于不同应用场合;(6)算法必须高效、经济;(7)算法必须能被证实有效;(8)算法必须是可出口的。152数据加密标准DES1979年,美国银行协会批准使用.1980年,美国国家标准协会ANSI(AmericanNationalStandardsInstitute)赞同DES作为私人使用的标准,称之为DEA(ANSIX.392).1983年,国际化标准组织ISO赞同DES作为国际标准,称之为DEA-1.该标准规定每五年审查一次,计划十年后采用新标准.最近的一次评估是在1994年1月,已决定1998年12月以后,DES将不再作为联邦加密标准.153DES加密算法概述DES的加密过程可简单描述为三个阶段:154155DES加密过程描述初始置换IP

在迭代运算之前,需要将输入的64位明文进行初始置换IP。进行初始置换后,明文的次序被打乱,如原来放在第58位的数据置换后放在第1位。58504234261810260524436282012462544638302214664564840322416857494133251791595143352719113615345372921135635547393123157初始置换IP

156157DES加密过程描述16轮迭代运算

在每一轮迭代中,每个64位的中间结果被分成左右两部分,而且左右两部分作为相互独立的32位数据进行处理。每轮迭代的输入是上轮的结果Li-1和Ri-1。扩展置换S-盒变换Ri-1P-盒变换RiLiLi-1密钥Ki4848323232

DES一轮加密的原理158159DES加密过程描述加密函数F

F(Ri-1,Ki)P盒变换E盒扩展KiRi-1S4S8S7S6S5S3S1S2160扩展置换扩展方法为:每个分组的4位作为6位输出分组的中间4位,6位输出分组中的第1位和第6位分别由相邻的两个4位小分组的最外面两位扩散进入到本分组产生,其中第1个小分组的左侧相邻分组为最后一个小分组。

E盒扩展分组的产生过程

161DES加密过程描述与子密钥异或

将经过E盒扩展置换得到的48位输出与子密钥Ki进行异或(按位模2加)运算。162163164165s盒后紧接p盒166DES加密过程描述P盒变换

P盒变换是将S盒输出的32位比特串根据固定的置换P(也为P盒)置换到相应的位置。1672021291228171152326518311028241432273919133062211425167168169DES子密钥生成DES子密钥是从用户输入的初始密钥(或称为种子密钥)产生的。用户输入的初始密钥K为64位,其中有8位用于奇偶校验,分别位于第8,16,24,32,40,48,56,64位。奇偶校验位用于检查密钥K在产生和分配以及存储过程中可能发生的错误。DES的密钥实际上只有56位。170171DES的安全性对DES安全性的主要争论:

1、对DES的S盒、迭代次数、密钥长度等设计准则的争议

2、DES存在着一些弱密钥和半弱密钥

3、DES的56位密钥无法抵抗穷举工具172密码学基础AES曹天杰tjcao@中国矿业大学计算机科学与技术学院173高级加密标准AES1997年4月15日,(美国)国家标准技术研究所(NIST)发起征集高级加密标准AES的活动1997年9月12日,美国联邦登记处公布了正式征集AES候选算法的通告。对AES的基本要求是:比三重DES快、至少与三重DES一样安全、数据分组长度为128比特、密钥长度为128/192/256比特。174高级加密标准AES1998年8月12日,在首届AES会议上指定了15个候选算法。1999年3月22日第二次AES会议上,将候选名单减少为5个,这5个算法是RC6,Rijndael,SERPENT,Twofish和MARS。2000年4月13日,第三次AES会议上,对这5个候选算法的各种分析结果进行了讨论。2000年10月2日,NIST宣布了获胜者—Rijndael算法,2001年11月出版了最终标准FIPSPUB197。175高级加密标准AESRijndael算法是一个迭代型分组密码,其分组长度和密钥长度都可变,各自可以为128比特、192比特、256比特。

Rijndael对明文以字节为单位进行处理。以128位的分组、128位密钥的情况为例:将明文按字节分成列组,每4个字节组成一列,依次排列则组成了一个4乘4的矩阵。176高级加密标准AESAES的状态矩阵

a00 a01 a02 a03

a10 a11 a12 a13

a20 a21 a22 a23

a30 a31 a32 a33

a00a10a20a30a01a11a21a31a02a12a22a32a03a13a23a33177高级加密标准AES这样AES输入的16个字节排成了一个二维数组,称之为状态矩阵。AES的加密和解密变换都是基于状态数组来处理的,在中间结果上的不同变换操作称为状态。AES的状态矩阵的列数Nb等于明文的长度除以32,矩阵中的每个元素是一个8位字节。178密钥也可以表示成一个4*Nk的矩阵,Nk等于密钥的长度除以32,当密钥长度为128位时Nk=4。密钥矩阵k00k01k02k03k10k11k12k13k20k21k22k23k30k31k32k33179AES的加密变换讨论密钥长度为128比特、分组长度为128比特的情况,其他分组长度和密钥长度的类型,AES工作的原理是相同的。与DES相同,AES也是由最基本的变换单位——“轮”多次迭代而成的,当分组长度和密钥分组长度均为128比特时,轮数为Nr=10。180AES的加密变换将轮变换计为Round(State,RoundKey),State表示消息矩阵;RoundKey表示轮密钥矩阵。一轮的完成将改变State矩阵中的元素,称为改变它的状态。对于加密来说,输入到第一轮中的State就是明文消息矩阵,最后一轮输出的State就是对应的密文消息矩阵。181AES的加密变换AES的轮(除最后一轮外)变换有四个不同的变换组成,这些变化称之为内部轮函数,AES的轮可表示成如下形式:

Round(State,RoundKey){ SubBytes(State); ShiftRows(State); MixColumns(State); AddRoundKey(State,RoundKey);}182AES的加密变换SubBytes(State)为字节代替变换ShiftRow(State)为行移位变换MixColumn(State)为列混合变换AddRoundKey(State,RoundKey)为与子密钥与最后一轮记作:

FinalRoundKey(State,RoundKey), 相当于前面的Round(State,RoundKey)去掉MixColumns(State)。183AES的加密变换AES的算法的执行过程为:(1)给定的明文M,将M初始化为State,并进行AddRoundKey(State,RoundKey),将RoundKey与State进行异或运算;(2)对于前Nr−1轮中的每一轮,分别执行Round(State,RoundKey)过程;(3)执行最后一轮FinalRoundKey(State,RoundKey)过程,即只执行SubBytes(State)、ShiftRows(State)、

温馨提示

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

评论

0/150

提交评论