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

下载本文档

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

文档简介

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

明文空间M,全体明文的集合密文空间C,全体密文的集合密钥空间,全体密钥的集合K=(Ke,Kd)加密算法E,C=E(M,Ke)解密算法D,M=D(C,Kd),D是E的逆变换加解密过程示意图明文明文密文加密算法解密算法密钥密钥密码分析者窃听密码学的发展历史密码学的发展大致分为三个阶段:古代密码、古典密码和近现代密码学。•1949年之前:密码学是一门艺术•1949~1975年:密码学成为科学•1976年以后:密码学的新方向——公钥密码学的出现。密码学的发展历史由于古时多数人并不识字,最早的秘密书写的形式只用到纸笔或等同物品,随着识字率提高,就开始需要真正的密码学了。最古典的两个加密技巧是是:

置换:将字母顺序重新排列,例如『helpme』变成『ehplem』;

替代:有系统地将一组字母换成其他字母或符号,例如『flyatonce』变成『gmzbupodf』(每个字母用下一个字母取代)。古典密码实例希腊密码(二维字母编码查表)公元前2世纪123451ABCDE2FGHIJK3LMNOP4QRSTU5VWXYZ明文:HELLO

密文:2315313134古典密码实例凯撒密码:公元前50年

公元前50年,古罗马的凯撒大帝在高卢战争中采用的加密方法。凯撒密码算法就是把每个英文字母向前推移K位。

ABCDEFG……XYZDEFGHIJ……ABC

