信息安全基础课件

PPT
  • 阅读 125 次
  • 下载 0 次
  • 页数 42 页
  • 大小 268.338 KB
  • 2023-07-23 上传
  • 收藏
  • 违规举报
  • © 版权认领
下载文档12.00 元 加入VIP免费下载
此文档由【精品优选】提供上传,收益归文档提供者,本网站只提供存储服务。若此文档侵犯了您的版权,欢迎进行违规举报版权认领
信息安全基础课件
可在后台配置第一页与第二页中间广告代码
信息安全基础课件
可在后台配置第二页与第三页中间广告代码
信息安全基础课件
可在后台配置第三页与第四页中间广告代码
信息安全基础课件
信息安全基础课件
还剩10页未读,继续阅读
【这是免费文档,您可以免费阅读】
/ 42
  • 收藏
  • 违规举报
  • © 版权认领
下载文档12.00 元 加入VIP免费下载
文本内容

【文档说明】信息安全基础课件.pptx,共(42)页,268.338 KB,由精品优选上传

转载请保留链接:https://www.ichengzhen.cn/view-288972.html

以下为本文档部分文字说明:

4对称密钥算法4.1概述4.2数据加密标准算法DES4.3高级数据加密标准AES4.4联合分组密码4.1概述◼分组密码:向量x到向量y上的一个映射:x→y=(x)x=(x0,x1,…,xN-1),

y=(y0,y1,…,yN-1)◼乘积密码:t个函数(密码)F1,…,Ft的复合,其中每个Fi是一个换位或代替。如转轮机。◼Lucifer密码的代替-移位变换◼乘积密码:代替和简单线性变换来实现混合变换。◼例:ADFGVX乘积密码1.先造一个6*6方阵ADFGVXAK

2WR1FD9B6CL5FQ7JPGXGEVY3ANV8ODH02XU4ISTM◼明文:PRODUCTCIPHERS◼变换(代替):(行标,列标)→明文P→FG(把原来明文的一个字母用R→AG两个字母行、列来代替

)◼第一次加密密文:FGAGVDVFXADGXVDGXFFGVGGAAGXG2.移位变换:构造一个移位矩阵,约定一个密钥◼密钥:DEUTSCH◼把第一次加密的密文按行写入4*7矩阵,前边加上密钥,密钥字母按其在字母表中出现的次序编号。DEUTSCH2376514FGAGVDVFXADGXVDGX

FFGVGGAAGXG◼第二次加密(移位法):按密钥字母在字母表中的顺序一列一列写出。◼密文:DXGXFFDGGXGGVVVGVGFGGDFAAAXA4.2数据加密标准算法DES◼背景◼算法描述◼算法概述:Li=Ri

-1Ri=Li-1⊕f(Ri-1,Ki)明文IP变换L0R0+fL1=R0R1=L0f(R0,K1)L15=R14f+K1R16=L15f(R15,K16)R15=L14f(R14,K15)L16=R15K16IP-1变换密文+++f+

K2…………Li=Ri-1Ri=Li-1f(Ri-1,Ki)+f+Ki+1…………◼F函数:◼E变换◼按位异或◼S盒代替◼P变换Li-1Ri-1E变换S盒代替P变换LiRi密钥移位移位压缩变换密钥密钥PC-1C0D0循环左移循环左移C1D1PC-2循环左移循环左移C2D2PC-2

PC-2循环左移循环左移C16D16……K1K2K16密钥变换:◼初始变换IP:在第一圈之前(对明文移位)◼密钥变换:◼PC-1:64位密钥去掉8的倍数位◼循环左移:56位分成各28位的两部分,分别循环左移1或2位◼PC-2:从56位中选出48位,

为本圈子密钥◼扩展变换E:将右半部分从32位扩展到48位◼S盒代替:对48位中间结果做代替操作。◼8个小S盒,每个有6位输入和4位输出◼设输入为b1b2b3b4b5b6,则b1b6为行号,b2b3b4b5为列号◼例:S6的输入110

