信息加密技术与应用 精品资料_第1页
信息加密技术与应用 精品资料_第2页
信息加密技术与应用 精品资料_第3页
信息加密技术与应用 精品资料_第4页
信息加密技术与应用 精品资料_第5页
已阅读5页,还剩83页未读 继续免费阅读

下载本文档

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

文档简介

1、第2章信息加密技术与应用信息加密技术信息加密技术是电子商务安全交易的核心,可实现电子商务交易的保密性、完整性,不可否认性等。密码学是应用数学和计算机科学相结合的一个交叉学科。数学理论在密码编码学和密码分析学中发挥着重要的作用,在密码学中用到的数学知识主要包括:数论、群论、组合逻辑、复杂性理论、遍历理论和信息论等。密码技术的基本知识密码学的几个基本概念 明文、密文、加密、解密、加密算法、解密算法、加密密钥和解密密钥。一个密码系统(密码体制)通常由五个部分组成: 明文空间M,全体明文的集合 密文空间C,全体密文的集合 密钥空间,全体密钥的集合K(K e,K d) 加密算法E,CE(M,Ke) 解密

2、算法D, M=D(C ,Kd), D是E的逆变换加解密过程示意图明文明文密文加密算法解密算法密钥密钥密码分析者窃听密码学的发展历史密码学的发展大致分为三个阶段:古代密码、古典密码和近现代密码学。1949年之前:密码学是一门艺术19491975年:密码学成为科学1976年以后:密码学的新方向公钥密码学的出现。密码学的发展历史由于古时多数人并不识字,最早的秘密书写的形式只用到纸笔或等同物品,随着识字率提高,就开始需要真正的密码学了。最古典的两个加密技巧是是:置换:将字母顺序重新排列,例如help me变成ehpl em; 替代:有系统地将一组字母换成其他字母或符号,例如fly at once变成g

3、mz bu podf(每个字母用下一个字母取代)。古典密码实例希腊密码(二维字母编码查表)公元前2世纪123451ABCDE2FGHIJK3LMNOP4QRSTU5VWXYZ明文:HELLO 密文:2315313134古典密码实例凯撒密码:公元前50年 公元前50年,古罗马的凯撒大帝在高卢战争中采用的加密方法。凯撒密码算法就是把每个英文字母向前推移K位。 A B C D E F G X Y Z D E F G H I J A B C 明文:HELLO密文:KHOOL中国古代密码实例古中国周朝兵书六韬龙韬也记载了密码学的运用,其中的阴符和阴书便记载了周武王问姜子牙关于征战时与主将通讯的方式:太公

4、曰:主與將,有陰符,凡八等。有大勝克敵之符,長一尺。破軍擒將之符,長九寸。降城得邑之符,長八寸。卻敵報遠之符,長七寸。警眾堅守之符,長六寸。請糧益兵之符,長五寸。敗軍亡將之符,長四寸。失利亡士之符,長三寸。諸奉使行符,稽留,若符事聞,泄告者,皆誅之。八符者,主將祕聞,所以陰通言語,不泄中外相知之術。敵雖聖智,莫之能識。武王問太公曰: 符不能明;相去遼遠,言語不通。為之奈何?太公曰:諸有陰事大慮,當用書,不用符。主以書遺將,將以書問主。書皆一合而再離,三發而一知。再離者,分書為三部。三發而一知者,言三人,人操一分,相參而不相知情也。此謂陰書。敵雖聖智,莫之能識。阴符是以八等长度的符来表达不同的消

5、息和指令,可算是密码学中的替代法,把信息转变成敌人看不懂的符号。至于阴书则运用了移位法,把书一分为三,分三人传递,要把三份书从新拼合才能获得还原的资讯。密码学的发展历史1949年美国科学家香农(Shannon)发表了题为“保密系统的通信理论”的著名论文,提出利用数学方法建立通用的密钥密码体系。 1976年,美国密码学家Diffie和Hellman在一篇题为“密码学的新方向”的论文中提出了公钥密码体制的思路1978年RSA公钥密码体制问世 密码学的发展历史二十世纪早期的密码学本质上主要考虑语言学上的模式。从此之后重心转移,现在密码学使用大量的数学,包括资讯理论、计算复杂性理论、统计学、组合学、抽

