第4讲,分组密码(续1)

  • 格式:pdf
  • 大小:653.31 KB
  • 文档页数:60

下载文档原格式

  / 60
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

现代密码学
第4讲 现代分组加密算法 S-DES\DES\IDEA
郑东

第4讲 分组密码理论--DES
4.1 S-DES 4.2 DES 4.3 IDEA

4.1.1 简化的DES Simplified DES方案,简称S-DES方 案。它是一个供教学而非安全的加密算 法,它与DES的特性和结构类似,但参 数小。
注:1.* 加密算法涉及五个函数: (1)初始置换IP(initial permutation) (2)复合函数fk1,它是由密钥K确定的,具有 转换和替换的运算。 (3)转换函数SW (4)复合函数fk2 (5)初始置换IP的逆置换IP-1

加密 8bit明文 IP fk SW fk IP-1 8bit密文
10bit密钥 P10 移位 P8
K1 K1
解密 8bit明文
S-DES方案示意图
IP-1 fk SW fk IP 8bit密文
移位 P8
K2 K2

4.1.2 加密算法的数学表示:
‘
IP-1*fk2*SW*fk1*IP 也可写为 密文=IP-1(fk2(SW(fk1(IP(明文))))) 其中 K1=P8(移位(P10(密钥K))) K2=P8(移位(移位(P10(密钥K)))) 解密算法的数学表示: 明文=IP-1(fk1(SW(fk2(IP(密文)))))

4.1.3算法描述
(1) S-DES的密钥生成:
设10bit的密钥为( k1,k2,…,k10 ) 置换P10是这样定义的 P10(k1,k2,…,k10)=(k3,k5,k2,k7,k4,k10,k1,k9,k8,k6) P8= (k1,k2,…,k10)=(k6,k3,k7,k4,k8,k5,k10,k9 ) LS-1为循环左移1位, LS-2为循环左移2位 按照上述条件,若K选为(1010000010), 产生的两 个子密钥分别为K1=(1 0 1 0 0 1 0 0),K2=(0 1 0 0 0 0 1 1)

4.1.4 S-DES的密钥生成
10bit密钥 P10 LS-1 5 K1 8 LS-2 5 P8 8 P8 LS-2 5 LS-1 5

S-DES的加密运算:
初始置换用IP函数: IP= 1 2 3 4 5 6 7 8 26314857 末端算法的置换为IP的逆置换: IP-1= 1 2 3 4 5 6 7 8 41357286 易见IP-1(IP(X))=X

4.1.5 S-DES加密图
8bit明文 IP E/P 4 S0 P4 + + 4 S1
fk F
4
L
R 4 8
K1

SW fk F
2 4 4 E/P 8 + 8 4 S1 P4 + 4 IP-1 8 2
4 S0
K2

‘ 函数fk,是加密方案中的最重要部分,它可表示为: ‘ fk(L,R)=(L⊕F(R,SK),R) 其中L,R为8位输入, 左右各为4位, F为从4位集到4位 集的一个映射, 并不要求是1-1的。SK为子密钥。 ‘ 对映射F来说: ‘ 首先输入是一个4-位数(n1,n2,n3,n4),第一步运算 是扩张/置换(E/P)运算: ‘ E/P ‘ 41 2 3 2 3 41 ‘ 事实上,它的直观表现形式为: ‘ n4 n1 n2 n3 ‘ n2 n3 n4 n1

‘8-bit子密钥:
‘ K1=(k11,k12,k13,k14,k15,k16,k17,k18),然后与E/P的结果作异或 运算得: ‘ n4+k11 n1+k12 n2+k13 n3+k14 ‘ n2+k15 n3+k16 n4+k17 n1+k18 ‘ 把它们重记为8位: ‘ P0,0 P0,1 P0,2 P0,3 ‘ P1,0 P1,1 P1,2 P1,3 ‘ 上述第一行输入进S-盒S0,产生2-位的输出;第二行的4位
输入进S盒S1,产生2-位的输出。

两个S盒按如下定义:
0 S0 = 1 2 3 0 S1 = 1 2 3 0 1 2 3 ⎡1 0 3 2 ⎤ ⎢3 2 1 0 ⎥ ⎢ ⎥ ⎢0 2 1 3 ⎥ ⎢ ⎥ ⎣3 1 3 2⎦ 0 ⎡0 ⎢2 ⎢ ⎢3 ⎢ ⎣2 1 1 0 0 1 2 2 1 1 0 3 3⎤ ⎥ 3⎥ 0⎥ ⎥ 3⎦

• S盒按下述规则运算: • 将第 1 和第 4 的输入比特做为 2- bit数,指示为 S盒的一个 行;将第2和第3的输入比特做为S盒的一个列。如此确定 为S盒矩阵的(i,j)数。 • 例如:(P0,0, P0,3)=(00),并且(P0,1,P0,2)=(1 0) • 确定了 S0 中的第 0 行 2 列( 0 , 2 )的系数为 3 ,记为( 1 1)输出。 • 由 S0, S1 输 出 4-bit 经 置 换 P4 – 2 4 3 1 – 它的输出就是F函数的输出。
‘ Rijndael内在的迭代结构会显示良好的潜能来 防御入侵行为。

S-DES的安全性分析
对10 bit密钥的强行攻击是可行的 密钥空间:2^10=1024 密码分析:利用已知明文攻击: 已知: 明文(p1,p2,……,p8), 及对应的密文 (c1,c2,……,c8), 未知:(k1,k2, ……,k10) Ci是pj’s和kj’s的函数 这些加密算法可以表示成8个含10个变量的非线性方程 非线性是由S盒作用的结果

S0的非线性表示如下: 设a,b,c,d为输入的4个比特,输出的两个比特分 别为q,r. 则 q=abcd+ab+ac+b+d mod2 r=abcd+abd+ab+ac+ad+a+c+1 mod2 线性映射与非线性映射交替产生了复杂的密文 比特输出函数,使得密码分析很困难。(可 以试图寻找8个密文比特的复杂度)