011,行11(3),列1001(9)处为14,输出为1110◼P变换:换位操作,P变换的结果与上一圈的左半部分异或,成为新的右半部分,开始下一圈◼逆初始变换IP-1(移位)举例:设M=0x0123456789abcdef,K=0

xfedcba9876543210,求L1和R1。K:111111101101110010111010100110000111011001010100001100100001000064位PC-1(K):0000111100110011010101011111010

1010100110011000011111111表4.256位循环左移:0001111001100110101010111110101010100110011000011111111056位K1(PC-2):111101001111110110011

000011001001011011001011010表4.448位M:0000000100100011010001010110011110001001101010111100110111101111IP(M):11001100000000001100110

01111111111110000101010101111000010101010E(R0)011110100001010101010101011110100001010101010101E(R0)⊕K1100011101110100011001101000111101010001

100001111S盒代替:11000001101000001100100010000100P变换:00010001100001001100000100100101R1:1101110110000100000011011101

1010L1:◼加密过程:L0R0IP(<64位明文>)FORi=1TO16LiRi-1RiLi-1⊕f(Ri-1,Ki)<64位密文>IP-1(R16L16)◼解密过程:R16L16IP(<64位密文>)FORi=16TO1Ri-1LiLi-1Ri⊕f(Li,Ki)

<64位明文>IP-1(L0R0)◼DES的安全性◼弱密钥◼弱密钥:每一圈的子密钥都相同。共4个。◼半弱密钥:只产生2种不同的子密钥,每种出现8次。共12个。◼可能弱密钥:只产生4种不同的子密钥,每种出现4次。共48个。◼互补密钥◼

代数结构◼密钥长度◼圈数◼S盒的设计练习◼1.已知DES算法中S盒的输入为0x010101010102,求经过S盒代替后的输出结果。◼答案:11101001100111010010000000100010◼输入:000000010000000100000001000000010000000100

000010S1:0行0列:14--1110S2:0行8列:9--1001S3:0行2列:9--1001S4:1行0列:13--1101S5:0行0列:2--0010S6:0行8列:0--0000S7:0行2列:2--0010S8:0行1列:2

--00104.3高级数据加密标准AES◼背景◼AES的数学基础◼AES加密算法描述◼AES解密算法◼算法评价◼结论背景◼现代计算机速度的迅速提高,使得只有56bit密钥的DES算法的安全性面临着极大的挑战。◼1997年,N

IST公开征求AES(AdvancedEncryptionStandard)作为2001年以后的数据加密标准。◼1998年8月,AES召开第一次候选会,确定15个算法入围。◼1999年3月,AES召开第二次候选会,有5个算法入围(MARS,RC6,Rijnd

ael,Serpent和Twofish)。◼2000年10月,NIST选出由比利时的JoanDaemen和VincentRijmen提交的Rijndael算法作为AES。◼2001年夏天,NIST颁布新的信息处理标准(FIPS),将Rijndael算法作为AES。AES的数学基础(1)◼有

限域GF(28)上定义了4种运算:“+”、“·”、“·X”和带系数的多项式乘运算“”。◼对字节b,用多项式表示为:b7x7+b6x6+b5x5+b4x4+b3x3+b2x2+b1x+b0◼“+”运算:两个字节相加,相当于字节的每一位简单异或。◼例:’57’

+’83’=‘d4’(57)16=(01010111)2→x6+x4+x2+x+1(83)16=(10000011)2→x7+x+1’57’+’83’→(x6+x4+x2+x+1)+(x7+x+1)=x

7+x6+x4+x2→(11010100)2=(d4)16AES的数学基础(2)◼“·”运算:选择一个不可约多项式:m(x)=x8+x4+x3+x+1,“·”运算为两多项式相乘后进行模m(x)的运算。◼例:’57’·’83’=‘c1’(57)16=(01010111)2→x