明文:HELLO密文:KHOOL中国古代密码实例古中国周朝兵书《六韬.龙韬》也记载了密码学的运用,其中的《阴符》和《阴书》便记载了周武王问姜子牙关于征战时与主将通讯的方式:太公曰:「主與將,有陰符,凡八等。有大勝克敵之符,長一尺。破軍擒將之符,長九寸。降城得邑之符,長八寸。卻敵報遠之符,長七寸。警眾堅守之符,長六寸。請糧益兵之符,長五寸。敗軍亡將之符,長四寸。失利亡士之符,長三寸。諸奉使行符,稽留,若符事聞,泄告者,皆誅之。八符者,主將祕聞,所以陰通言語,不泄中外相知之術。敵雖聖智,莫之能識。」武王問太公曰:「…符不能明;相去遼遠,言語不通。為之奈何?」太公曰:「諸有陰事大慮,當用書,不用符。主以書遺將,將以書問主。書皆一合而再離,三發而一知。再離者,分書為三部。三發而一知者,言三人,人操一分,相參而不相知情也。此謂陰書。敵雖聖智,莫之能識。」阴符是以八等长度的符来表达不同的消息和指令,可算是密码学中的替代法,把信息转变成敌人看不懂的符号。至于阴书则运用了移位法,把书一分为三,分三人传递,要把三份书从新拼合才能获得还原的资讯。密码学的发展历史1949年美国科学家香农(Shannon)发表了题为“保密系统的通信理论”的著名论文,提出利用数学方法建立通用的密钥密码体系。1976年,美国密码学家Diffie和Hellman在一篇题为“密码学的新方向”的论文中提出了公钥密码体制的思路1978年RSA公钥密码体制问世密码学的发发展历史二十世纪早早期的密码码学本质上上主要考虑虑语言学上上的模式。。从此之后重重心转移,,现在密码码学使用大大量的数学学,包括资资讯理论、、计算复杂杂性理论、、统计学、、组合学、、抽象代数数以及数论论。密码学学同时也是是工程学的的分支,但但却是与别别不同,因因为它必须须面对有智智能且恶意意的对手,,大部分其其他的工程程仅需处理理无恶意的的自然力量量。密码学学问题与量量子物理间间的关连也也是目前热热门的研究究。课堂练习运用置换、、替代法设设计一套针针对中文的的加密方案案,要求如如下:1、能针对对任何中文文字符。2、简单快快捷,加密密、解密一一个中文字字符的时间间不得超过过10秒。。3、尽可能能不被轻易易识破。密码分析主要研究如如何分析和和破译密码码。对于一一个密码体体制,如果果能够根据据密文确定定明文或密密钥,或者者能够根据据明文和相相应的密文文确定密钥钥,则我们们说这个密密码体制是是可破译的的;否则,,称其为不不可破译的的。密钥空空间中不同同密钥的个个数称为密密码体制的的密钥量,,它是衡量量密码体制制安全性的的一个重要要指标。密码分析密码系统的的安全性由由两方面因因素决定::所使用的密密码算法的的保密强度度密码算法以以外不安全全的因素因此,密码码算法的保保密强度并并不等价于于密码系统统整体上的的安全性。。一个密码码系统必须须同时完善善技术与制制度要求,,才能保证证整个系统统的支全。。密码攻击类类别惟密文攻击击:分析者者有一个或或一些密文文。已知明文攻攻击:分析析者有一些些明文及对对应的密文文。选择明文攻攻击:分析析者选择一一些对攻击击有利的特特定明文,,并产生对对应的密文文。选择密文攻攻击:分析析者选择一一些对攻击击有利的特特定密文,,并得到对对应的明文文。密码攻击方方法穷举攻击::密码攻击者者用试遍所所有密钥的的方法来破破译密码。。所花时间间=尝试次次数*一次次解密所需需的时间。。增大密钥量量和加大解解密算法的的复杂性。。统计分析攻攻击密码攻击者者通过分析析密文和明明文的统计计规律来破破译密码。。设法使明文文的统计特特性不带入入密文,密密文不带有有明文的痕痕迹。密码攻击方方法数学分析攻攻击密码攻击者者针对加密密算法的数数学依据通通过数学求求解的方法法来破译密密码。应该选用具具有坚实数数学基础和和足够复杂杂的加密算算法。密码体制的的分类根据发展史史:古典密密码和近现现代密码;;根据加密方方式:流密密码和分组组密码;根据加密变变换是否可可逆:单向向函数密码码以及双向向变换密码码体制。根据加解密密算法所使使用的密钥钥是否相同同:对称密密钥密码体体制和非对对称密钥密密码体制;;流密码流密码采用用密钥生成成器,根据据初始密钥钥生成一系系列密钥流流来加密信信息,每个个明文可以以选用不同同的密钥加加密。如果果流密码所所使用的是是真正随机机产生的、、与消息流流长度相同同的二进制制密钥序列列,此时的的流密钥就就是一次一一密的密码码体制,这这种密码的的破解很困困难。流密码的加加解密模型型图流密码流密码目前前的应用领领域主要还还是军事和和外交等部部门。可以公开见见到的流密密码算法主主要包括A5、SEAL、RC4、PIKE等等。流密码同步流密码码:密钥钥流和明文文流相互独独立;异步流密码码:密钥钥流和明文文流不相互互独立,密密钥流的产产生有密文文或者明文文的参与,,会发生错错误传播现现象。流密码的加加解密过程程流密码多数数情况下用用二进制序序列来表示示,这种流流密码将明明文和密钥钥都转换成成相应的二二进制序列列,种子密密钥用来控控制密钥流流发生器,,使密钥流流发生器输输出密钥流流,加密变变换只是简简单的模2加变换(即明文和和密钥进行行二进制的的异或运算算)流密码的加解解密过程一个实例例如,若令m=4,设置置初始密钥为为1000,,由Zi+4=(Zi⊕Zi+1)mod2生成的密钥钥流为:1000100110101111,…。。任何一个初初始密钥不全全为0的密钥钥都将产生一一个周期为2m-1个二进制制长度的密钥钥流。流密码的加密密强度二元流密码的的安全强度取取决于密钥生生成器所产生生的密钥流的的性质。在实实际应用中的的密钥流都是是用有限存储储和有限复杂杂逻辑的电路路来产生的,,它的输出是是周期序列。。分组密码分组密码体制制是目前商业业领域中比较较重要而流行行的一种加密密体制,它广广泛地应用于于数据的保密密传输、加密密存储等应用用场合。加密时,先对对明文分组,,每组长度都都相同,然后后对分组加密密得到等长的的密文,分组组密码的特点点是加密密钥钥与解密密钥钥相同。如果明文不是是分组长的倍倍数,则要填填充。分组密码分组密码算法法的要求:分组长度m足足够大密钥空间足够够大密码变换必须须足够复杂强化密码算法法的措施:将大的明文分分组再分成几几个小段,分分别完成各个个小段的加密密置换,最后后进行并行操操作。采用乘积密码码技术。乘积积密码就是以以某种方式连连续执行两个个或多个密码码变换。分组密码基本设计原则则1、扩散将每一位明文文的影响尽量量迅速地应用用到较多的密密文位中。2、混乱密文和明文间间的统计特性性尽可能的复复杂化,避免免很有规律的的、线性的相相互关系。课堂练习思考题1、简述密码码体制的常见见划分方法。。2、简述置换换和移位的基基本原理。3、简述混乱乱和扩散的基基本原理。4、流密码体体制最复杂的的部分是加密密变换函数,,这种说法对对不对?单向散列函数数单向散列函数数是一种单向向密码体制,,它是一个明明文到密文的的不可逆函数数。也就是说,是是无法解密的的。通常用于于只需要加密密不需要解密密的特殊场合合。目前多用于保保存密码及保保证数据的完完整性。单向散列函数数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),x≠y,使得得H(x)=H(y)是计算上不不可行的。常用的Hash算法有:MD2、MD4、MD5SHA、SHA-1单向散列函数数在实际中,单单向散列函数数建立在压缩缩函数的基础础上。给定一长度为为m的输入,,单向散列函函数输出长度度为n的散列列值。压缩函函数的输入是是消息分组和和文本前一分分组的输出。。输出是到该该点所有分组组的散列,即即:hi=f(Mi,hi-1)单向散列函数数MiHi-1hi单向散列函数数MD5算法法RonRivest设设计,RFC1321经历过MD2,MD4不同的版版本对任意输入均均产生128bit的输输出基于32位的的简单操作,,易于软件实实现简单而紧凑,,没有复杂的的程序和大数数据结构适合微处理器器实现(特别别是Intel)单向散列函数数SHA,SHA-1NIST和和NSA共同同设计,用用在DSS中中基于MD4设设计,与MD5非常常相似产生160位位散列值值密码学的基本本数学知识异或运算异或是一个数数学运算符。。他应用于逻逻辑运算。其其运算法则则为a⊕b=a‘b+ab’((a‘为非a)。两个值不相同同,则异或结结果为真。反反之,为假。。密码学的基本本数学知识整除若b可以被a整除,则表表示为a|b,否则表示示为a|b,,这里a,b∈Z,Z表示整数集集合。密码学的基本本数学知识模运算a,m∈Z,,则a模m的的运算为a除除以m的余数数,这种运算算为模(mod)运算,,记为amodm,,其值为0到到m-1的整整数(一般假假定m>0)。模运算和和普通的运算算一样,有交交换律,结合合律和分配律律。密码学的基本本数学知识古典密码实例例凯撒密码:公公元前50年年公元前50年年,古罗马的的凯撒大帝在在高卢战争中中采用的加密密方法。凯撒撒密码算法就就是把每个英英文字母向前前推移K位。。ABCDEFG………XYZDEFGHIJ……ABC明文:HELLO密文:KHOOL古典密码实例例若将字母编号号a-z对应应为1-26凯撒变换c=(m+k)modnk=3,n=26密码学的基本本数学知识同余设a,b∈Z,n≠0,如如果n|(a-b),则则称为a和b模n同余,,记为a≡≡b(modn),整数n称称为模数。若若0≤b<n,我们称b是a对模n的最小非负负剩余,也称称b为a对模模n的余数。。两个数同余的的基本性质如如下:密码学的基本本数学知识两个数同余的的基本性质:(5)若ac≡bd(modn),a≡b(modn),(a,n)=1,那么有c≡d(modn)密码学的基本本数学知识逆变换对称加密技术术对称加密系统统——私有密密钥对称加密特点点数据的发送方方和接受方使使用的是同一一把私有密钥钥,即把明文文加密成密文文和把密文解解密成明文用用的是同一把把私有密钥。。对称加密技术术对称加密过程程发送方用自己己的私有密钥钥对要发送的的信息进行加加密发送方将加密密后的信息通通过网络传送送给接收方接收方用发送送方进行加密密的那把私有有密钥对接收收到的加密信信息进行解密密,得到信息息明文.密文明文发送方Internet密文密钥发送方(=密钥接收方)加密明文接收方密钥接收方解密对称加密技术术对称加密的特特点优点:加解密速度快快缺陷:首先是密钥数数目的问题n×(n-1)/2其次是安全传传输密钥也是是一个难题第三是无法鉴鉴别彼此身份份对称密码体制制对称密码体制制,也叫做单单钥密码体制制或秘密密钥钥密码体制,,即加密密钥钥与解密密钥钥相同的密码码体制,这种种体制中只要要知道加(解解)密算法,,就可以反推推解(加)密密算法。对称密码体制制的分类对称密码体制制按照对明文文数据的加密密方式不同,,可以分为流流密码(又叫叫系列密码)和分组密码码两类。分组密码的加加密单元是分分组.流密码的加密密单元是字符符或者比特.几种典型的古古典密码移位密码几种典型的古古典密码当K=3时,,此密码体制制通常叫恺撒撒密码(CaesarCipher),由JuliusCaesar首先使使用。可以看看出移位密码码将明文在明明文空间中循循环移K位而而成密文。几种典型的古古典密码代换密码几种典型的古古典密码维吉尼亚密码码法国密码学家家维吉尼亚于于1585年年提出了一种种多表代换密密码,即维吉吉尼亚密码,,它的一个明明文字母可以以表示成多个个密文。ABCDEFGHIJKLMNOPQRSTUVWXYZ

AABCDEFGHIJKLMNOPQRSTUVWXYZ

BBCDEFGHIJKLMNOPQRSTUVWXYZACCDEFGHIJKLMNOPQRSTUVWXYZABDDEFGHIJKLMNOPQRSTUVWXYZABCEEFGHIJKLMNOPQRSTUVWXYZABCDFFGHIJKLMNOPQRSTUVWXYZABCDE

GGHIJKLMNOPQRSTUVWXYZABCDEF

HHIJKLMNOPQRSTUVWXYZABCDEFG

IIJKLMNOPQRSTUVWXYZABCDEFGHJJKLMNOPQRSTUVWXYZABCDEFGHIKKLMNOPQRSTUVWXYZABCDEFGHIJLLMNOPQRSTUVWXYZABCDEFGHIJK

MMNOPQRSTUVWXYZABCDEFGHIJKL

NNOPQRSTUVWXYZABCDEFGHIJKLM

OOPQRSTUVWXYZABCDEFGHIJKLMN

PPQRSTUVWXYZABCDEFGHIJKLMNO

QQRSTUVWXYZABCDEFGHIJKLMNOP

RRSTUVWXYZABCDEFGHIJKLMNOPQ

SSTUVWXYZABCDEFGHIJKLMNOPQR

TTUVWXYZABCDEFGHIJKLMNOPQRS

UUVWXYZABCDEFGHIJKLMNOPQRST

VVWXYZABCDEFGHIJKLMNOPQRSTU

WWXYZABCDEFGHIJKLMNOPQRSTUV

XXYZABCDEFGHIJKLMNOPQRSTUVW

YYZABCDEFGHIJKLMNOPQRSTUVWXZZABCDEFGHIJKLMNOPQRSTUVWXY几种典典型的的古典典密码码对如下下明文文加密密:TOBEORNOTTOBETHATISTHEQUESTION当选定定RELATIONS作作为密密钥时时,加加密过过程是是:明明文一一个字字母为为T,,第一一个密密钥字字母为为R,,因此此可以以找到到在R行中中代替替T的的为K,依依此类类推,,得出出对应应关系系如下下:密钥:RELATIONSRELATIONSRELATIONSREL明明文文:TOBEORNOTTOBETHATISTHEQUESTION密密文:KSMEHZBBLKSMEMPOGAJXSEJCSFLZSY历史上上以维维吉尼尼亚密密表为为基础础又演演变出出很多多种加加密方方法,,其基基本元元素无无非是是密表表与密密钥,,并一一直沿沿用到到二战战以后后的初初级电电子密密码机机上。。几种典典型的的古典典密码码其他常常见的的多表表替换换密码码还有有希尔尔密码码、置置换密密码等等,详详见课课本23页页。仿射密密码仿射密密码求模的的逆元元在乘法法中,,4××1/4=1,4和和1/4互互为逆逆元,,在模模运算算中,,求逆逆元要要更复复杂!!假设::一般而而论,,如果果gcd(a,n)=1,那那么a-1≡xmod(n)有唯唯一解解,否否则的的话,,无解解。如如果n是一一个素素数,,在从从1到到n--1的的每一一个数数都与与n是是互素素的,,且在在这个个范围围恰好好有一一个逆逆元。。仿射密密码模逆元元的求求解假设M为模模数,U为为小于于M的的本元元元素素,且且与M互素素,R为余余数,它们们满足足U*VmodM=R,当R=1时,我们们称V为U的模模逆元元,当当R≠≠1时时,称称V为为U的的模系系数.模逆逆元和和模系系数是是公开开密钥钥加密密算法法和数数字签签名算算法中中最常常用的的参数数之一一。。课堂练练习思考题题1、简简述单单向散散列函函数的的特点点。2、简简述对对称密密钥体体制的的特点点。3、计计算下下列运运算的的结果果异或运运算::1011⊕1100求模::15mod4求逆::a=16,m=5,求求a-14、对对英文文加密密,采采用移移位密密码和和代换换密码码可能能的变变换各各有多多少种种?5、维维吉尼尼亚密密码体体制能能对抗抗统计计概率率分析析吗??DES算法法IBM公公司,,70年代代初提提出,,1977成为为美国国国家家标准准DES是一一种对对称密密钥算算法,,密钥钥长度度为56bits(加加上奇奇偶校校验,,通常常写成成64bits)是一种种分组组加密密算法法,64bits为一一个分分组基本思思想::混乱((Confusion))和和扩散散(Diffusion))使用标标准的的算术术和逻逻辑运运算DES算法法加密过过程如如下::首先对对明文文比特特进行行初始始置换换,然然后将将所得得的结结果进进行完完全相相同的的依赖赖于密密钥的的16轮处处理,,最后后应用用一个个末尾尾置换换获得得密文文。依赖于于密钥钥的计计算首首先将将64比特特的数数据平平均分分成两两半,,其中中一半半作为为一个个复杂杂函数数的输输入,,并且且将其其输出出结果果与另另一半半进行行异或或。复复杂函函数包包括通通过确确定的的8个个称为为S-盒的的非线线性代代换。。DES的的安全全性主主要依依赖于于S-盒,,而且且S-盒是是唯一一的非非线性性部分分。解解密过过程与与加密密过程程一样样,除除了所所使用用的密密钥的的次序序(以以逆序序使用用)外外。DES加密密过程程DES加密密过程程首先把把明文文分成成以64bit为单位位的块块m,对于于每个个m,执行如如下操操作DES(m)=IP-1•T16•T15•.....T2•T1•IP(m)初始置置换,,IP16轮轮迭代代,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是将将一个个32位的的符号号串转转换为为另一一个32位位的符符号串串的运运算函函数,,功能能的第第一步步是将将32位的的输入入转换换为48位位,并并与迭迭代密密钥按按位异异或,,再把把得到到的48位位分为为八组组,每每组六六位,,分别别通过过S1,S2,…,,S8输出,,每组组只输输出四四位,,组合合成32位位,这这32位最最后通通过置置换输输出。。DES加密密过程程DES加密密过程程下一张张图中中扩增增排列列的选选位表表描述述了如如何将将32位转转换为为48位的的方法法,总总共八八行六六列。。单纯置置换是是对输输入的的32位进进行置置换,,产生生32位输输出。。如果果输入入为Hi=r1r2…r32,则P(Hi)=h16h7…h4h25,如后后表所所示。。扩增排排列E(R)单纯置置换P(H)DES加密密过程程数据在在S盒盒中执执行混混淆动动作。。八个个S盒盒中的的每一一个S盒都都是将将六位位的输输入映映射为为四位位的输输出。。以S1盒为例例,盒盒中的的数据据排列列如下下表所所示。。关于DES的评评价DES加密密解密密完成成的只只是简简单的的算术术运算算,即即比特特串的的异或或处理理的组组合,,因此此速度度快,,密钥钥生产产容易易,能能以硬硬件或或软件件的方方式非非常有有效的的实现现。对DES的的批评评①DES的的密钥钥长度度56位可可能太太小②DES的的迭代代次数数可能能太少少③S盒盒(即即代替替函数数Sj))中可可能有有不安安全因因素④DES的的一一些些关关键键部部分分不不应应当当保保密密((如如S盒盒设设计计))三重重DES人们们并并没没有有放放弃弃使使用用DES,,并并想想出出了了一一个个解解决决其其长长度度问问题题的的方方法法,,即即采采用用三三重重DES。。这种种方方法法用用两两个个密密钥钥对对明明文文进进行行三三次次加加密密,,假假设设两两个个密密钥钥是是K1和和K2,,其其算算法法的的如如下下::1.用用密密钥钥K1进进行行DES加加密密。。2.用用K2对对步步骤骤1的的结结果果进进行行DES解解密密。。3.用用步步骤骤2的的结结果果使使用用密密钥钥K1进进行行DES加加密密。。这种种方方法法的的缺缺点点,,是是要要花花费费原原来来三三倍倍时时间间,,从从另另一一方方面面来来看看,,三三重重DES的的112位位密密钥钥长长度度是是很很““强强壮壮””的的加加密密方方式式了了。。AES(AdvancedEncryptionStandard)AES的的产产生生美国国国国家家标标准准和和技技术术协协会会NIST从从1997年年4月月5日日开开始始征征集集和和评评估估新新的的数数据据加加密密标标准准;;1998年年NIST发发布布了了15个个AES的的候候选选算算法法,,并并挑挑出出了了五五个个(MARS,RC6TM,Rijndael,Serpent,Twofish)进进入入新新一一轮轮评评估估;;2000年年10月月宣宣布布Rijndael((发发音音为为““Rhine-dale””,,设设计计者者为为比比利利时时的的JoanDaemen和和VincentRijmen))为为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加加密密算算法法的的具具体体实实现现假设设我我们们用用的的128bit的的密密钥钥,,并并且且每每次次加加密密的的分分组组长长为为128bit,,即即16个个字字节节,,此此时时轮轮函函数数迭迭代代次次数数为为10轮轮。。每次次从从明明文文中中按按顺顺序序取取出出16个个字字节节假假设设为为a0a1a2a3a4a5a6a7a8a9a10a11a12a13a14a15,这16个个字字节节在在进进行行变变换换前前先先放放到到一一个个4××4的的矩矩阵阵中中。。如如下下页页图图所所示示::AES(AdvancedEncryptionStandard)a0a4a8a12a1a5a9a13a2a6a10a14a3a7a11a15这个个矩矩阵阵称称为为状状态态(state))以后后所所有有的的变变换换都都是是基基于于这这个个矩矩阵阵进进行行的的,,到到此此,,准准备备工工作作已已经经完完成成。。现现在在按按照照前前面面的的顺顺序序进进行行加加密密变变换换,,首首先先开开始始第第一一次次循循环环的的第第一一个个变变换换::字字节节代代换换(SubByte())。。字节节代代换换(SubByte())a0a4a8a12a1a5a9a13a2a6a10a14a3a7a11a15s00s01s02s03s10s11s12s13s20s21s22s23s30s31s32s33out0out4out8out12out1out5out9out13out2out6out10out14out3out7out11out15查表表字节节代代换换-S盒盒变变换换(查查表表)S12={53},则则X=5,Y=3,out9=edShiftRows()行行移移位位变变换换s00s01s02s03s10s11s12s13s20s21s22s23s30s31s32s33s00s01s02s03s11s12s13s10s22s23s20s21s33s30s31s32行变换示示意图SS′MixColumns()列列混合变变换S’0cS’1cS’2cS

温馨提示

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

评论

0/150

提交评论