精品课件-现代密码学原理与实践-第3章
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
再经过P置换,这才得到(R0,k1) 01110110001101000010011010100001
然后与L0模2加,赋值给R1,同时原来的R0赋值给L1,完成第1轮
第3章 分组密码
3.1DES 美国国家标准局1977年公布了由IBM公司研制的 DataEncryptionStandard(DES)作为非机要部门的数据加密标准。 它是迄今为止流行最广、时间最长的加密算法,也是现代分组加 密技术的典型。原规定使用期10年,然而10年来并未发现有任何 攻击能够威胁到它的安全,且比它更好的标准尚未产生,所以直 到20世纪90年代,它一直在延期使用。可见它是很成功的。此后 产生的许多加密方法都直接或间接地受到了它的启发。
第3章 分组密码
4. 从原始的密钥出发,为16轮加密产生出16个不同的子密 钥ki(i=1,2,3,…,16) (1) 除去校验位(8、16、24、32、40、48、56、64位), 并按PC-1重排,如表3.4所示。 (2) C0,D0是左右各半,分别按图3.3所示的流程进行 处理。 (3) LSj是循环左移操作,移动位数因子密钥序号j而不 同,由表3.5给出。 (4) PC-2把左右两路数据合并,同时再次被重排次序, 并且从56bit中选出48bit位(取掉了9、18、22、25、35、38、 43、54位),作为子密钥输出,如表3.6所示。
数据的bit值。
不难验证:IP*IP-1=IP-1*IP=1
第3章 分组密码
表3.1DES加密系统中的IP置换与逆置换表
第3章 分组密码
2. 将IP置换后的64bit明文分成两半,各32bit,分别进入 加密器的左、右两个入口,先后经T1,T2,…,T16进行16轮迭代
每轮加密Ti流程如图3.1所示。其中,表示按位模2加;
第3章 分组密码
表3.4 产生各轮子密钥时的PC-1重排方式
第3章 分组密码
图3.3产生子密钥的流程图(只画出两个,其余相同)
第3章 分组密码
表3.5 产生各轮子密钥时循环左移的位数
表3.6 输出48bit子密钥的各bit重排列次序
第3章 分组密码
【例1】用密钥program对明文computer 解:密钥和明文的ASCII k=01110000011100100110111011001110111001001100 00101101101(共56bit) m=0110001101101111011011010111000001110101011 101000110010101110010 明文经IP L0=11111111101110000111011001010111 R0=0000000111111110000011010000011 密钥经PC-1 C0=1110110010011001000110111011 D0=1011010001011000100011100110
(3) 经S盒处理,将48bit数据变回32bit
48bit数据被分成8组,每组6bit,第i组为b1b2b3b4b5b6, 送入Si处理。Si是一个4行16列的表,6bit输入数据中,b1b6构成 的二进制数给出行序号(0,1,2,3),b2b3b4b5构成的二进制数 给出列序号(0~15)。查表得到0~15的十进制数,化为二进制就
是4bit的输出数据(y0y1y2y3)。8个Si分表共输出32bit。S盒的结 构如表3.2所示。
(4)再经置换P,结束本轮加密,最终结果如表3.3所示。
第3章 分组密码
表3.2 DES加密系统中的S盒数据对照表
第3章 分组密码
续表
第3章 分组密码
表3.3 f(Ri-1,ki)函数中P置换的重排列次序
表示扩展与收缩函数 f(Ri-1,ki)。处理后:
Li=Ri-1,Ri=Li-1
f(Ri-1,ki)
(3-2)
值得注意的是,在最后一轮加密后,左、右两半不再交换位
置。
3.
(Ri-1,ki)函数的具体结构如图3.2所示。
第3章 分组密码
图3.1 第i轮加密Ti流程图
第3章 分组密码
图3.2 扩展与收缩函数(Ri-1,ki)的结构
第3章 分组密码
各左移1位再通过PC-2变换得48bit k=00111101100011111100110100110111001111110100100
R0(32bit)经E作用扩展为48bit R0′
=10000000000101111111111010000000110101000000011
第3章 分组密码
图3.2 (1) E为扩展变换,将32bit扩展为48bit,其方法是将
信息的某些bit 234545678989101112131213141516171617181920212021
2223242524252627282928293031321321
(2)
表示48bit明文与48bit密钥模2
再与k1
R0′ k1 =101111011001100000110011101101111110101101001110 分成8 101111,011001,100000,110011,101101,111110,
101101,001110
第3章 分组密码
通过S盒后输出32bit 01110110001101000010011010100001
第3章 分组密码
第3Βιβλιοθήκη Baidu 分组密码
3.1 DES 3.2 IDEA37 3.3 AES41 习题 3 实践练习 3
第3章 分组密码
分组密码是将明文分成固定长度的一些段落(分组),在 密钥作用下逐段进行加密的方法。这样做的好处是处理速度快, 可靠性高,软(硬)件都能实现,而且节省资源,容易标准化。因 此,分组密码得到了广泛的应用,同时也使分组密码成为许多密 码组件的基础,比如MAC(消息认证码)系统。
第3章 分组密码
3.1.1DES加密算法[2
明文分组长64bit,m=m1,m2,…,m64。密钥长56bit,
加上每7bit一个奇偶校验位,共64bit
加密过程可表达为
(3-1)
DES(m)=IP-1·T16·T15…T2·T1·IP(m)
1.
IP是初始置换,IP-1是逆置换,分别按表3.1的序号置换
然后与L0模2加,赋值给R1,同时原来的R0赋值给L1,完成第1轮
第3章 分组密码
3.1DES 美国国家标准局1977年公布了由IBM公司研制的 DataEncryptionStandard(DES)作为非机要部门的数据加密标准。 它是迄今为止流行最广、时间最长的加密算法,也是现代分组加 密技术的典型。原规定使用期10年,然而10年来并未发现有任何 攻击能够威胁到它的安全,且比它更好的标准尚未产生,所以直 到20世纪90年代,它一直在延期使用。可见它是很成功的。此后 产生的许多加密方法都直接或间接地受到了它的启发。
第3章 分组密码
4. 从原始的密钥出发,为16轮加密产生出16个不同的子密 钥ki(i=1,2,3,…,16) (1) 除去校验位(8、16、24、32、40、48、56、64位), 并按PC-1重排,如表3.4所示。 (2) C0,D0是左右各半,分别按图3.3所示的流程进行 处理。 (3) LSj是循环左移操作,移动位数因子密钥序号j而不 同,由表3.5给出。 (4) PC-2把左右两路数据合并,同时再次被重排次序, 并且从56bit中选出48bit位(取掉了9、18、22、25、35、38、 43、54位),作为子密钥输出,如表3.6所示。
数据的bit值。
不难验证:IP*IP-1=IP-1*IP=1
第3章 分组密码
表3.1DES加密系统中的IP置换与逆置换表
第3章 分组密码
2. 将IP置换后的64bit明文分成两半,各32bit,分别进入 加密器的左、右两个入口,先后经T1,T2,…,T16进行16轮迭代
每轮加密Ti流程如图3.1所示。其中,表示按位模2加;
第3章 分组密码
表3.4 产生各轮子密钥时的PC-1重排方式
第3章 分组密码
图3.3产生子密钥的流程图(只画出两个,其余相同)
第3章 分组密码
表3.5 产生各轮子密钥时循环左移的位数
表3.6 输出48bit子密钥的各bit重排列次序
第3章 分组密码
【例1】用密钥program对明文computer 解:密钥和明文的ASCII k=01110000011100100110111011001110111001001100 00101101101(共56bit) m=0110001101101111011011010111000001110101011 101000110010101110010 明文经IP L0=11111111101110000111011001010111 R0=0000000111111110000011010000011 密钥经PC-1 C0=1110110010011001000110111011 D0=1011010001011000100011100110
(3) 经S盒处理,将48bit数据变回32bit
48bit数据被分成8组,每组6bit,第i组为b1b2b3b4b5b6, 送入Si处理。Si是一个4行16列的表,6bit输入数据中,b1b6构成 的二进制数给出行序号(0,1,2,3),b2b3b4b5构成的二进制数 给出列序号(0~15)。查表得到0~15的十进制数,化为二进制就
是4bit的输出数据(y0y1y2y3)。8个Si分表共输出32bit。S盒的结 构如表3.2所示。
(4)再经置换P,结束本轮加密,最终结果如表3.3所示。
第3章 分组密码
表3.2 DES加密系统中的S盒数据对照表
第3章 分组密码
续表
第3章 分组密码
表3.3 f(Ri-1,ki)函数中P置换的重排列次序
表示扩展与收缩函数 f(Ri-1,ki)。处理后:
Li=Ri-1,Ri=Li-1
f(Ri-1,ki)
(3-2)
值得注意的是,在最后一轮加密后,左、右两半不再交换位
置。
3.
(Ri-1,ki)函数的具体结构如图3.2所示。
第3章 分组密码
图3.1 第i轮加密Ti流程图
第3章 分组密码
图3.2 扩展与收缩函数(Ri-1,ki)的结构
第3章 分组密码
各左移1位再通过PC-2变换得48bit k=00111101100011111100110100110111001111110100100
R0(32bit)经E作用扩展为48bit R0′
=10000000000101111111111010000000110101000000011
第3章 分组密码
图3.2 (1) E为扩展变换,将32bit扩展为48bit,其方法是将
信息的某些bit 234545678989101112131213141516171617181920212021
2223242524252627282928293031321321
(2)
表示48bit明文与48bit密钥模2
再与k1
R0′ k1 =101111011001100000110011101101111110101101001110 分成8 101111,011001,100000,110011,101101,111110,
101101,001110
第3章 分组密码
通过S盒后输出32bit 01110110001101000010011010100001
第3章 分组密码
第3Βιβλιοθήκη Baidu 分组密码
3.1 DES 3.2 IDEA37 3.3 AES41 习题 3 实践练习 3
第3章 分组密码
分组密码是将明文分成固定长度的一些段落(分组),在 密钥作用下逐段进行加密的方法。这样做的好处是处理速度快, 可靠性高,软(硬)件都能实现,而且节省资源,容易标准化。因 此,分组密码得到了广泛的应用,同时也使分组密码成为许多密 码组件的基础,比如MAC(消息认证码)系统。
第3章 分组密码
3.1.1DES加密算法[2
明文分组长64bit,m=m1,m2,…,m64。密钥长56bit,
加上每7bit一个奇偶校验位,共64bit
加密过程可表达为
(3-1)
DES(m)=IP-1·T16·T15…T2·T1·IP(m)
1.
IP是初始置换,IP-1是逆置换,分别按表3.1的序号置换