6、象代数以及数论。密码学同时也是工程学的分支,但却是与别不同,因为它必须面对有智能且恶意的对手,大部分其他的工程仅需处理无恶意的自然力量。密码学问题与量子物理间的关连也是目前热门的研究 。课堂练习运用置换、替代法设计一套针对中文的加密方案,要求如下:1、能针对任何中文字符。2、简单快捷,加密、解密一个中文字符的时间不得超过10秒。3、尽可能不被轻易识破。密码分析主要研究如何分析和破译密码。对于一个密码体制,如果能够根据密文确定明文或密钥,或者能够根据明文和相应的密文确定密钥,则我们说这个密码体制是可破译的;否则,称其为不可破译的。密钥空间中不同密钥的个数称为密码体制的密钥量,它是衡量密码体制安全

7、性的一个重要指标。 密码分析密码系统的安全性由两方面因素决定:所使用的密码算法的保密强度密码算法以外不安全的因素因此,密码算法的保密强度并不等价于密码系统整体上的安全性。一个密码系统必须同时完善技术与制度要求,才能保证整个系统的支全。密码攻击类别惟密文攻击:分析者有一个或一些密文。已知明文攻击:分析者有一些明文及对应的密文。选择明文攻击:分析者选择一些对攻击有利的特定明文,并产生对应的密文。选择密文攻击:分析者选择一些对攻击有利的特定密文,并得到对应的明文。密码攻击方法穷举攻击: 密码攻击者用试遍所有密钥的方法来破译密码。所花时间尝试次数*一次解密所需的时间。 增大密钥量和加大解密算法的复杂性

8、。统计分析攻击 密码攻击者通过分析密文和明文的统计规律来破译密码。 设法使明文的统计特性不带入密文,密文不带有明文的痕迹。密码攻击方法数学分析攻击 密码攻击者针对加密算法的数学依据通过数学求解的方法来破译密码。 应该选用具有坚实数学基础和足够复杂的加密算法。密码体制的分类根据发展史:古典密码和近现代密码 ;根据加密方式:流密码和分组密码;根据加密变换是否可逆:单向函数密码以及双向变换密码体制。 根据加解密算法所使用的密钥是否相同:对称密钥密码体制和非对称密钥密码体制;流密码流密码采用密钥生成器,根据初始密钥生成一系列密钥流来加密信息,每个明文可以选用不同的密钥加密。如果流密码所使用的是真正随机

9、产生的、与消息流长度相同的二进制密钥序列,此时的流密钥就是一次一密的密码体制,这种密码的破解很困难。流密码的加解密模型图流密码流密码目前的应用领域主要还是军事和外交等部门。可以公开见到的流密码算法主要包括A5、SEAL、RC4、PIKE等。流密码同步流密码 :密钥流和明文流相互独立;异步流密码: 密钥流和明文流不相互独立,密钥流的产生有密文或者明文的参与,会发生错误传播现象。 流密码的加解密过程流密码多数情况下用二进制序列来表示,这种流密码将明文和密钥都转换成相应的二进制序列,种子密钥用来控制密钥流发生器,使密钥流发生器输出密钥流,加密变换只是简单的模2加变换(即明文和密钥进行二进制的异或运算

10、)流密码的加解密过程一个实例例如,若令m=4,设置初始密钥为1000,由Zi4(Zi Zi+1)mod 2生成的密钥流为:1000 1001 1010 1111,。任何一个初始密钥不全为0的密钥都将产生一个周期为2m-1个二进制长度的密钥流。 流密码的加密强度二元流密码的安全强度取决于密钥生成器所产生的密钥流的性质。在实际应用中的密钥流都是用有限存储和有限复杂逻辑的电路来产生的,它的输出是周期序列。分组密码分组密码体制是目前商业领域中比较重要而流行的一种加密体制,它广泛地应用于数据的保密传输、加密存储等应用场合。 加密时,先对明文分组,每组长度都相同,然后对分组加密得到等长的密文,分组密码的特

