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

下载本文档

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

文档简介

第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年年提出了了一种多多表代换换密码,,即维吉吉尼亚密密码,它它的一个个明文字字母可以以表示成成多个密密文。ABCDEFGHIJKLMNOPQRSTUVWXYZAABCDEFGHIJKLMNOPQRSTUVWXYZBBCDEFGHIJKLMNOPQRSTUVWXYZACCDEFGHIJKLMNOPQRSTUVWXYZABDDEFGHIJKLMNOPQRSTUVWXYZABCEEFGHIJKLMNOPQRSTUVWXYZABCDFFGHIJKLMNOPQRSTUVWXYZABCDEGGHIJKLMNOPQRSTUVWXYZABCDEFHHIJKLMNOPQRSTUVWXYZABCDEFGIIJKLMNOPQRSTUVWXYZABCDEFGHJJKLMNOPQRSTUVWXYZABCDEFGHIKKLMNOPQRSTUVWXYZABCDEFGHIJLLMNOPQRSTUVWXYZABCDEFGHIJKMMNOPQRSTUVWXYZABCDEFGHIJKLNNOPQRSTUVWXYZABCDEFGHIJKLMOOPQRSTUVWXYZABCDEFGHIJKLMNPPQRSTUVWXYZABCDEFGHIJKLMNOQQRSTUVWXYZABCDEFGHIJKLMNOPRRSTUVWXYZABCDEFGHIJKLMNOPQSSTUVWXYZABCDEFGHIJKLMNOPQRTTUVWXYZABCDEFGHIJKLMNOPQRSUUVWXYZABCDEFGHIJKLMNOPQRSTVVWXYZABCDEFGHIJKLMNOPQRSTUWWXYZABCDEFGHIJKLMNOPQRSTUVXXYZABCDEFGHIJKLMNOPQRSTUVW

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’3cS0cS1cS

温馨提示

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

评论

0/150

提交评论