6+x4+x2+x+1(83)16=(10000011)2→x7+x+1’57’·’83’→(x6+x4+x2+x+1)·(x7+x+1)mod(x8+x4+x3+x+1)=x13+x11+x9+x8+x7+x7+x5+x3+x2+x+x6+x4

+x2+x+1)mod(x8+x4+x3+x+1)=(x13+x11+x9+x8+x6+x5+x4+x3+1)mod(x8+x4+x3+x+1)=x7+x6+1→(11000001)2=(c1)16(x13+x11+x9+x8+x6+x5

+x4+x3+1)mod(x8+x4+x3+x+1):x5+x3x8+x4+x3+x+1x13+x11+x9+x8+x6+x5+x4+x3+1x13+x9+x8+x6+x5x7+x6+1x11+x4+x3+1x11+x7+x6+x4+x3AES的数学基础(3)◼

“·X”运算:b·X=b7x8+b6x7+b5x6+b4x5+b3x4+b2x3+b1x2+b0x◼求乘法逆元:因为m(x)是GF(28)上的不可约多项式,所以对于任意b(x),都可以用扩展的Euclid算法求a(x),使得a(x)·b(x)+c(x)·m(x)=

1因而a(x)·b(x)modm(x)=1即b-1(x)modm(x)=a(x),m(x)=x8+x4+x3+x+1例:求(x7+x6+1)关于模m(x)=x8+x4+x3+x+1的乘法逆元。辗转相除:x8+x4+x3+x+1=(x7+x6+1)(x+1)+(

x6+x4+x3)x7+x6+1=(x6+x4+x3)(x+1)+(x5+x3+1)x6+x4+x3=(x5+x3+1)x+(x3+x)x5+x3+1=(x3+x)x2+1扩展的Euclid算法:1=(x5+x3+1)+(x3+x)x2=(x5+x3+1)+(

(x6+x4+x3)+(x5+x3+1)x)x2=(x5+x3+1)(1+x3)+(x6+x4+x3)x2=[(x7+x6+1)+(x6+x4+x3)(x+1)](1+x3)+(x6+x4+x3)x2=(x7+x6+1)(1+x3)+(x6+x4+x3)(x4+x3+x2+x+1)=

(x7+x6+1)(1+x3)+[(x8+x4+x3+x+1)+(x7+x6+1)(x+1)](x4+x3+x2+x+1)=(x7+x6+1)(x5+x3)+(x8+x4+x3+x+1)(x4+x3+x2+x+1)因此,(x7+x6+

1)-1mod(x8+x4+x3+x+1)=x5+x3AES的数学基础(4)◼带系数的多项式乘运算“”:令a(x)=a3x3+a2x2+a1x+a0,b(x)=b3x3+b2x2+b1x+b0,其乘积c(x)=a(x)·

b(x)=c6x6+c5x5+c4x4+c3x3+c2x2+c1x+c0其中,c0=a0·b0c1=a1·b0a0·b1c2=a2·b0a1·b1a0·b2c3=a3·b0a2·b1a1·b2a

0·b3c4=a3·b1a2·b2a1·b3c5=a3·b2a2·b3c6=a3·b3对(x4+1)取模得d(x):d(x)=a(x)b(x)=d3x3+d2x2+d1x+d0其中,d0=a0·b0a3·b1a2·b2a1·b3d1=a1·b0a0·b1a3·b2a2

·b3d2=a2·b0a1·b1a0·b2a3·b3d3=a3·b0a2·b1a1·b2a0·b3注意:ximod(x4+1)=ximod4AES加密算法描述◼加密算法概述◼一圈变换◼密钥扩展◼加密算法描述加密算法概

述(1)◼AES算法与以往的基于Feistel网的密码(如DES)不同,算法的每一步都是可逆的。◼算法的明文块长可以为128bit,192bit或256bit,密钥也可以分别为128bit,192bit或256bit。◼算法有多圈相

