《现代密码学原理与实践》课件第3章.ppt

《现代密码学原理与实践》课件第3章.ppt

  1. 1、本文档共83页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

∑1=A09E667F3BCC908B,∑2=B67AE8584CAA73B2∑3=C6EF372FE94F82BE,∑4=54FF53A5F1D36F1C∑5=10E527FADE682D1D,∑6=B05688C2B3E6C1FD然后,分别由KLKRKAKB循环移位生成加密所需要的各个子密钥。18(或24)轮加密运算中共用到18(或24)个子密钥ki,4个子密钥kwi,4个子密钥kli,它们均由KLKRKAKB循环移位生成,循环方式见表3.12和表3.13。图3.13Camellia算法的密钥方案表3.12128bit密钥生成的子密钥表3.13192bit和256bit密钥生成的子密钥2.Camellia组件1)F函数图3.14表示的F函数将64bit数据用64bit密钥加密,具体结构为式中,S是8个并行的8×8的S盒代替运算;P是基于字节的线性变换。图中,64bit的数据X分成8组,各8bit;64bit的密钥也分成8组,各8bit,分别模2加,得到数据Y;Y进入S盒进行代替运算,得到数据Z;再经线性变换P后得到Z′。(3-11)图3.14Camellia算法的F函数2)S盒Camellia组件总共用了4个不同的8×8双射S盒,排列次序见图3.14。S1:y(8)→h(g(f(C5⊕y(8))))⊕6E→z(8)(3-12)S2:y(8)→S1(y(8))1→z(8)(3-13)S3:y(8)→S1(y(8))1→z(8)(3-14)S4:y(8)→S1(y(8))1→z(8)(3-15)其中,f,g,h均实现字节变换,即a1a2…a8→b1b2…b8,具体为f:b1=a6⊕a2,b2=a7⊕a1,b3=a8⊕a5⊕a3,b4=a8⊕a3b5=a7⊕a4,b6=a5⊕a2,b7=a8⊕a1,b8=a6⊕a4(3-16)g:(b8+b7α+b6α2+b5α5)+(b4+b3α+b2α2+b1α5)β=1/((a8+a7α+a6α2+a5α3)+(a4+a3α+a2α2+a1α3)β)(3-17)式中,β是GF(28)上满足β8+β6+β5+β3+1=0的元素;α=β238=β6+β5+β3+β2,是GF(28)中满足α4+α+1=0的元素。h:b1=a5⊕a6⊕a2,b2=a6⊕a2,b3=a7⊕a4,b4=a8⊕a2b5=a7⊕a3,b6=a8⊕a1,b7=a5⊕a1,b8=a6⊕a3(3-18)S盒可以用硬件电路实现,也可以进行查表运算。3)P字符变换P字符变换为Z′=PZ其中:(3-19)4)FL/FL-1函数引入FL和FL-1是为了提供轮间的不规则性,加强抗攻击性能。FL/FL-1仅由逻辑运算组成,如与、或、异或以及循环左移等,它的软、硬件实现都很快,如图3.15所示。图3.15中为与运算;为或运算;为异或运算;为循环左移1位的运算。图3.15Camellia算法的FL和FL-1函数3.3.3RC6算法RC6是RSA公司提给NIST的候选算法。它的全称是RC6-w/r/b。w=32,是明文分组的比特数,r=20,是加密轮数,b=16(24,32),是字节表示的密钥长。RC6用了下列几种基本运算:(1)整数模2w加和减,分别表示为+和-。(2)比特逐位模2加,表示为⊕。(3)整数模2w乘,表示为×。(4)循环左移ROL

文档评论(0)

酱酱 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档