- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
母表中出现的次序编号。
DEUTSCH 2 3 7 651 4 F G A G V DV F X A D G XV DG X F FG V GG A A GXG 第二次加密(移位法):按密钥字母在字母表中的顺序一列一列写出。 密文:DXGX FFDG GXGG VVVG VGFG GDFA AAXA
解密过程:
R16L16 IP(<64位密文>)
FOR i=16 TO 1
Ri-1 Li Li-1 Ri ⊕f(Li,Ki) <64位明文> IP-1(L0R0)
DES的安全性
弱密钥
弱密钥:每一圈的子密钥都相同。共4个。 半弱密钥:只产生2种不同的子密钥,每种出现8次。共12个。 可能弱密钥:只产生4种不同的子密钥,每种出现4次。共48
Lucifer密码的代替-移位变换
乘积密码:代替和简单线性变换来实现混合变换。
例:ADFGVX乘积密码 1. 先造一个6*6方阵
ADFGVX A K2WR1 F D 9 B6 CL 5 F Q 7 J PGX G EVY3 AN V 8 ODH0 2 X U4 I S TM
明文:P R O D U C T C I P H E R S 变换(代替):(行标,列标) 明文
… …
C0 循环左移
C1 循环左移
C2 循环左移
C16
密钥 PC-1
D0 循环左移
D1 循环左移
D2 循环左移
D16
初始变换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的输入110011,行11(3),列1001(9)处为
14,输出为1110
P变换:换位操作,P变换的结果与上一圈的左半 部分异或,成为新的右半部分,开始下一圈
P变换:
00010001 10000100 11000001 00100101
R1: 11011101 10000100 00001101 11011010
加密过程:
L0R0IP(<64位明文>) FOR i=1 TO 16
Li Ri-1 Ri Li-1⊕f(Ri-1,Ki) <64位密文> IP-1(R16L16)
PC-1(K):
00001111
00110011
01010101
11110101
01010011
00110000
11111111 表4.2 56位
循环左移: 00011110 01100110 10101011 11101010 10100110 01100001 11111110
56位
K1(PC-2): 111101
4 对称密钥算法
4.1 概述 4.2 数据加密标准算法DES 4.3 高级数据加密标准AES 4.4 联合分组密码
4.1 概述
分组密码:向量x到向量y上的一个映射
:x→y=(x)
x=(x0,x1,…,xN-1), y=(y0,y1,…,yN-1)
乘积密码:t个函数(密码)F1,…,Ft的复合,其中 每个Fi是一个换位或代替。如转轮机。
…… Ri=Li-1 + f(Ri-1,
Ki) Ki+1
…… R15=L14K+15) f(R14,
K16 L16=R15
F函数:
E变换 按位异或 S盒代替 P变换
L i-1
R i-1
密钥
E 变换
移位
移位
压缩变换
S 盒代替 P 变换
Li
Ri
密钥
密钥变换:
K1
PC-2
K2
PC-2
K16
PC-2
001111
110110
011000
011001
001011
011001
011010 表4.4 48位
M: 00000001 00100011 01000101 01100111 10001001 10101011 11001101 11101111
IP(M): 11001100 00000000 11001100 11111111 11110000 10101010 11110000 10101010
P FG (把原来明文的一个字母用 R AG 两个字母行、列来代替)
第一次加密密文:FG AG VD VF XA DG XV DG XF FG VG GA AG XG
2. 移位变换:构造一个移位矩阵, 约定一个密钥
密钥:DEUTSCH 把第一次加密的密文按行写入4*7矩阵,前边加上密钥,密钥字母按其在字
4.2 数据加密标准算法DES
背景 算法描述
算法概述:
Li=Ri-1 Ri=Li-1⊕f(Ri-1, Ki)
明文 IP变换
L0
+
f
L1=R0 +
…… Li=Ri-1
+ …… L15=R14
+ R16=L15K+16) f(R15,
wenku.baidu.com
f
f
f IP-1变换 密文
R0 K1
R1=L0 + f(R0, K1) K2
逆初始变换IP-1(移位)
举例:设M = 0x0123456789abcdef, K = 0xfedcba9876543210, 求L1 和R1。
K: 11111110 11011100 10111010 10011000 01110110 01010100 00110010 00010000
64位
个。
互补密钥 代数结构 密钥长度 圈数 S盒的设计
练习
1.已知DES算法中S盒的输入为0x010101010102,求经过S 盒代替后的输出结果。
答案:1110 1001 1001 1101 0010 0000 0010 0010
输入: 000000 010000 000100 000001 000000 010000 000100 000010
E(R0) 011110 100001 010101 010101 011110 100001 010101 010101
E(R0)⊕K1 100011 101110 100011 001101 000111 101010 001100 001111
L1:
S盒代替:
11000001 10100000 11001000 10000100