同的运算,每一圈包括4个步骤:◼非线性代替(S-盒)◼行循环左移(ShiftRow)◼列混合变换(MixColum)◼与扩展密钥相异或◼每一圈的子密钥从扩展密钥中取出◼密钥扩展过程同时应用了非线性变换和循环左移◼算法定义的所有运算都是在有限域GF(28)上进行的加密算法概述(2)◼

算法中进行运算的单位包括:◼1个字节◼1列◼1行◼用字节数组表示的整个加密块◼加密块数组中,n可以是3,5,7,所代表的加密块分别表示128bit,192bit和256bit。ai,ja0,ja1,ja2,ja3,jai,0a

i,1…ai,3a0,2a0,3a1,2a1,3a2,2a2,3a0,0a0,1a1,0a1,1a2,0a2,1a3,0a3,1a3,2a3,3…a0,n…a1,n…a2,n…a3,n加密算法概述(3)◼令Nr代表算法的圈数,Nk代表密钥长度/

32,Nb代表块长度/32,则算法的圈数Nr的取值与Nk和Nb的关系为:◼除最后一圈不做列混合变换外,每一圈都经过4步相同的操作:NrNb=4Nb=6Nb=8Nk=4101214Nk=6121214Nk=8141414Ro

und(State,RoundKey){ByteSub(State);//S-盒ShiftRow(State);//行循环左移MixColumn(State);//列混合变换AddRoundKey(State,RoundKey);//与扩展密钥相异或}一圈变换

(1)◼非线性代替(S-盒):包括2步◼在GF(28)上求每个字节关于模m(x)的乘法逆元素,‘00’的逆元定义为‘00’;(00→01100011→63,01→01111100→7c)◼应用GF(2)上的一个仿射变换:一圈

变换(2)◼每个字节aij经过以上2步变换后,记为bij。◼可以将每个可能的aij值对应的bij值制成表格,通过查表的方式来实现S-盒代替,见下表。其中‘xy’代表1个字节的16进制表示。一圈变换(3)

◼行循环左移(ShiftRow):每一行以字节为单位循环左移,左移的字节数见右表。因此,第1行不移位,第2行左移1个字节…◼列混合变换(Mixcolumn):对每一列中每个字节a(x),令b(x)=c(x)a(x),其中c(x)为:c(x)=’03’

x3+’01’x2+’01’x+’02’◼与扩展密钥相异或:aijkij=bijNbC0C1C2C3401236012380134一圈变换(4)◼一圈结构图:Step1.ByteSub(State)Step2.ShiftRow(State)Step3.MixColumn(State)Step4

.AddRoundKey(State,RoundKey)StateS-盒行循环左移c(x)AARoundKeyRound(State,RoundKey)密钥扩展(1)◼扩展密钥是一个以4字节大小为单位(用Word表示)的线性数组。

当Nk大于6的时候有一点不同。开始Nk个Word是加密用的密钥,以后每个Word通过对K实行变换得到。◼当Nk≤6时,若Nkmodi≠0,则Word[i]=Word[i-1]Word[i-Nk];(i不能被Nk整除)若Nkmodi=0,则先循环左移,然后查非线性变换表(S-盒),之

后再与常量Rcon[i/Nk]异或,其中:Rcon[i]=(RC[i],’00’,’00’,’00’),RC[1]=1,RC[i]=x·(RC[i-1])=x(i-1)。最后,与Word[i-Nk]异或。◼当Nk=8时,若imodNk=4,则先查非线性变换表,再与Wo

rd[i-Nk]异或。密钥扩展的伪代码:KeyExpansion(bytekey[4*Nk],wordw[Nb*(Nr+1)],Nk){for(i=0;i<Nk;i++)w[i]=word[key[4*i],key[4*i+1],key[4*i+2],key[4*i+3]];for(

i=Nk;i<Nb*(Nr+1);i++){wordtemp=w[i-1];if(i%Nk==0)temp=SubWord(RotWord(temp))^Rcon[i/Nk];elseif(Nk==8andi

%Nk==4)temp=SubWord(temp);S盒w[i]=w[i-Nk]^temp;异或}}密钥扩展(2)◼可以从扩展密钥中选择Roundkey,例如:当Nb=6,Nk=4时,扩展密钥和各圈子密钥的选择如下:加密算法描述◼整个算法可以用下面的代码表示:

Rijndael(State,CipherKey){KeyExpansion(CipherKey,ExpandedKey);//扩展密钥AddRoundKey(State,ExpandedKey);//与扩展密钥异或for(i=1;i<Nr;i+

+)Round(State,ExpandedKey+Nb*i);每一圈FinalRound(State,ExpandedKey+Nb*Nr);//最后一圈不做列混合变换}AES解密算法(1)◼由于Rijndael算法的每一步都是可逆的,因此一

圈的逆过程如下:InvRound(State,RoundKey){AddRoundKey(State,RoundKey);InvMixColumn(State);InvShiftRow(State);InvByteSub(S

tate);}AES解密算法(2)◼列混合变换的逆变换InvMixColumn:s'(x)=c-1(x)s(x)对于0≤c<Nb,有◼循环左移的逆变换为循环右移相应的字节数AES解密算法(3)◼逆S-盒:先做逆仿射变换,然后求GF(2

8)上模m(x)的乘法逆元,也可以做成一个查找表(逆S-盒)。算法评价(1)◼所有的运算定义在有限域GF(28)上,算法执行时除了一个查表操作外,其它的运算都是简单的异或和移位,运行速度很快。在每一圈运算和密钥扩展中都应用了非线性操作,大

