1、第二章密码学基础NEW优选第二章密码学基础优选第二章密码学基础NEW目标要求目标要求 基本要求基本要求 理解密码系统的理解密码系统的模型模型 理解对称密码体制和非对称密码体制的原理理解对称密码体制和非对称密码体制的原理 掌握掌握IDEA算法、算法、ECC等公开密码算法的原理与应用等公开密码算法的原理与应用 了解常见的了解常见的加密方式和各自的特点加密方式和各自的特点目标要求目标要求 重点重点 掌握对称密码体制和非对称密码体制的原理掌握对称密码体制和非对称密码体制的原理 熟悉熟悉IDEA算法、算法、ECC公开密码算法的原理与应用公开密码算法的原理与应用 熟悉各种熟悉各种加密方式和各自的特点加密方
2、式和各自的特点 难点难点 非对称密码体制的原理非对称密码体制的原理本章内容本章内容2.1 密码技术概述密码技术概述2.2 密码算法密码算法2.3 对称密钥密码加密模式对称密钥密码加密模式2.4 网络加密方式网络加密方式2.1 密码技术概述密码技术概述密码学历史密码学历史 1000 BC:姜子牙阴阳符姜子牙阴阳符 500-600 BC:天书天书 100-44 BC:Caesar cipherthe romans arecoming todayCaesar cipher移位密码移位密码密文表:密文表:abcdefghijklmnopqrstuvwxyz密文表:密文表:defghijklmnopqr
3、stuvwxyzabcAn example:明文明文-Plaintext:How are you 密文密文-Ciphertext?1790:转轮密码,转轮密码,Thomas Jefferson 工作原理:首先将明文分成相同长度的数据块,ECB模式,简单、高速,但最弱、易受重发攻击,一般不1883年荷兰密码学家A.bits的DSA和RSA快10倍。密码反馈(CFB)模式 解密循环I的头4个子密钥从加密循环10I 500-600 BC:天书 由于CBC模式的链接机制,该模式对于加密长于64bit的消 IV的完整性要比其保密性更为重要。来获取所希望的“密文明文”对(集合)。明文(消息)(Plaint
4、ext):被隐蔽消息,常用M表示而能在多项式时间上可解。一次对一个明文分组加密,每次加密使用同一密600 21000 1078 选择明文破译(chosen plaintext attacks),密码算法:规定了明文和密文之间的一个复杂 密码分析学(Cryptanalysis),研究分析破译(2)IDEA加密过程 二战二战:German Enigma machine 二战二战:Japanese Purple machine Born:30 April 1916 in Gaylord,Michigan,USADied:24 Feb 2001 in Medford,Massachusetts,USA
5、密码系统密码系统加密变换加密变换不安全信道不安全信道Plain TextCipher TextCipher Text解密变换解密变换Plain Text发送者:发送者:AliceDecryption KeyEncryption Key接受者:接受者:AliceCipher Text密码分析密码分析?窃密者:窃密者:Eve密钥信道密钥信道(1)密码学基本概念)密码学基本概念 密码学密码学(Cryptology):研究信息系统安全保密:研究信息系统安全保密 的科学。它包含两个分支:的科学。它包含两个分支:密码编码学密码编码学(Cryptography),对信息进行编,对信息进行编 码实现隐蔽信息的
6、一门学问;码实现隐蔽信息的一门学问;密码分析学密码分析学(Cryptanalysis),研究分析破译,研究分析破译 密码的学问。密码的学问。明文明文(消息消息)(Plaintext):被隐蔽消息,常用:被隐蔽消息,常用M表示表示 密文密文(Ciphertext)或密报或密报(Cryptogram):明文经:明文经 密码变换成的一种隐蔽形式,常用密码变换成的一种隐蔽形式,常用C表示表示 加密加密(Encryption):将明文变换为密文的过程:将明文变换为密文的过程 解密解密(Decryption):加密的逆过程,即由密文恢:加密的逆过程,即由密文恢 复出原明文的过程复出原明文的过程 加密员或密
7、码员加密员或密码员(Cryptographer):对明文进行:对明文进行 加密操作的人员。加密操作的人员。常用常用E()()表示表示 控制加密和解密算法操作的数据处控制加密和解密算法操作的数据处 理,分别称作加密密钥和解密密钥,常用理,分别称作加密密钥和解密密钥,常用k表示表示 在信息传输和处理系统在信息传输和处理系统 中的非受权者,通过搭线窃听、电磁窃听、声音中的非受权者,通过搭线窃听、电磁窃听、声音 窃听等来窃取机密信息。窃听等来窃取机密信息。加密过程EK(M)=C钥,加密算法的输入是当前明文分组和前一次密分析者可以对其进行统计分析、重传和代换攻击Cipher Text来获取所希望的“明文
8、密文”对(集合)。CFB模式除了获得保密性外,还能用于认证。其中的 是满足简单条件的实数应的明文数据块,将所有的明文数据块合并起来即 缺点是没有错误传播,因此不易确保数据完整性。Cipher Text量错误时,也不会造成同步错误。(2)运算定义分析者除了拥有有限数量的密文外,还有机会使 二战:German Enigma machine IDEA是PGP的一部分;而CFB模式中是将密文单元反馈到移位寄存器 截收者(Eavesdropper):在信息传输和处理系统密钥序列:k=k0k1k2Cipher Text尽管密码学家们大都同意这一看法,但直到制定DES时才首次认真地遵循这一原则。密码分析密码
9、分析(Cryptanalysis)截收者试图通过分析截收者试图通过分析 从截获的密文推断出原来的明文或密钥。从截获的密文推断出原来的明文或密钥。密码分析员密码分析员(Cryptanalyst)从事密码分析的人。从事密码分析的人。被动攻击被动攻击(Passive attack)对一个保密系统采对一个保密系统采 取截获密文进行分析的攻击。取截获密文进行分析的攻击。(2)密码系统组成)密码系统组成 明文空间:信息本来的原始空间明文空间:信息本来的原始空间 密文空间:明文经过加密后得到难以理解和辨密文空间:明文经过加密后得到难以理解和辨 认的信息空间认的信息空间 密钥空间:控制算法的实现,由信息通信双
10、方密钥空间:控制算法的实现,由信息通信双方 所掌握的专门信息空间所掌握的专门信息空间 密码算法:规定了明文和密文之间的一个复杂密码算法:规定了明文和密文之间的一个复杂 的函数变换方式,包括加密函数与解密函数的函数变换方式,包括加密函数与解密函数 加密过程加密过程EK(M)=C 加密过程加密过程DK(C)=M 密码系统应满足密码系统应满足DK(EK(M)=)=M 密码学的密码学的Kerchoff准则准则“一切秘密寓于密钥之中一切秘密寓于密钥之中”1883年荷兰密码学家年荷兰密码学家A.Kerchoff(18351903)就就给出了密码学的一个基本原则给出了密码学的一个基本原则:密码的安全必须完全
11、寓密码的安全必须完全寓于密钥之中。尽管密码学家们大都同意这一看法于密钥之中。尽管密码学家们大都同意这一看法,但直但直到制定到制定DES时才首次认真地遵循这一原则。时才首次认真地遵循这一原则。密码体制密码体制密码体制:一个密码系统采用的基本工作方式密码体制:一个密码系统采用的基本工作方式密码体制从原理上可以分为两大类:密码体制从原理上可以分为两大类:对称密钥密码体制(或单钥密码体制)对称密钥密码体制(或单钥密码体制)非对称密钥密码体制(或双钥密码体制)非对称密钥密码体制(或双钥密码体制)对称密钥密码体制对称密钥密码体制加密:加密:E不安全信道不安全信道Plain TextCipher TextC
12、ipher Text解密解密:DPlain Text发送者:发送者:AliceKK接受者:接受者:Alice密钥信道密钥信道密钥生成器密钥生成器 加密过程加密过程EK(M)=C 加密过程加密过程DK(C)=M 对称密钥密码根据对明文加密方式的不同分为对称密钥密码根据对明文加密方式的不同分为 序列密码(序列密码(Stream Cipher)或流密码)或流密码 分组密码(分组密码(Block Cipher)或块密码)或块密码(1)序列密码序列密码对明文的单个位(有时对字节)运算的算法。对明文的单个位(有时对字节)运算的算法。军事和外交场合使用的主要密码技术军事和外交场合使用的主要密码技术 工作原理
13、:工作原理:明文序列:明文序列:m=m0m1m2密文序列:密文序列:c=ccc1c2密钥序列:密钥序列:k=k0k1k2序列密码的加密过程序列密码的加密过程明文序列:明文序列:m=m0m1m2密文序列:密文序列:c=ccc1c2密钥序列:密钥序列:k=k0k1k2序列密码的解密过程序列密码的解密过程 加密过程加密过程ci=(ki+mi)(mod 2)加密过程加密过程mi=(ki+ci)(mod 2)(2)分组密码分组密码 对明文信息分割成块结构,逐块进行加密和解密。对明文信息分割成块结构,逐块进行加密和解密。工作原理:首先将明文分成相同长度的数据块,工作原理:首先将明文分成相同长度的数据块,然
14、后分别对每个数据块加密产生一串灭为你数据然后分别对每个数据块加密产生一串灭为你数据 块;解密时,第每个密文数据块进行解密后得到相块;解密时,第每个密文数据块进行解密后得到相 应的明文数据块,将所有的明文数据块合并起来即应的明文数据块,将所有的明文数据块合并起来即 得到明文。得到明文。明文序列:明文序列:m=m0m1m2密文序列:密文序列:c=ccc1c2密钥序列:密钥序列:k=k0k1k2分组密码的加密过程分组密码的加密过程Ek明文序列:明文序列:m=m0m1m2密文序列:密文序列:c=ccc1c2密钥序列:密钥序列:k=k0k1k2分组密码的加密过程分组密码的加密过程Dk(1)对称密钥密码体
15、制的问题)对称密钥密码体制的问题非称密钥密码体制非称密钥密码体制ENetwork or Storage明文明文Plain Text密文密文Cipher TextD原明文原明文OriginalPlain TextBob私钥私钥Secret KeyAlice私钥私钥Secret Key密文密文Cipher Text 若若N个人相互保密通信,每人必须拥有(个人相互保密通信,每人必须拥有(N1)个)个 私钥,私钥,N很大时,需要保存的私钥很多。如何解很大时,需要保存的私钥很多。如何解 决?决?可信中心分发共需要发可信中心分发共需要发N*(N1)/2个私钥个私钥 N=1000时时,999*1000/2=
16、499500 双方事先约定用户之间自己秘密会面双方事先约定用户之间自己秘密会面 (第一次远距离通信如何办?)(第一次远距离通信如何办?)已有100多年的研究历史(第一次远距离通信如何办?)分析者除了拥有有限数量的密文外,还有机会使Cipher TextCipher Text明文序列:m=m0m1m2 计数器(CTR)模式James Massey于1990年公布了IDEA密码算法第密码体制:一个密码系统采用的基本工作方式每次迭代只有少数bit完成加160 1024 1012 IDEA的“混淆”和“扩散”ECC的密钥长度m RSA的密钥长度 MIPS年密文序列:c=ccc1c2 流密码不需要对消息
17、进行填充,而且运行是实时(4)不用事先分配秘钥。循环子群的阶数达2160,则可提供足够的安全性。密码算法:规定了明文和密文之间的一个复杂钥,加密算法的输入是当前明文分组和前一次密Cipher Text理,分别称作加密密钥和解密密钥,常用k表示加密:加密:E不安全信道不安全信道Plain TextCipher TextCipher Text解密解密:DPlain Text发送者:发送者:AliceK2K1接受者:接受者:Alice 1976,由,由Diffie和和Hellman提出,提出,被公认为现代被公认为现代 密码学诞生的标志。密码学诞生的标志。工作原理:工作原理:每个用户都有一对选定的密钥
18、(公钥:每个用户都有一对选定的密钥(公钥:K1,私钥,私钥K2)K1是可以公开的,可以像电话号是可以公开的,可以像电话号 码一样进行注册公布;码一样进行注册公布;K2则是秘密的。则是秘密的。特点:(特点:(1)将加密和解密能力分开;(将加密和解密能力分开;(2)多个)多个 用户加密的消息只能由一个用户解读(秘密通用户加密的消息只能由一个用户解读(秘密通 信);(信);(3)一个用户加密的消息而使多个用户可)一个用户加密的消息而使多个用户可 以解读(认证);(以解读(认证);(4)不用事先分配秘钥。)不用事先分配秘钥。(2)非对称密钥密码体制)非对称密钥密码体制密码分析密码分析 密码分析:密码分
19、析:试图获得加密体制细节、解密密钥和试图获得加密体制细节、解密密钥和 明文等机密信息的过程,通常包括:分析统计截明文等机密信息的过程,通常包括:分析统计截 获的密文材料、假设、推断和证实等步骤。获的密文材料、假设、推断和证实等步骤。密码分析方法有传统破译方法和物理破译方法两密码分析方法有传统破译方法和物理破译方法两 大类。大类。(1)基本概念基本概念 传统破译方法包括穷举破译法和数学分析法两类。传统破译方法包括穷举破译法和数学分析法两类。数学分析法又分为确定性分析法的和统计分析法。数学分析法又分为确定性分析法的和统计分析法。四种破译类型:四种破译类型:唯密文破译(唯密文破译(ciphertex
20、t only attacks),),分析者仅知道有限数量的密文。分析者仅知道有限数量的密文。已知明文破译(已知明文破译(known plaintext attacks),),分析者除了拥有有限数量的密文外,还有数量限分析者除了拥有有限数量的密文外,还有数量限 定的一些已知定的一些已知“明文明文密文密文”对。对。四种破译类型(续):四种破译类型(续):选择明文破译(选择明文破译(chosen plaintext attacks),),分析者除了拥有有限数量的密文外,还有机会使分析者除了拥有有限数量的密文外,还有机会使 用注入了未知密钥的加密机,通过自由选择明文用注入了未知密钥的加密机,通过自由选
21、择明文 来获取所希望的来获取所希望的“明文明文密文密文”对(集合)。对(集合)。选择密文破译(选择密文破译(chosen ciphertext attacks),),分析者除了拥有有限数量的密文外,还有机会使分析者除了拥有有限数量的密文外,还有机会使 用注入了未知密钥的解密机,通过自由选择密文用注入了未知密钥的解密机,通过自由选择密文 来获取所希望的来获取所希望的“密文密文明文明文”对(集合)。对(集合)。(2)防止密码破译的措施)防止密码破译的措施为防止密码被破译,可以采取以下措施:为防止密码被破译,可以采取以下措施:强壮的加密算法;强壮的加密算法;动态会话密钥动态会话密钥 保护关键密钥保护
22、关键密钥2.2 密码算法密码算法(1)IDEA的历史的历史 1990年,年,瑞士的来学嘉(瑞士的来学嘉(Xuejia Lai)和和 James Massey于于1990年公布了年公布了IDEA密码算法第密码算法第 一版,称为一版,称为PES(Proposed Encryption Standard);1991年,为抗击差分密码攻击,他们增强了算法的强年,为抗击差分密码攻击,他们增强了算法的强 度,称度,称IPES(Improved PES);1992年,改名为年,改名为IDEA(International Data Encryption Algorithm)。)。算法算法(2)IDEA加密过程
23、加密过程 IDEA是一个分组长度为是一个分组长度为 64bit的分组密码算法,密的分组密码算法,密 钥长度为钥长度为128bit(抗强力攻(抗强力攻 击能力比击能力比DES强),同一强),同一 算法既可加密也可解密。算法既可加密也可解密。IDEA的的“混淆混淆”和和“扩散扩散”设计原则来自三种运算,设计原则来自三种运算,它们易于软、硬件实现它们易于软、硬件实现 (加密速度快)(加密速度快)Z6F2F1Z5G1G2在在IDEA的模乘运的模乘运算中,为什么将模数算中,为什么将模数取为取为216+1,而不是,而不是 216?2.在其模加运算中,为什么模数取为在其模加运算中,为什么模数取为216而不是
24、而不是 216+1?IDEA加密的总体方案图加密的总体方案图循环循环2循环循环8循环循环1输出变换输出变换64位密文位密文64位明文位明文Z1Z6Z7Z12Z43Z48Z49Z52子密钥生成器子密钥生成器128bit密钥密钥Z1Z5216IDEA加密的单个循环图加密的单个循环图X1X2X3X4Z1Z2Z3Z4Z5Z6W11W12W13W14N=1000时,999*1000/2=499500OFB模式将加密算法的输出反馈到移位寄存器,ECC,每秒可完成40,000次椭园曲线运算,其速度比1024设计原则来自三种运算,由于CBC模式的链接机制,该模式对于加密长于64bit的消若可以容忍少量错误扩展
25、,则可换来恢复同步能力,分析者除了拥有有限数量的密文外,还有数量限法,因此不用实现解密算法。尽管密码学家们大都同意这一看法,但直到制定DES时才首次认真地遵循这一原则。or Storage其中的 是满足简单条件的实数 CBC适用于文件加密,但较ECB慢。IDEA加密的单个循环图 Web服务器的实现在Web服务器上集中进行密码计算会形成 密码分析学(Cryptanalysis),研究分析破译(2)防止密码破译的措施 密码分析学(Cryptanalysis),研究分析破译 加密(Encryption):将明文变换为密文的过程IDEA的密钥生成的密钥生成 56个个16bit的子密钥从的子密钥从128
26、bit的密钥中生成前的密钥中生成前8 个子密钥直接从密钥中取出;个子密钥直接从密钥中取出;对密钥进行对密钥进行25bit的循环左移,接下来的密钥的循环左移,接下来的密钥 就从中取出;就从中取出;重复进行直到重复进行直到52个子密钥都产生出来。个子密钥都产生出来。(3)IDEA的解密的解密 加密解密实质相同,但使用不同的密钥;加密解密实质相同,但使用不同的密钥;解密密钥以如下方法从加密子密钥中导出解密密钥以如下方法从加密子密钥中导出 解密循环解密循环I的头的头4个子密钥从加密循环个子密钥从加密循环10I 的头的头4个子密钥中导出;解密密钥第个子密钥中导出;解密密钥第1、4个个 子密钥对应于子密钥
27、对应于1、4加密子密钥的乘法逆元;加密子密钥的乘法逆元;2、3对应对应2、3的加法逆元;的加法逆元;对前对前8个循环来说,循环个循环来说,循环I的最后两个子密钥的最后两个子密钥 等于加密循环等于加密循环9I的最后两个子密钥;的最后两个子密钥;使用子分组使用子分组16bit的子分组;的子分组;使用简单操作(易于加法、移位等操作实现)使用简单操作(易于加法、移位等操作实现);加密解密过程类似;加密解密过程类似;规则的结构(便于规则的结构(便于VLSI实现)。实现)。(4)实现上的考虑)实现上的考虑(5)IDEA的安全性的安全性 IDEA能抗差分分析和相关分析;能抗差分分析和相关分析;IDEA似乎没
28、有似乎没有DES意义下的弱密钥;意义下的弱密钥;IDEA是是PGP的一部分;的一部分;Bruce Schneier 认为认为IDEA是是DES的最好替代,但的最好替代,但 问题是问题是IDEA太新,许多问题没解决。太新,许多问题没解决。公钥密码公钥密码(1)简要历史)简要历史 椭圆曲线椭圆曲线(Elliptic curve)作为代数几何中的重要问题作为代数几何中的重要问题 已有已有100多年的研究历史多年的研究历史 1985年,年,N.Koblitz和和V.Miller独立将其引入密码学独立将其引入密码学 中,成为构造公钥密码体制的一个有力工具。中,成为构造公钥密码体制的一个有力工具。利用有限
29、域利用有限域GF(2n)上的椭圆曲线上点集所构成的群上上的椭圆曲线上点集所构成的群上 定义的离散对数系统,可以构造出基于有限域上离散定义的离散对数系统,可以构造出基于有限域上离散 对数的一些公钥体制椭圆曲线离散对数密码体制对数的一些公钥体制椭圆曲线离散对数密码体制 (ECDLC),如,如DiffieHellman,ElGamal,Schnorr,DSA等等 实数上的椭圆曲线实数上的椭圆曲线 其中的其中的 是满足简单条件的实数是满足简单条件的实数 一些曲线上的点连同无穷远点一些曲线上的点连同无穷远点O的集合。的集合。232yaxybyxcxdxe,abcde 实数上的椭圆曲线例子实数上的椭圆曲线
30、例子 231yxx(2)运算定义运算定义 12121211;,22,OOOO pOpXp pppOOppQRXpQRpOQSQQS 若曲线三点在一条直线上,则其和为,用作加法的单位:,一条竖直线交 轴两点则于是,如果两个点 和 的 轴不同,则画一连线,得到第三个点,则,倍,一个点 的 倍是,找到它的切线与曲线的另一交点于是l有限域上的椭圆曲线有限域上的椭圆曲线l模模P椭圆群记为椭圆群记为 群中的元素(群中的元素(x,y)是满足是满足l 以上方程的小于以上方程的小于P的非负整数另外加上无穷远点的非负整数另外加上无穷远点Ol计算计算2332mod4270modyxaxbppabp是奇素数,且,:p
31、Ea b30,mod,pxpxaxbpyx yx ypEa b针对所有的计算确定是否可以求出有效的得到曲线上的点其中,记为。,:pEa b 的加法规则的加法规则,pEa b 112233231231312121211,modmod,/,3/2pPOPPx yPxyOxyPPxyEa bPx yQxyPQxyxxxpyxxypPQyyxxPQxay如果则点是 的负点,记为。而且也在中如果则为其中,如果则 如果则 ECC的加解密的加解密NoImage,:,:ppmmmmmmmEa bGGnGnGOnrPrGp a b G PPrMMEa bPkCkG PkPkkGkPOkCPkPr kGPkrGr
32、kGP选择的元素使得 的阶 是一个大素数的阶是指满足的最小 值秘密选择整数 计算然后公开为公钥保密加密先把消息变换成为中的一个点然后选择随机数计算密文如果 使得或者为则重新选择解密加密消息有扩张 ECC加解密例子加解密例子 23751,1,188,188,0,376,562,201,386201,5386 0,376676,558562,201386 201,5385,328676 558385 328pmBmBpEyxxGABPAkBPkGPkPA取这等价于曲线假设 希望发送一个报文给这个报文被编码为椭圆曲线上的点而 选择随机数的公钥是我们有因此 发送密文,ECC特别适用特别适用 无线无线M
33、odem的实现对分组交换数据网提供加密,在的实现对分组交换数据网提供加密,在 移动通信器件上运行移动通信器件上运行4 MHz的的68330 CPU,ECC可实现可实现 快速快速DiffieHellman密钥交换,并极小化密钥交换占用密钥交换,并极小化密钥交换占用 的带宽,将计算时间从大于的带宽,将计算时间从大于60秒降到秒降到2秒以下。秒以下。Web服务器的实现在服务器的实现在Web服务器上集中进行密码计算会形成服务器上集中进行密码计算会形成 瓶颈,瓶颈,Web服务器上的带宽有限使带宽费用高,采用服务器上的带宽有限使带宽费用高,采用ECC可节可节 省计算时间和带宽,且通过算法的协商较易于处理兼
34、容性。省计算时间和带宽,且通过算法的协商较易于处理兼容性。集成电路卡的实现集成电路卡的实现ECC无需协处理器就可以在标准卡上实现无需协处理器就可以在标准卡上实现 快速、安全的数字签名,这是快速、安全的数字签名,这是RSA体制难以做到。体制难以做到。ECC可使程可使程 序代码、密钥、证书的存储空间极小化,数据帧最短,便于实序代码、密钥、证书的存储空间极小化,数据帧最短,便于实 现,大大降低了现,大大降低了IC卡的成本。卡的成本。Menezes,Okamoto和和Vanstone 指出应避免选指出应避免选 用超奇异曲线,否则椭圆曲线群上的离散对数问用超奇异曲线,否则椭圆曲线群上的离散对数问 题退化
35、为有限域低次扩域上的离散对数问题,从题退化为有限域低次扩域上的离散对数问题,从 而能在多项式时间上可解。他们还指出,若所用而能在多项式时间上可解。他们还指出,若所用 循环子群的阶数达循环子群的阶数达2160,则可提供足够的安全性。,则可提供足够的安全性。(3)ECC的安全性的安全性 ECC和和RSA对比在实现相同的安全性下,对比在实现相同的安全性下,ECC 所需的密所需的密 钥量比钥量比RSA少得多,如下表所示。其中少得多,如下表所示。其中MIPS年表示用每秒年表示用每秒 完成完成100万条指令的计算机所需工作的年数,万条指令的计算机所需工作的年数,m表示表示ECC 的密钥由的密钥由2 m点构
36、成。以点构成。以40 MHz的钟频实现的钟频实现155 bits的的 ECC,每秒可完成,每秒可完成40,000次椭园曲线运算,其速度比次椭园曲线运算,其速度比1024 bits的的DSA和和RSA快快10倍。倍。ECC的密钥长度的密钥长度m RSA的密钥长度的密钥长度 MIPS年年 160 1024 1012 320 5120 1036 600 21000 1078 1200 120000 10168分组密码的工作模式分组密码的工作模式2.3 网络加密方法网络加密方法 分组密码可以按不同的模式工作,实际应用的环分组密码可以按不同的模式工作,实际应用的环境不同应采用不同的工作模式境不同应采用不
37、同的工作模式 电码本电码本(ECB)模式模式 密码分组链接密码分组链接(CBC)模式模式 密码反馈密码反馈(CFB)模式模式 输出反馈输出反馈(OFB)模式模式 计数器计数器(CTR)模式模式电码本(电码本(ECB)模式)模式 最简单的运行模式,一次对一个最简单的运行模式,一次对一个64bit长的明长的明文文 分组加密,且每次加密密钥都相同。分组加密,且每次加密密钥都相同。在用于短数据(如加密密钥)时非常理想,是安在用于短数据(如加密密钥)时非常理想,是安 全传递全传递DES密钥的最合适的模式密钥的最合适的模式 在给定的密钥下同一明文组总产生同样的密文组。在给定的密钥下同一明文组总产生同样的密
38、文组。这会暴露明文数据的格式和统计特征。这会暴露明文数据的格式和统计特征。明文数据都有固定的格式,需要以协议的形式定明文数据都有固定的格式,需要以协议的形式定 义,重要的数据常常在同一位置上出现,使密码义,重要的数据常常在同一位置上出现,使密码 分析者可以对其进行统计分析、重传和代换攻击分析者可以对其进行统计分析、重传和代换攻击密码分组链接(密码分组链接(CBC)模式)模式 一次对一个明文分组加密,每次加密使用同一密一次对一个明文分组加密,每次加密使用同一密 钥,加密算法的输入是当前明文分组和前一次密钥,加密算法的输入是当前明文分组和前一次密 文分组的异或(在产生第文分组的异或(在产生第1个密
39、文分组时,需要个密文分组时,需要 有一个初始向量有一个初始向量IV与第一个明文分组异或);与第一个明文分组异或);解密时,每一个密文分组被解密后,再与前一个解密时,每一个密文分组被解密后,再与前一个 密文分组异或(第一个密文分组解密后和初始向密文分组异或(第一个密文分组解密后和初始向 量量IV异或恢复出第一个明文分组)。异或恢复出第一个明文分组)。为使安全性最高,为使安全性最高,IV应像密钥一样被保护。可使用应像密钥一样被保护。可使用ECB 加密模式来发送加密模式来发送IV;保护保护IV原因是如果敌手能欺骗接受方使用不同的原因是如果敌手能欺骗接受方使用不同的IV,敌手就能够在明文的第一个分组中
40、插入自己选择敌手就能够在明文的第一个分组中插入自己选择的比特值;的比特值;IV的完整性要比其保密性更为重要。在的完整性要比其保密性更为重要。在CBC模式下,模式下,最好最好 是每发一个消息,都改变是每发一个消息,都改变IV,比如将其值加一;,比如将其值加一;由于由于CBC模式的链接机制,该模式对于加密长于模式的链接机制,该模式对于加密长于64bit的消的消 息非常合适;息非常合适;CBC模式除能获得保密性外,还能用于认证。模式除能获得保密性外,还能用于认证。密码反馈(密码反馈(CFB)模式)模式 加密算法的输入是加密算法的输入是64bit移位寄存器,其初始值为某个初始向量移位寄存器,其初始值为
41、某个初始向量IV,加密算法输出的最左(最高有效位),加密算法输出的最左(最高有效位)j bit与明文的第一个单与明文的第一个单元进行异或,产生第一个密文单元元进行异或,产生第一个密文单元 并传送该单元。然后将移位并传送该单元。然后将移位寄存器的内容左移寄存器的内容左移j位并将位并将 送入移位寄存器最右边(最低有效位)送入移位寄存器最右边(最低有效位)j位。这一过程持续到明文的所有单元都被加密为止位。这一过程持续到明文的所有单元都被加密为止1C1C 解密时,将解密时,将 收到的密文收到的密文 单元与加密单元与加密 函数的输出函数的输出 进行异或进行异或l为什么此时仍然使用加密算法为什么此时仍然使
42、用加密算法而不是解密算法?而不是解密算法?利用利用CFB模式或者模式或者OFB模式可将模式可将DES转换为流转换为流 密码;密码;流密码不需要对消息进行填充,而且运行是实时流密码不需要对消息进行填充,而且运行是实时 的,因此如果传送字母流,可使用流密码对每个的,因此如果传送字母流,可使用流密码对每个 字母直接加密进行传送;字母直接加密进行传送;CFB模式除了获得保密性外,还能用于认证。模式除了获得保密性外,还能用于认证。输出反馈输出反馈(OFB)模式模式 OFB模式的结构类似于模式的结构类似于CFB,不同之处在于,不同之处在于 OFB模式将加密算法的输出反馈到移位寄存器,模式将加密算法的输出反
43、馈到移位寄存器,而而CFB模式中是将密文单元反馈到移位寄存器模式中是将密文单元反馈到移位寄存器 克服了克服了CFB的错误传播所带来的问题。的错误传播所带来的问题。比比CFB模式更易受到对消息流的篡改攻击,使得模式更易受到对消息流的篡改攻击,使得 敌手有可能通过对消息校验部分的篡改和对数据敌手有可能通过对消息校验部分的篡改和对数据 部分的篡改,而以纠错码不能检测的方式篡改密部分的篡改,而以纠错码不能检测的方式篡改密 文。文。计数器计数器(CRT)模式模式 CTR可以把分组密码转换为流密码可以把分组密码转换为流密码 和和OFB类似,但是加密计数器值,而不是密文类似,但是加密计数器值,而不是密文 反
44、馈值反馈值 必须对每一个明文使用一个不同的密钥和计数值必须对每一个明文使用一个不同的密钥和计数值iiCPxoriO1()iKODESi 该模式优点是安全、高效、可并行、适合任意长该模式优点是安全、高效、可并行、适合任意长 度的数据,度的数据,的计算可以预处理,适用于高速网的计算可以预处理,适用于高速网 络。加解密过程仅涉及加密运算,不涉及解密算络。加解密过程仅涉及加密运算,不涉及解密算 法,因此不用实现解密算法。法,因此不用实现解密算法。缺点是没有错误传播,因此不易确保数据完整性。缺点是没有错误传播,因此不易确保数据完整性。信息快可被替换,重放,对明文的主动攻击时可信息快可被替换,重放,对明文
45、的主动攻击时可 能的。能的。iO比较和选用比较和选用 ECB模式,简单、高速,但最弱、易受重发攻击,一般不模式,简单、高速,但最弱、易受重发攻击,一般不 推荐。推荐。CBC适用于文件加密,但较适用于文件加密,但较ECB慢。安全性加强。当有少慢。安全性加强。当有少 量错误时,也不会造成同步错误。量错误时,也不会造成同步错误。OFB和和CFB较较CBC慢许多。每次迭代只有少数慢许多。每次迭代只有少数bit完成加完成加 密。若可以容忍少量错误扩展,则可换来恢复同步能力,密。若可以容忍少量错误扩展,则可换来恢复同步能力,此时用此时用CFB。在字符为单元的流密码中多选。在字符为单元的流密码中多选CFB模式。模式。OFB用于高速同步系统,不容忍差错传播。用于高速同步系统,不容忍差错传播。
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。