收藏 分享(赏)

第四讲:分组密码4.ppt

上传人:dreamzhangning 文档编号:3321899 上传时间:2018-10-13 格式:PPT 页数:37 大小:1.08MB
下载 相关 举报
第四讲:分组密码4.ppt_第1页
第1页 / 共37页
第四讲:分组密码4.ppt_第2页
第2页 / 共37页
第四讲:分组密码4.ppt_第3页
第3页 / 共37页
第四讲:分组密码4.ppt_第4页
第4页 / 共37页
第四讲:分组密码4.ppt_第5页
第5页 / 共37页
点击查看更多>>
资源描述

1、1,分组密码(四),现代密码学第四讲,上讲内容回顾,AES算法的整体结构 AES算法的轮函数 AES算法的密钥编排算法 AES的解密变换,本节主要内容,SMS4加/解密算法 SMS4密钥编排算法 分组密码算法的运行模式,4,SMS4加/解密算法,无线局域网产品使用的SMS4密码算法是国内官方公布的第一个商用密码算法,5,SMS4加/解密算法,128比特明文分为4个32比特字( 中元素),分别赋值给四个寄存器A、B,C,D(D为最高). 进行32轮F运算,设每轮输入为寄存器当前状态值 和轮密钥为 ,则轮函数F为:将寄存器最右边字A的值移出,高三个字顺次右移32位,F函数的输出赋值给最左边的寄存器

2、字D. 32轮的输出 进行反序变换R,然后输出密文.,6,SMS4加/解密算法,轮函数F 以字为单位进行运算 ,输入寄存器值 和轮密钥 :合成置换T T: 是一个可逆变换,由非线性变换和线性变换L复合而成, 即T(.)=L(.),SMS4加/解密算法,非线性变换由4个并行的S盒构成,设输入 ,输出 则线性变换L 设输入为 输出为 ,则,8,SMS4加/解密算法,9,SMS4加/解密算法,本算法的解密变换与加密变换结构相同,不同的仅是轮密钥的使用顺序。 加密时轮密钥的使用顺序为:解密时轮密钥的使用顺序为:,10,SMS4密钥编排算法,密钥及密钥参量 1)加密密钥长度为128比特 , 其中 为字;

3、 2)轮密钥表示为 ,其中 为字 3) 为系统参数, 为固定参数,用于密钥扩展算法,其中 均为字.,11,SMS4密钥编排算法,密钥扩展算法 加密密钥 , 轮密钥为 ,其生成方法为: 1)系统参数FK的取值,采用16进制表示为:2)对i=0,1,2,31,12,SMS4密钥编排算法,说明: T变换与加密算法轮函数中的T基本相同,只将其中的线性变换L修改为:固定参数CKi的取值方法为:设 为 的第j 字节(i=0,1,31;j=0,1,2,3,即 ,则 .,13,SMS4密钥编排算法,32个固定参数 ,其16进制表示为:,14,分组密码在加密时,明文分组的长度是固定的,而实际应用中待加密消息的数

4、据量是不定的,数据格式多种多样.1) 为了能在各种应用场合使用DES,美国在FIPS PUS 74和81中定义了DES的4种运行模式: ECB, CBC, CFB, OFB2) FIPS PUB 140-2 推荐了AES的另外一种运行模式:CTR,分组密码的运行模式,15,1 ECB (electronic codebook) 模式最简单的运行模式,首先将明文分为64比特(调用的分组密码算法的分组长度)的明文块,它一次对一个64比特长的明文分组加密,每次的加密密钥都相同.,分组密码的运行模式,16,分组密码的运行模式,如果明文长于64比特,首先将其分为长为64比特的分组; 若最后一个分组如果不

5、够64比特,则需要填充; 明文加密过程和解密过程分别调用加密算法和解密算法. 不需要额外的初始向量.,分组密码的运行模式,密文块可以分别独立解密,无顺序要求. 密钥相同时,明文中相同的64比特分组产生相同的64比特密文块; 不存在错误传播,一块密文传送错误只导致对应明文解密错误; 主要用于发送少数量的分组数据.,18,2 CBC(cipher block chaining)模式 首先对明文分组,它一次对一个明文分组加密,加密算法的输入是当前明文分组和前一次密文分组的异或.,分组密码的运行模式,19,注:在产生第1个密文分组时,需要有一个初始向量IV与第1个明文分组异或. 解密时,IV和解密算法