大增强了抗差分和线性密码分析能力。◼轮运算:(1)所有操作都是可逆的;(2)每一步对一定攻击都有很强的抵抗能力,S-盒能抵抗差分和线性密码分析,行循环左移能抵抗截断差分密码分析及Square攻击,列混合达到了扩散的目的;(3)能在广泛的硬件平台上高效快速地执行;(4)每一步操作

都易于描述。算法评价(2)◼密钥扩展:(1)非线性操作防止了仅仅由密钥的差分而导致每一圈子密钥的差分;(2)密钥扩展产生的效果使每一圈子密钥都不同;(3)有效地抵抗密钥相关分析及已知部分密钥的分析;(4)

消除了每圈中以及圈与圈之间的对称性;(5)运行速度快,易于描述。◼抵抗常见攻击:研究表明,AES算法能够抵抗差分和线性密码分析、截断差分分析、Square攻击和相关密钥分析等攻击方法;没有弱密钥,因此对密钥的选择没有限制;最有效的攻击方法是密钥穷举攻击,而这对于二十年内的计算能力是不可能的。

结论◼Rijndael算法集高安全性、高性能、高效率、易实现及伸缩性强于一身,能应用于广泛的计算环境,密钥建立高效且灵活。◼很低的存储要求,使之在有空间限制的环境中执行。◼能抵抗各种常用的攻击方法。◼密钥和块长都设计得很灵活,在圈数选择方面能提供一定的灵活性。◼圈运算对指令级并行很具潜

力。◼加密的逆运算有一些限制。◼在智能卡上解密过程相对加密过程难于执行,需要更多的代码和循环。◼对于软件,加密和解密需要不同的代码和查找表。◼对于用硬件来实施加密和解密,解密只能部分地重用加密过程用到的电

路。4.4联合分组密码◼多重加密:使用一个算法、多个密钥将相同的明文加密多次◼串联:使用不同的算法、多个密钥将相同的明文加密多次

精品优选
精品优选
该用户很懒,什么也没有留下。
  • 文档 34925
  • 被下载 0
  • 被收藏 0
相关资源
广告代码123
若发现您的权益受到侵害,请立即联系客服,我们会尽快为您处理。侵权客服QQ:395972555 (支持时间:9:00-21:00) 公众号
Powered by 太赞文库
×
确认删除?