11、点是加密密钥与解密密钥相同。 如果明文不是分组长的倍数,则要填充。分组密码分组密码算法的要求:分组长度m足够大 密钥空间足够大 密码变换必须足够复杂 强化密码算法的措施:将大的明文分组再分成几个小段,分别完成各个小段的加密置换,最后进行并行操作。 采用乘积密码技术。乘积密码就是以某种方式连续执行两个或多个密码变换。 分组密码基本设计原则1、扩散 将每一位明文的影响尽量迅速地应用到较多的密文位中。2、混乱 密文和明文间的统计特性尽可能的复杂化,避免很有规律的、线性的相互关系。课堂练习思考题1、简述密码体制的常见划分方法。2、简述置换和移位的基本原理。3、简述混乱和扩散的基本原理。4、流密码体制最

12、复杂的部分是加密变换函数,这种说法对不对?单向散列函数单向散列函数是一种单向密码体制,它是一个明文到密文的不可逆函数。也就是说,是无法解密的。通常用于只需要加密不需要解密的特殊场合。目前多用于保存密码及保证数据的完整性。单向散列函数Hash : 哈希函数,杂凑函数,散列函数h= H(m)H 具有如下特性:1)可以操作任何大小的报文m;2)给定任意长度的m,产生的h的长度固定;3)给定m 计算h=H(m) 是容易的;4)给定h, 寻找m,使得H(m)=h是困难的;5)给定m ,要找到m,m m 且 H(m)=H(m)是计算上不可行的;6)寻找任何(x,y) ,xy ,使得H(x) =H(y)是计

13、算上不可行的。常用的Hash算法有 :MD2、MD4、MD5 SHA、SHA-1单向散列函数在实际中,单向散列函数建立在压缩函数的基础上。给定一长度为m的输入,单向散列函数输出长度为n的散列值。压缩函数的输入是消息分组和文本前一分组的输出。输出是到该点所有分组的散列,即:hi=f(Mi,hi-1)单向散列函数MiHi-1hi单向散列函数MD5 算法Ron Rivest 设计, RFC 1321经历过MD2, MD4 不同的版本对任意输入均产生128bit的输出基于32位的简单操作,易于软件实现简单而紧凑,没有复杂的程序和大数据结构适合微处理器实现(特别是Intel)单向散列函数SHA, SHA

14、-1NIST 和NSA共同设计, 用在DSS中基于MD4 设计,与MD5 非常相似产生160 位 散列值密码学的基本数学知识异或运算异或是一个数学运算符。他应用于逻辑运算。 其运算法则为abab+ab(a为非a)。 两个值不相同,则异或结果为真。反之,为假。 密码学的基本数学知识整除 若b可以被a整除,则表示为a|b,否则表示为a|b ,这里a,bZ,Z表示整数集合。密码学的基本数学知识模运算 a,mZ,则a模m的运算为a除以m的余数,这种运算为模(mod)运算,记为a mod m,其值为0到m-1的整数(一般假定m0)。模运算和普通的运算一样,有交换律,结合律和分配律。 密码学的基本数学知识

15、古典密码实例凯撒密码:公元前50年 公元前50年,古罗马的凯撒大帝在高卢战争中采用的加密方法。凯撒密码算法就是把每个英文字母向前推移K位。 A B C D E F G X Y Z D E F G H I J A B C 明文:HELLO密文:KHOOL古典密码实例若将字母编号a-z对应为1-26凯撒变换c=(m+k) mod nk=3,n=26密码学的基本数学知识同余 设a,bZ,n0,如果n|(a-b),则称为a和b模n同余,记为a b (mod n),整数n称为模数。若0bn,我们称b是a对模n的最小非负剩余,也称b为a对模n的余数。两个数同余的基本性质如下:密码学的基本数学知识 两个数同

