分享
分享赚钱 收藏 举报 版权申诉 / 172

类型第三章 网络与信息安全 对称密码体系(课件).ppt

  • 上传人:无敌
  • 文档编号:1442978
  • 上传时间:2018-07-17
  • 格式:PPT
  • 页数:172
  • 大小:882.01KB
  • 配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    第三章 网络与信息安全 对称密码体系(课件).ppt
    资源描述:

    1、2018/7/17,1,网络与信息安全,2018/7/17,2,第3章 对称密码体系,本章主要内容:3.1 流密码 3.2 分组密码 3.3 数据加密标准 3.4 其他分组密码 3.5 基于分组密码的攻击及密码分析方法,2018/7/17,3,3.1 流密码,3.1.1 流密码及其工作模式 3.1.2 快速软、硬件实现的流密码算法,2018/7/17,4,流密码的基本概念,流密码是将明文划分成字符(如单个字母),或其编码的基本单元(如0, 1数字),字符分别与密钥流作用进行加密,解密时以同步产生的同样的密钥流实现。流密码强度完全依赖于密钥序列的随机性(Randomness)和不可预测性(Unp

    2、redictability)。核心问题是密钥流生成器的设计。保持收发两端密钥流的精确同步是实现可靠解密的关键技术。,2018/7/17,5,3.1 流密码一般模型,流密码( stream cipher)(序列密码)体制模型,明文序列: m= m1 m2 m3 ; 密钥序列: z=z1 z2 z3 ;密文序列: c= c1c2 c3 ;加密变换: ci=E(zi,mi) (i=1,2,3,);解密变换: mi=D(zi, ci) (i=1,2,3,).,2018/7/17,6,流密码原理框图,3.1 流密码一般模型,2018/7/17,7,流密码体制的安全性 当流钥序列是具有均匀分布的离散无记忆

    3、随机序列时, 在理论上是不可破译的.实用的困难性 真正的具有均匀分布的随机序列是不可能重复产生的. 密钥序列长(至少与明文序列一样长), 其管理(存储、 分配)难.设计流密码体制的关键问题 设计产生密钥序列的方法.,3.1 流密码一般模型,2018/7/17,8,流密码的分类同步流密码(SSC: synchronous stream cipher) 产生密钥序列的算法与明文、密文无关.,3.1 流密码一般模型,2018/7/17,9,序列密码的分类同步流密码(SSC: synchronous stream cipher)只要通信双方的密钥序列产生器具有相同的“种子序列”和相同的“初始状态”,就

    4、能产生相同的密钥序列.通信双方必须保持精确同步,才能正确解密.容易检测插入、删除、重播等主动攻击.没有差错传播.,3.1 流密码一般模型,2018/7/17,10,流密码的分类自同步流密码(SSSC: self-synchronous stream cipher) 产生密钥序列的算法与以前的秘文有关.,3.1 流密码一般模型,2018/7/17,11,自同步流密码(SSSC)密钥流生成器是一种有记忆变换器密钥流与明文符号有关: i 时刻的密文不仅取决于i 时刻的明文,而且与i 时刻之前的l个明文符号有关具有有限的差错传播具有自同步能力把明文每个字符扩散在密文多个字符中,强化了抗统计分析的能力,

    5、3.1 流密码一般模型,2018/7/17,12,二元加法序列密码,3.1 流密码一般模型,明文序列: m= m1 m2 m3 ; 密钥序列: z= z1 z2 z3 ;密文序列: c= c1 c2 c3 ;加密变换: ci=zimi (i=1,2,3,);解密变换: mi=zici (i=1,2,3,).,2018/7/17,13,密钥流生成器的分解 Ruppe将密钥流生成器分成两部分:驱动部分和非线性组合部分 驱动部分:可由m-序列或其它长周期的LFSR序列组成,用于控制密钥流生成器的状态序列,并为非线性组合部分提供伪随机性质良好的序列非线性组合部分:利用驱动部分生成的状态序列生成满足要求

    6、的密码特性好的密钥流序列,2018/7/17,14,RC4算法RC4是由Rivest于1987年开发的一种序列密码,它已被广泛应用于Windows, Lotus Notes和其它软件,还被用于安全套接字(SSL)和无线通信系统等.RC4优点是算法简单、高效,特别适于软件实现,加密速度比DES大约快10倍。RC4可以支持不同密钥长度,美国政府特别限定,用于出口的RC4的密钥长度不得超过40位。,3.1.2 快速软、硬件实现的流密码算法,2018/7/17,15,3.1.2 快速软、硬件实现的流密码算法,RC4使用了一个28字节大小的非线性数据表(简称S表), S表的值S0,S1,S255是数字0

    7、到255的一个排列。对S表进行非线性变换,得到密钥流。,RC4对S表的初始化算法(两个计数器I和J, I=0 , J=0),1. 对S表进行线性填充:SI=I, 0I255; 2. 用密钥填充另一个256字节的数组K,如果密钥长 度小于256字节,则依次重复填充,直至填满这个数组中:K0, K1, K255; 3. 对于I=0到255重复以下步骤: (1) J=J+SI+KI (mod 256); (2) 交换SI和SJ 。,2018/7/17,16,RC4算法,RC4输出密钥流字节z的算法,1. I=0, J=02. I=I +1 (mod 256);3. J=J+SI (mod 256);

    8、4. 交换SI和SJ; 5. t=SI +SJ (mod 256 ) ;6. z=St .,2018/7/17,17,A5算法A5有两个版本:A5/1和A5/2,前者有更高的安全性,根据相关法规限制被仅用于欧洲范围,而后者用于其它地区。A5算法从未公布于众,但因为一些疏漏,该算法被Bradford大学研究人员泄密,我国学者徐胜波、何大可和王新梅也由此于1994年率先实现A5算法。A5是欧洲数字蜂窝移动电话系统(GSM)采用的流密码算法,用于加密从移动台到基站的连接。,3.1.2 快速软、硬件实现的流密码算法,2018/7/17,18,A5算法GSM 会话每帧有228bitA5算法的密钥长64b

    9、it有一个22bit表征会话帧数每次产生228bit会话密钥。,3.1.2 快速软、硬件实现的流密码算法,2018/7/17,19,A5算法,A5算法,2018/7/17,20,A5算法,LFRS1: g1(x)=x19+x18+x17+x14+1; LFRS2: g2(x)=x22+x21+x17+x13+1; LFRS3: g3(x)=x23+x22+x19+x18+1.时钟控制系统 输入: LFRS1(10)= x, LFRS2(11)= y, LFRS3(12)= z控制逻辑: 如果LFRS1(10)=LFRS2(11)=LFRS3(12), 则3个LFRS都移1位; 否则相等的2个L

    10、FRS移1位, 另1个LFRS不移位. 钟控函数:g(x, y, z)= xy + xz + yz 输出序列: LFRS1+LFRS2+LFRS3,2018/7/17,21,A5算法工作过程(1)将64比特密钥输入LFSR;(2)将22比特帧数与LFSR反馈值模2加,再输入LFSR;(3)LFSR开始停走钟控;(4)舍去产生的100比特输出;(5)产生114比特作为密钥流;(6)舍去产生的100比特输出;(7)产生114比特作为密钥流。,3.1.2 快速软、硬件实现的流密码算法,2018/7/17,22,3.2 分组密码,3.2.1 分组密码的原理 3.2.2 分组密码的设计原则,2018/7

    11、/17,23,3.2.1 分组密码的原理,与前面介绍的流密码不同,分组密码的每一位数字不是仅与某时刻输入的明文数字有关,而是与该明文中一定组长的明文数字有关。分组密码的模型如图3.6所示。,其中,明文 为分组长度为m的序列,密文 为分组长度为n的序列,加密与解密过程由密钥 控制,2018/7/17,24,分组密码的优缺点: 。,优 点:即易于标准化和易于实现同步。局限性:分组密码不便于隐藏明文的数据模 式,对于重放、插入、删除等攻击方 式的抵御能力不强,等等。改 进:但是,通过采用流密码的设计思想, 在加密过程中采用合理的记忆组件, 能够消除这些局限性,2018/7/17,25,3.2.2 分

    12、组密码的设计原则,混乱原则和扩散原则 (Shannon),混乱原则:为了避免密码分析者利用明文和密文之间的依赖关系进行破译,密码的设计因该保证这种依赖关系足够复杂。,扩散原则:为避免密码分析者对密钥逐段破译,密码的设计因该保证密钥的每位数字能够影响密文中的多位数字,2018/7/17,26,分组密码主要工作模式,即使有了安全的分组密码算法,也需要采用适当的工作模式来隐蔽明文的统计特性、数据的格式等,以提高整体的安全性,降低删除、重放、插入和伪造成功的机会。电子码本(ECB)密码反馈链接(CBC) 密码反馈(CFB)输出反馈(OFB) 。,2018/7/17,27,3.3 数据加密标准,3.3.

    13、1 DES算法描述 3.3.2 DES安全分析 3.3.3 三重DES,2018/7/17,28,美国制定数据加密标准简况,数据加密标准(DES: data encryption standard)概况1972美国国家标准局(NBS)开始实施计算机数据保护标准的开发计划1973.5.13 NBS发布文告征集在传输和存储数据中保护计算机数据的密码算法1975.3.17首次公布DES算法描述,进行公开讨论1977.1.15正式批准为无密级应用的DES (美国联邦信息处理标准:FIPS-46),1977.7.15正式生效 以后每5年NBS做出评估,并重新确定是否继续作为加密标准1994年1月,NBS

    14、做了最后一次评估,决定1998年12月以后不再作为加密标准,2018/7/17,29,DES概述,分组加密算法:明文和密文为64位分组长度对称算法:加密和解密除密钥编排不同外,使用同一算法密钥长度:56位,但每个第8位为奇偶校验位,可忽略密钥可为任意的56位数,但存在弱密钥,容易避开采用混乱和扩散的组合,每个组合先替代后置换,共16轮只使用了标准的算术和逻辑运算,易于实现,2018/7/17,30,DES算法描述,DES是对称密钥加密的算法, DES算法大致可以分成四个部分: (1)初始置换 (2)迭代过程 (3)逆初始置换 (4)子密钥生成,2018/7/17,31,DES加密过程,2018

    15、/7/17,32,DES加密过程,令i表示迭代次数,表示逐位模2求和,f为加密函数,2018/7/17,33,DES解密过程,令i表示迭代次数,表示逐位模2求和,f为加密函数,2018/7/17,34,DES中的各种置换、扩展和替代,2018/7/17,35,初始置换IP和初始逆置换IP1,2018/7/17,36,IP和IP1,IP,IP1,DES的一轮迭代,2018/7/17,38,扩展置换-盒32位扩展到48位,扩展,2018/7/17,39,压缩替代S-盒48位压缩到32位,共8个S盒,S-盒1,S-盒2,S-盒3,S-盒4,S-盒5,S-盒6,S-盒7,S-盒8,2018/7/17,

    16、41,S-盒的构造,2018/7/17,42,S-盒的构造,DES中其它算法都是线性的,而S-盒运算则是非线性的S-盒不易于分析,它提供了更好的安全性所以S-盒是算法的关键所在,2018/7/17,43,S-盒的构造准则,S-盒设计准则(1992年,IBM与NSA公布)S-盒的每一行都是整数0-15的一个置换; 每个S-盒的输出都不是输入的线性或仿射函数;任意改变输入的一位,输出至少有2位发生变化;保持输入的1位不变,其余5位变化,则输出中的0和1的个数接近相等;对任何输入x, 有Sk(x)和Sk(x001100)至少有2位不同;对任何输入x, e,f 0,1, 有 Sk(x)Sk(x11ef

    17、00).,2018/7/17,44,S-盒的构造要求,S-盒是许多密码算法的唯一非线性部件,因此,它的密码强度决定了整个算法的安全强度提供了密码算法所必须的混乱作用如何全面准确地度量S-盒的密码强度和设计有效的S-盒是分组密码设计和分析中的难题非线性度、差分均匀性、严格雪崩准则、可逆性、没有陷门,2018/7/17,45,置换p-盒的构造,2018/7/17,46,p-盒的构造准则,P置换的目的是提供雪崩效应明文或密钥的一点小的变动都引起密文的较大变化,DES中的子密钥的生成,2018/7/17,48,密钥置换算法的构造准则,设计目标:子密钥的统计独立性和灵活性实现简单速度不存在简单关系:(

    18、给定两个有某种关系的种子密钥,能预测它们轮子密钥之间的关系)种子密钥的所有比特对每个子密钥比特的影响大致相同从一些子密钥比特获得其他的子密钥比特在计算上是难的没有弱密钥,2018/7/17,49,与DES加密结构相同子密钥使用次序相反: K16 K15,K2,K1输入:密文y输出:明文x,DES解密算法,2018/7/17,50,DES算法的实现,硬件实现1984年,DES芯片每秒加密25.6万次1987年,DES芯片每秒加密51.2万次目前最快的DES芯片每秒加密1G比特(DEC: 美国数字设备公司开发)软件实现在IBM3090大型机上,DES软件实现每秒加密3.2万次在80486处理器,速

    19、度为66MHz,总线宽32位的微机上,DES软件实现每秒加密4.3万次,2018/7/17,51,DES的安全性,在选择明文攻击时,只需实验256个密钥的一半228不要使用互补密钥弱密钥K:DESK(DESK(x)=x. DES至少有4个弱密钥,很可能不存在其它弱密钥.01 01 01 01 01 01 01 01; 1F 1F 1F 1F 0F 0F 0F 0F;E0 E0 E0 E0 F1 F1 F1 F1; FE FE FE FE FE FE FE FE半弱密钥K:存在密钥K, 满足DESK(DESK (x)=x. DES至少有12个半弱密钥,很可能不存在其它半弱密钥. 弱密钥与半弱密钥

    20、,能使二重DES加密复原!,互补性,2018/7/17,52,DES的安全性,S-盒的设计 S-盒是DES的心脏S-盒的设计原理尚未公开密码学家怀疑NSA设计S-盒时隐藏了“陷门”密钥搜索机密钥量小:2561017在1977年,人们估计要耗资两千万美元才能建成一个专门计算机用于DES的解密,而且需要12个小时的破解才能得到结果。所以,当时DES被认为是一种十分强壮的加密方法。,2018/7/17,53,1997.1.28,美国RSA数据安全公司发起了一个称作“向DES挑战”的竞技赛,悬赏10000美元破译DES. 美国克罗拉多州的程序员Verser从1997.3.13起,用了96天,在Inte

    21、rnet上数万名志愿者的协同下,于1997.6.17成功找到了DES的密钥,从而获得10000美元的奖金. 一年之后,在第二届赛事上,这一记录41天 ;1998年7月, “第2-2届DES挑战赛(DES Challenge II-2)” 把破解DES的时间缩短到了只需56个小时;美国电子边境基金学会(EFF)使用一台价值20万美元的计算机改装成专用密码机,用了56小时破译了56bit密钥的DES. “第三届DES挑战赛(DES Challenge III)”把破解DES的时间缩短到了只需22.5小时 。,2018/7/17,54,二重DES,二重DES的结构 y=DESK2 (z)=DESK2

    22、(DESK1(x),二重DES的安全性 密钥长度为112bit, 强度极大增加.,2018/7/17,55,二个密钥的三重DES,二个密钥的三重DES结构 加密:E=DES, 解密:D=DES-1 y=EK1DK2(EK1(x),加密-解密-加密模式(EDE: encrypt-decrypt-encrypt)已被密钥管理标准ANS X.917和ISO 8732采用,2018/7/17,56,三个密钥的三重DES,三个密钥的三重DES结构 y=EK3DK2(EK1(x),密钥长度为156bit, 强度进一步增加. 已在Internet的许多应用(如PGP, S/MIME)中被采用,2018/7/

    23、17,57,3.3 国际数据加密算法(IDEA),1990年,Xuejia Lai(来学嘉,旅居瑞士中国学者)和J.L.Massey(国际著名密码学家)提出一个建议加密标准(PES: proposed encryption standard)1991年,设计出改进型建议加密标准(IPES),能够抗击差分密码分析 1992年,改名为国际数据加密算法 (IDEA: international data encryption algorithm)是DES之后又一个成功的分组密码,已被用于Internet的E-mail加密系统PGP和其他加密系统分组长度: 64密钥长度: 128,2018/7/17,

    24、58,Xuejia Lai(来学嘉)简介,国际著名密码学家1982年获西安电子科技大学学士学位1984年获该校应用数学硕士学位1988年获瑞士苏黎世高工通信技术硕士学位1992年获瑞士苏黎世高工技术科学博士学位1994年加入瑞士r3安全工程中心,该中心于1998年6月成为Entrust(瑞士)公司2001年加入瑞士S.W.I.S.中心2004年到上海交大任教,兼任科学院研究生院名誉教授,西南交通大学顾问教授,设计了IDEA加密算法。对Hash 函数的分析和构造研究的成果得到国际上普遍应用,包括最近对MD4,SHA的碰撞攻击。在差分破译法的研究中,提出差分,高阶差分,马尔科夫密码的概念,用马尔科

    25、夫链理论将差分破译法公式化,使得推导差分密码分析复杂度的下界成为可能。设计了欧洲Eurochip 电话卡中的认证算法。 审核过欧洲银行Eurocard 智能卡系统的安全性。分析评估欧洲电讯标准局的专用密码。分析及改进付费电视系统中使用的密码及密钥管理系统。参与过中国金融认证中心的建设。主编了ISO-13888 不可抵赖标准、ISO-11770 密钥管理标准及ISO-18033 加密算法标准。并参与欧盟KRISIS,ICE-CAR和PKI Challenge 项目。现任2006亚密会(Asiacrypt)程序委员会主席, 中国密码学会常务理事。,2018/7/17,59,Xuejia Lai(来

    26、学嘉)简介,国际著名密码学家来学嘉博士2005年6月在西南交通大学讲学,2018/7/17,60,IDEA基本运算,逐位异或: 全体16位二进制向量(Z216 ,)是一个群 mod (216=65536)整数加法: 全体小于216的非负整数(Z65536, )是一个群mod (216+1=65537)整数乘法: 全体小于216+1的正整数(Z65537*, )是一个群 将216=65536视为0,则(Z65537*, )等同于 (Z65536, ) 例: 00000000000000001000000000000000 =0215=216215=216215 mod (216+1) =(216

    27、+1-1)215 mod (216+1)=(216+1)215-1215 mod (216+1) =-215 mod (216+1) = 216+1-215 mod (216+1) =215+1= 1000000000000001.,2018/7/17,61,IDEA基本运算,三个运算 , , 都使Z216成为群Z216中三个运算 , , 任何两个都不满足分配律,例 a(bc) (ab)(ac).Z216中三个运算 , , 任何两个都不满足结合律,例 a(bc)(ab)c.三个运算 , , 的混合使用,获得良好的非线性性,混淆与扩散效果显著,具有很高的安全性.例:设运算数长为2bit,22=4

    28、, a=10, b=11,有 ab=1011=01; ab=1011=2+3=5=1=01 mod 4; ab=1011=23=6=1=01 mod 5.,2018/7/17,62,IDEA基本运算,例:IDEA三个运算表(运算数长为2bit),2018/7/17,63,IDEA基本运算,乘/加结构MA( multiplication / addition),输入: F1, F2: 16bit 子密钥K1, K2: 16bit输出: G1, G2: 16bit非线性结构 MA: 0,1160,1160,1160,116 0,1160,116,2018/7/17,64,IDEA算法框图,8轮迭代

    29、输入:4个16bit子串 6个16bit子密钥输出: 4个16bit子串输出变换输入:4个16bit子串 4个16bit子密钥输出: 4个16bit子串子密钥生成算法 K(128bit) K1, K2, K52(16bit).,2018/7/17,65,IDEA的轮结构,输入:4个16bit子串: I1, I2, I3, I46个16bit子密钥: Z1, Z2, Z3, Z4 , Z5, Z6输出: 4个16bit子串O1, O2, O3, O4,2018/7/17,66,IDEA的输出变换,输入:4个16bit子串: W81, W82, W83, W844个16bit子密钥: K49, K

    30、50, K51, K52输出: 4个16bit子串Y1, Y2, Y3, Y4,密文: Y=IDEAK(X)=Y1 |Y2 | Y3 |Y4,2018/7/17,67,IDEA的子密钥生成算法,将128bit的K依次分为8个16bit的子密钥: K1, K2,K8将K循环左移25位得L25K,依次分为8个16bit的子密钥: K9, K10,K16重复上一步,2018/7/17,68,IDEA解密算法,解密算法与加密算法相同,子密钥生成方法不同加密子密钥 将第i迭代使用的6个子密钥记为: K1(i), K2(i), K3(i), K4(i), K5(i), K6(i) (1i 8),输出变换使

    31、用的4个子密钥记为: K1(9), K2(9), K3(9), K4(9)解密子密钥 将第i迭代使用的6个子密钥记为: U1(i), U2(i), U3(i), U4(i), U5(i), U6(i) (1i 8),输出变换使用的4个子密钥记为: U1(9), U2(9), U3(9), U4(9),2018/7/17,69,IDEA解密算法,解密子密钥与加密子密钥的关系 (U1(i), U2(i), U3(i), U4(i) =( (K1(10i) )1, K3(10 i), K2(10 i), (K4(10i) )1 ) (2i 8) (U1(i), U2(i), U3(i), U4(i)

    32、 =( (K1(10i) )1, K2(10i), K3(10i), (K4(10i) )1 ) (i=1, 9) (U5(i), U6(i)=(K5(9i), K6(9i) ) (1i 8)a表示a的mod 216加法逆元: (a)a=0 mod 216a1表示a的mod 216+1乘法逆元: a 1a=1 mod 216+1.,2018/7/17,70,IDEA特性,IDEA算法软、硬件实现容易,速度快。软件实现比DES快两倍安全性好:用穷举攻击要试探2128=1038个密钥,如用每秒运行100万次的计算机进行搜索,大约需要1013年.IDEA能抵抗差分攻击和线性攻击IDEA的安全缺陷:存

    33、在大量的弱密钥IDEA的设计适合于16位CPU, 对于32CPU实现不太方便,2018/7/17,71,第 3章 分组密码,3.1 分组密码概述3.2 数据加密标准(DES)3.3 国际数据加密算法(IDEA)3.4 高级数据加密标准(AES)3.5 分组密码工作模式,2018/7/17,72,3.4 高级数据加密标准(AES),1997年4月5日,美国NIST(美国国家标准和技术协会)开始征集和评估新的高级数据加密标准AES (advanced encryption standard) 1998年,NIST从21个提交算法中选出15个作为AES候选算法1999年,NIST从15个候选算法中选

    34、出5个作为新一轮评估,让社会公开评价2000年10月, NIST宣布Rijndael算法作为AES算法Rijndael(读音: rain doll)算法由比利时密码专家Joan Daeman博士和Vincent Rijmen博士后开发 2001年11月26日, NIST宣布AES 为美国政府的新加密标准2002年5月26日正式生效,2018/7/17,73,有限域GF(28),GF(28)的元素8bit的字节=8维二元向量 b=b7b6b5b4b3b2b1b0=(b7, b6, b5, b4, b3, b2, b1, b0).次数不超过8的二元多项式 b b(x)=b7x7+b6x6+b5x5

    35、+b4x4+b3x3+b2x2+b1x1+b0.例: b=10011011=(1,0,0,1,1,0,1,1)b(x)=x7+x4+x3+x+1.GF(28)的加法 : 对应位mod 2相加例: a=01101111a(x)=x6+x5+x3+x2+x+1, ab=01101111 10011011=11110100, a(x)b(x)= x6+x5+x3+x2+x+1 x7+x4+x3+x+1 = x7+ x6+x5+x4+x2.,2018/7/17,74,有限域GF(28),GF(28)的乘法“” 模多项式: m(x)=x8+x4+x3+x+1.两个多项式相乘: 将积按m(x)取模乘法逆元

    36、: 如果a(x)与b(x)满足: a(x)b(x)=1 (mod m(x) 则称b(x)是a(x)的乘法逆元,记为b(x)=a(x)-1.例: 设a(x)=x6+x4+x2+x+1, b(x)=x7+x+1,则 a(x)b(x)=(x6+x4+x2+x+1)(x7+x+1) =x13+x11+x9+x8+x6+x5+x4+x3+1=x7+x6+1 (mod m(x)又例: 用16进制表示字节 (B2 )(84 )=(1100 0010)(1000 0100) =(x7+x6+x)(x7+x2)=x14+x13+x9+x3 =x7+x6+x5+x3+1 (mod m(x)=1110 1001=(

    37、D9).,2018/7/17,75,有限域GF(28),2018/7/17,76,有限域GF(28),倍乘函数(x乘) 设b(x)=b7x7+b6x6+b5x5+b4x4+b3x3+b2x2+b1x1+b0= b7b6b5b4b3b2b1b0, 则 xb(x)=b7x8+b6x7+b5x6+b4x5+b3x4+b2x3+b1x2+b0x1 如果b7=0, 则 xb(x)=b6b5b4b3b2b1b00=b6b5b4b3b2b1b0b7=L(b). 如果b7=1, 则 xb(x)=(1+b7)x8+b6x7+b5x6+b4x5+(1+b3)x4+(1+b2)x3+b1x2+(1+b0)x1+1

    38、=b6b5b4(1+b3) (1+b2)b1(1+b0)b7.求xb(x)的步骤:将b循环左移1位得L(b);如果b7=0, 则 xb(x)=L(b);如果b7=1, 则将L(b)的第2,4,5位取异或即得xb(x).记xb(x)=xtime(b(x)=xtime(b)xtime是AES的基本运算,已做成专用芯片, 任意常数乘法都可以用xtime来实现,2018/7/17,77,有限域GF(28),倍乘函数(x乘) (02)b(x)=xb(x)=xtime(b), (04)b(x)=x2b(x)=x(xb(x)=x(xtime(b)=xtime(xtime(b), (08)b(x)=x(x2b

    39、(x)=xtime(xtime(xtime(b). 例: 计算5713 13=0001 0011=x4+x+1, x57=xtime(57)=AE, x457=xtime(xtime(xtime(xtime(57) =xtime(xtime(xtime(AE) =xtime(xtime(47) =xtime(8E)=07. 5713=57 x57x457=57AE07=FE.,2018/7/17,78,有限域GF(28),GF(28)上次数小于4的多项式全体形式: a(x)=a3x3+a2x2+a1x+a0 (a3,a2,a1,a0GF(28), 用于表示4个字节! 两个多项式相加: 对应系数

    40、相加模多项式: M(x)=x4+1.两个多项式相乘: 将积按M(x)取模 设 a(x)=a3x3+a2x2+a1x+a0, b(x)=b3x3+b2x2+b1x+b0 则有: a(x)b(x)=c3x3+c2x2+c1x+c0 (mod M(x) c0=a0b0a3b1a2b2a1b3, c1=a1b0a0b1a3b2a2b3, c2=a2b0a1b1a0b2a3b3, c3=a3b0a2b1a1b2a0b3. 注意: 这是GF(28)中的运算.,2018/7/17,79,AES加密算法,AES加密算法结构,2018/7/17,80,AES加密算法,数据长度可变明文、密文分组长度: lm=12

    41、8,192,256密钥长度: lk=128,192,256加密过程的中间结果称为“状态(state)”将每次变换的状态以字节为单位表示成一个4行Nb列的矩阵. Nb=lm/32=4,6,8.lm=192, Nb=6时的状态表示,2018/7/17,81,AES加密算法,密钥k的表示将密钥k以字节为单位表示成一个4行Nk列的矩阵. Nk=lk/32=4,6,8.lk=128, Nk=4时的密钥表示,迭代轮数Nr.,2018/7/17,82,AES的轮函数,字节代换: ByteSub对状态的每个字节独立进行代换,是字节的非线性变换,也称为S盒变换。设 ByteSub(aij)=bij.,2018/

    42、7/17,83,AES的轮函数,字节代换:ByteSub(aij)=bij,第1步: 求乘法逆元(GF(28)中的乘法),00的逆元为自己00 aij aij-1.,第2步: 对aij-1作仿射变换,2018/7/17,84,AES的轮函数,行移位: ShiftRow将状态矩阵的每行进行循环左移: 第0行不移;第i行循环左移Ci个字节(i =1,2,3).,2018/7/17,85,AES的轮函数,列混合: MixColumn将状态矩阵每一列的4个字节表示成一个3次多项式,再与多项式c(x)相乘. c(x)=(03)x3+(01)x2+(01)x+(02).,例如: 对于第2列, a(x)=a

    43、31x3+a21x2+a11x+a01, 则 MixColumn(a(x) =a(x)c(x) (mod M(x) =b31x3+b21x2+b11x+b01.,2018/7/17,86,AES的轮函数,轮密钥加: AddRoundKey(State, RoundKey)将状态矩阵与子密钥矩阵的对应字节进行逐比特异或 AddRoundKey(aij, kij)=aij kij.例: a21 k21=b21.,2018/7/17,87,AES的轮函数,轮函数的伪C代码,2018/7/17,88,AES的轮密钥生成算法,轮密钥生成算法=密钥扩展+轮密钥选取密钥扩展: 将密钥k扩展为扩展密钥WNb(

    44、Nr+1)W是以4个字节为元素的一维数组,共有Nb(Nr+1)个元素W的前Nk个元素正好是密钥k, 其他元素由扩展算法求出,2018/7/17,89,AES的轮密钥生成算法,KeyExpansion(byte Key4Nk, WNb(Nr+1) for (i=0; i Nk; i+ +) Wi=(Key4i, Key4i+1, Key4i+2, Key4i+3 ); for (i= Nk; i Nb(Nr+1); i+ +) temp=Wi-1; if (i %Nk = =0) temp=SubByte(RotByte(temp)Rconi/Nk; Wi=Wi-Nktemp; ,Nk 6时的扩展算法,Key: 密钥“i %Nk = =0”: I 整除Nk : 异或RotByte: 循环左移一个字节 SubByte: 对每个字节作代换 (ByteSub)Rconi=(RCi,00,00,00)RC1=1,RCi=xRCi-1= xi-1.,

    展开阅读全文
    提示  道客多多所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:第三章 网络与信息安全 对称密码体系(课件).ppt
    链接地址:https://www.docduoduo.com/p-1442978.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    道客多多用户QQ群:832276834  微博官方号:道客多多官方   知乎号:道客多多

    Copyright© 2025 道客多多 docduoduo.com 网站版权所有世界地图

    经营许可证编号:粤ICP备2021046453号    营业执照商标

    1.png 2.png 3.png 4.png 5.png 6.png 7.png 8.png 9.png 10.png



    收起
    展开