6、对第1个密文分组的输出进行异或以恢复第1个明文分组. IV对于收发双方都应是已知的,为使安全性最高,IV应像密钥一样被保护 (可使用ECB加密模式来发送IV). 如果敌手能欺骗接收方使用不同的IV值,则接收方收到的P1中相应的比特也发生了变化.,分组密码的运行模式,20,如果消息长于64比特,首先将其分为长为64比特的分组,最后一个分组如果不够64比特,则需要填充. 明文加密过程和解密过程分别调用加密算法和解密算法. 需要额外的初始向量,若初始向量公开,攻击者可以通过篡改,使第1块明文解密错误 密文块需按顺序逐一解密.,分组密码的运行模式,分组密码的运行模式,密钥相同时,明文中相同的64比特分

7、组产生不相同的64比特密文块; 存在错误传播,一块密文传输错误会导致之后的密文解密失败 适合加密长度大于64比特的消息 还可以用来进行用户鉴别(见消息鉴别码部分),22,3 CFB(cipher feedback)模式 设传送的每个单元(如一个字符)是j比特,0j64长,通常取j=8.加密时,设加密算法的输入是64比特移位寄存器,其初值为某个初始向量IV. 加密算法输出的最左(最高有效位)j比特与明文的第一个单元P1进行异或,产生出密文的第1个单元C1. 传送该单元并将输入寄存器的内容左移j位,用C1补齐最右边(最低有效位)j位. 这一过程继续到明文的所有单元都被加密为止.解密时,将加密算法输

8、出的最左(最高有效位)j比特与密文的相应单元异或,产生明文. 反馈到输入寄存器的值为密文单元.,分组密码的运行模式,分组密码的运行模式,CFB加密模式,24,分组密码的运行模式,25,消息被看作bit流,无须分组填充;适合数据以比特或字节为单位出现标准允许反馈任意比特 (1,8 or 64 or whatever)记作 CFB-1, CFB-8, CFB-64 只使用加密算法,且所有加密都使用同一密钥. 需要额外的初始向量,若初始向量公开,攻击者可以通过篡改,使第1块明文解密错误.,分组密码的运行模式,密文块需按顺序逐一解密. 密钥相同时,明文中相同的64比特分组产生不相同的64比特密文块.

9、存在错误传播(只传播后面的几块). CFB模式除能获得保密性外,还能用于认证.,分组密码的运行模式,27,4 OFB(output feedback)模式类似于CFB, 不同之处在于OFB模式是将加密算法的输出反馈到移位寄存器,而CFB模式中是将密文单元反馈到移位寄存器。,分组密码的运行模式,28,寄存器,寄存器,分组密码的运行模式,加密模式,29,分组密码的运行模式,解密模式,30,分组密码的运行模式,消息被看作比特流,无须分组填充. 只使用加密算法,且所有加密都使用同一密钥. 需要额外的初始向量,若初始向量公开,攻击者可以通过篡改,使所有明文解密错误. 密钥流可以在已知消息之前计算,不需要

10、按顺序解密. 密钥相同时,明文中相同的64比特分组产生不相同的64比特密文块. 不存在比特错误传播. 发送者和接收者必须保持同步.,31,分组密码的运行模式,Vernam密码的改进版,(key+IV)不能重复使用. OFB的缺点是它比CFB模式更易受到对消息流的篡改攻击,比如在密文中取1比特的补,那么在恢复的明文中相应位置的比特也为原比特的补.因此使得敌手有可能通过对消息校验部分的篡改和对数据部分的篡改,而以纠错码不能检测的方式篡改密文.,32,计数器模式 Counter(CTR),分组密码的运行模式,33,分组密码的运行模式,消息被看作bit流,无须分组填充; 只使用加密算法,且所有加密都使

11、用同一密钥. 需要额外的初始向量,若初始向量公开,攻击者可以通过篡改,使所有明文解密错误. 密钥相同时,明文中相同的分组产生不相同的密文块. 不存在比特错误传播. 效率,密钥流可以在已知消息之前计算,不需要按顺序解密. 可并行加密 预处理 吞吐量仅受可使用并行数量的限制 可证明安全,34,分组密码的运行模式,Block Modes ECB, CBC Stream Modes CFB, OFB, CTR Mode,主要知识点小结,SMS4加/解密算法 SMS4密钥编排算法 分组密码算法的运行模式,思考题,利用差分分析法分析你设计的分组算法,分析你的算法需要多少轮迭代可以抵抗差分分析?,37,THE END!,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报