16、余的基本性质:(5) 若ac bd (mod n),a b (mod n),(a,n)=1,那么有cd (mod n)密码学的基本数学知识逆变换对称加密技术对称加密系统私有密钥对称加密特点数据的发送方和接受方使用的是同一把私有密钥,即把明文加密成密文和把密文解密成明文用的是同一把私有密钥。对称加密技术对称加密过程发送方用自己的私有密钥对要发送的信息进行加密发送方将加密后的信息通过网络传送给接收方接收方用发送方进行加密的那把私有密钥对接收到的加密信息进行解密,得到信息明文.密文明文发送方Internet密文密钥发送方 (= 密钥接收方)加密明文接收方密钥接收方解密对称加密技术对称加密的特点优点:

17、 加解密速度快 缺陷 : 首先是密钥数目的问题 n(n-1)/2 其次是安全传输密钥也是一个难题 第三是无法鉴别彼此身份对称密码体制对称密码体制,也叫做单钥密码体制或秘密密钥密码体制,即加密密钥与解密密钥相同的密码体制,这种体制中只要知道加(解)密算法,就可以反推解(加)密算法。 对称密码体制的分类对称密码体制按照对明文数据的加密方式不同,可以分为流密码(又叫系列密码)和分组密码两类。分组密码的加密单元是分组.流密码的加密单元是字符或者比特. 几种典型的古典密码移位密码几种典型的古典密码当K=3时,此密码体制通常叫恺撒密码(Caesar Cipher),由Julius Caesar首先使用。可

18、以看出移位密码将明文在明文空间中循环移K位而成密文。几种典型的古典密码代换密码几种典型的古典密码维吉尼亚密码法国密码学家维吉尼亚于1585年提出了一种多表代换密码,即维吉尼亚密码,它的一个明文字母可以表示成多个密文。 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z A A B C D E F G H I J K L M N O P Q R S T U V W X Y Z B B C D E F G H I J K L M N O P Q R S T U V W X Y Z A C C D E F G H I J K L M N O P Q

19、 R S T U V W X Y Z A B D D E F G H I J K L M N O P Q R S T U V W X Y Z A B CE E F G H I J K L M N O P Q R S T U V W X Y Z A B C D F F G H I J K L M N O P Q R S T U V W X Y Z A B C D EG G H I J K L M N O P Q R S T U V W X Y Z A B C D E F H H I J K L M N O P Q R S T U V W X Y Z A B C D E F G I I J K L

20、 M N O P Q R S T U V W X Y Z A B C D E F G H J J K L M N O P Q R S T U V W X Y Z A B C D E F G H I K K L M N O P Q R S T U V W X Y Z A B C D E F G H I J L L M N O P Q R S T U V W X Y Z A B C D E F G H I J K M M N O P Q R S T U V W X Y Z A B C D E F G H I J K L N N O P Q R S T U V W X Y Z A B C D E F

21、 G H I J K L M O O P Q R S T U V W X Y Z A B C D E F G H I J K L M N P P Q R S T U V W X Y Z A B C D E F G H I J K L M N O Q Q R S T U V W X Y Z A B C D E F G H I J K L M N O P R R S T U V W X Y Z A B C D E F G H I J K L M N O P Q S S T U V W X Y Z A B C D E F G H I J K L M N O P Q R T T U V W X Y Z

22、 A B C D E F G H I J K L M N O P Q R S U U V W X Y Z A B C D E F G H I J K L M N O P Q R S T V V W X Y Z A B C D E F G H I J K L M N O P Q R S T U W W X Y Z A B C D E F G H I J K L M N O P Q R S T U V X X Y Z A B C D E F G H I J K L M N O P Q R S T U V WY Y Z A B C D E F G H I J K L M N O P Q R S T

23、U V W X Z Z A B C D E F G H I J K L M N O P Q R S T U V W X Y 几种典型的古典密码对如下明文加密:TO BE OR NOT TO BE THAT IS THE QUESTION当选定RELATIONS作为密钥时,加密过程是:明文一个字母为T,第一个密钥字母为R,因此可以找到在R行中代替T的为K,依此类推,得出对应关系如下:密钥:RELAT IONSR ELATI ONSRE LATIO NSREL明文:TOBEO RNOTT OBETH ATIST HEQUE STION密文:KSMEH ZBBLK SMEMP OGAJX SEJCS

24、 FLZSY 历史上以维吉尼亚密表为基础又演变出很多种加密方法,其基本元素无非是密表与密钥,并一直沿用到二战以后的初级电子密码机上。 几种典型的古典密码其他常见的多表替换密码还有希尔密码、置换密码等,详见课本23页。仿射密码仿射密码求模的逆元在乘法中,41/4=1,4和1/4互为逆元,在模运算中,求逆元要更复杂!假设: 一般而论,如果gcd(a,n)=1,那么a-1 x mod(n)有唯一解,否则的话,无解。如果n是一个素数,在从1 到 n1的每一个数都与n是互素的,且在这个范围恰好有一个逆元。仿射密码模逆元的求解假设M为模数,U为小于M的本元元素,且与M互素,R为余数,它们满足U*V mod

25、 M=R,当R=1时,我们称V为U的模逆元,当R1时,称V为U的模系数.模逆元和模系数是公开密钥加密算法和数字签名算法中最常用的参数之一 。课堂练习思考题1、简述单向散列函数的特点。2、简述对称密钥体制的特点。3、计算下列运算的结果 异或运算: 10111100 求模:15 mod 4 求逆:a=16,m=5,求a-14、对英文加密,采用移位密码和代换密码可能的变换各有多少种?5、维吉尼亚密码体制能对抗统计概率分析吗?DES算法 IBM 公司,70年代初提出,1977成为美国国家标准DES是一种对称密钥算法,密钥长度为56bits (加上奇偶校验,通常写成64bits)是一种分组加密算法,64

26、 bits为一个分组基本思想:混乱(Confusion) 和扩散(Diffusion )使用标准的算术和逻辑运算DES算法 加密过程如下:首先对明文比特进行初始置换,然后将所得的结果进行完全相同的依赖于密钥的16轮处理,最后应用一个末尾置换获得密文。依赖于密钥的计算首先将64比特的数据平均分成两半,其中一半作为一个复杂函数的输入,并且将其输出结果与另一半进行异或。复杂函数包括通过确定的8个称为S-盒的非线性代换。DES的安全性主要依赖于S-盒,而且S-盒是唯一的非线性部分。解密过程与加密过程一样,除了所使用的密钥的次序(以逆序使用)外。DES加密过程DES加密过程首先把明文分成以64 bit为

27、单位的块m,对于每个m, 执行如下操作 DES(m)=IP-1 T16 T15 . T2 T1 IP(m)初始置换, IP 16轮迭代,Ti , i=1,2,16末置换,IP-1DES加密过程初始置换末置换M=m1m2,m62m63,m64M=m58m50,m23m15,m7IP(M)IP-1(IP(M)=M迭代过程T。在DES算法中,要重复16次。设第i次迭代T的输入为,其中L、R分别是左半部分32位和右半部分32位,则第i次迭代的输出为第i次迭代的输出作为第i+1次迭代的输入,进行下一次迭代。Ki是由56位的密钥K确定的48位密钥,每一次迭代使用不同的48位密钥。16次迭代DES加密过程f

28、是将一个32位的符号串转换为另一个32位的符号串的运算函数,功能的第一步是将32位的输入转换为48位,并与迭代密钥按位异或,再把得到的48位分为八组,每组六位,分别通过S1,S2,S8输出,每组只输出四位,组合成32位,这32位最后通过置换输出。DES加密过程DES加密过程下一张图中扩增排列的选位表描述了如何将32位转换为48位的方法,总共八行六列。单纯置换是对输入的32位进行置换,产生32位输出。如果输入为Hi=r1r2r32,则P(Hi)=h16h7h4h25,如后表所示。扩增排列E(R)单纯置换P(H)DES加密过程数据在S盒中执行混淆动作。八个S盒中的每一个S盒都是将六位的输入映射为四

29、位的输出。以S1盒为例,盒中的数据排列如下表所示。关于DES的评价DES加密解密完成的只是简单的算术运算,即比特串的异或处理的组合,因此速度快,密钥生产容易,能以硬件或软件的方式非常有效的实现。对DES的批评DES的密钥长度56位可能太小DES的迭代次数可能太少S盒(即代替函数 Sj)中可能有不安全因素DES的一些关键部分不应当保密(如S盒设计)三重DES人们并没有放弃使用DES,并想出了一个解决其长度问题的方法,即采用三重DES。这种方法用两个密钥对明文进行三次加密,假设两个密钥是K1和K2,其算法的如下: 1. 用密钥K1进行DES加密。 2. 用K2对步骤1的结果进行DES解密。 3.

30、用步骤2的结果使用密钥K1进行DES加密。 这种方法的缺点,是要花费原来三倍时间,从另一方面来看,三重DES的112位密钥长度是很“强壮”的加密方式了。AES (Advanced Encryption Standard )AES的产生 美国国家标准和技术协会NIST从1997年4月5日开始征集和评估新的数据加密标准; 1998年NIST发布了15个AES的候选算法,并挑出了五个(MARS,RC6TM,Rijndael,Serpent,Twofish)进入新一轮评估; 2000年10月宣布Rijndael(发音为“Rhine-dale”,设计者为比利时的JoanDaemen和VincentRij

31、men)为AES的最终算法; 2001年11月26日NIST正式宣布AES 为美国政府的新加密标准,该决定在2002年5月26日生效。AES的基本参数AES为对称分组密码体制。密钥长度有128、192和256比特三种。数据分组长度也有128、192和256比特三种。AES变换由轮函数通过多轮迭代实现,根据密钥、分组长度不同,迭代次数可能为10,12或14轮三种。AES加密算法的具体实现AES轮函数每轮要经过四次变换,分别是 SubByte () 字节代换运算 ShiftRows() 行移位变换 MixColumns() 列混合变换 AddRoundKey() 轮密钥的混合变换AES加密算法的具

32、体实现假设我们用的128bit的密钥,并且每次加密的分组长为128bit,即16个字节,此时轮函数迭代次数为10轮。每次从明文中按顺序取出16个字节假设为a0a1a2a3a4a5a6a7a8a9a10a11a12a13a14a15,这16个字节在进行变换前先放到一个44的矩阵中。如下页图所示:AES (Advanced Encryption Standard )a0a4a8a12a1a5a9a13a2a6a10a14a3a7a11a15这个矩阵称为状态(state) 以后所有的变换都是基于这个矩阵进行的,到此,准备工作已经完成。现在按照前面的顺序进行加密变换,首先开始第一次循环的第一个变换:字

33、节代换(SubByte ()。字节代换(SubByte ()a0a4a8a12a1a5a9a13a2a6a10a14a3a7a11a15s00s01s02s03s10s11s12s13s20s21s22s23s30s31s32s33out0out4out8out12out1out5out9out13out2out6out10out14out3out7out11out15查表字节代换-S盒变换(查表)S12=53,则X=5, Y=3, out9=edShiftRows() 行移位变换s00s01s02s03s10s11s12s13s20s21s22s23s30s31s32s33s00s01s02s03s11s12s13s10s22s23s20s21s3

温馨提示

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

评论

0/150

提交评论