英语原文共 310 页
第11章
DES及其变体:3DES,DES-X
摘要:在这一章,我们将简要描述DES加密结构和它的主要变体。然后我们将给出这些方案目前已知的密码分析结果。
11.1 描述
数据加密标准,简称为DES,是第一个完全公开算法,只对密钥进行保密的算法。事实上,在这之前的算法都是保密的,尽管根据Kerckhoff原则,他们在公开加密算法后必须是安全的(密钥保密,但是算法过程公开)。1977年,DES算法诞生,并被美国国家标准与技术协会(NIST)采纳为标准。它是1977年到1990年间应用最广泛的密钥保密算法,在民用领域有着广泛的应用。由于它使用的密钥只有56,目前已经DES已经不够安全,但是一些使用更长密钥DES的变体(例如3DES)仍然在使用,特别是使用智能卡的银行部门。
11.1.1 DES的一般描述
DES是一个16轮Feistel加密算法(见图11.1),加密分组长度为64bit,使用56bit长的密钥。16轮轮函数F1, hellip; , F16是从32bit到32bit的映射。它们的表述如下。这些函数不是伪随机的,但是可以很快地被计算出来。因此,DES地构造原理在某种程度上并不是基于一个具有6轮的通用Feistel密码(随机Feistel密码),而是基于16轮的可以被快速计算的函数。相对较大的轮数是为了弥补函数的相对弱点。我们可以看到轮函数F1, hellip; , F16都是被精心挑选的。
11.1.2 轮函数Fi的设计
图11.2给出了轮函数Fi, (1le;ile;16)是怎么被计算的。
我们需要执行以下计算步骤:
11.1.2.1 函数E的扩展
为了得到48个比特位,R的一半被复制(见图11.2)。例如,第1、4、5、8、9位是重复的,但是2、3位却不是这样。需要注意的是这个扩展函数E是“线性的”,这意味着每个输出比特位Y1, hellip; , Y18可以用一个包含输入位R1, hellip; , R32的一次多项式来计算。例如,我们定义Y1 = R32; Y2 = R1; Y3 = R2。这个扩展函数是公开的,而且每个输入比特位都只依赖于一个输入比特位。
11.1.2.2 子密钥和密钥表的异或
之后扩展函数的48比特位输出和从56比特位主密钥K生成的子密钥相异或(按位加)。16个子密钥的轮密钥表见表11.1。注意到子密钥的每一个比特位都恰对应等于K的一个比特位。此外,尽管我们有一个56比特位的密钥,但图11.1 16轮DES
图11.2 轮函数F(R1)的计算
是我们认为我们有一个64比特位的密钥,这个密钥中的第0、8、16、24、32、40、48和56这几个位置是不使用的。
11.1.2.3 S盒
被子密钥异或后得到的48比特位被分为8个6比特的块A1, A2, A3, A4, A5, A6, A7, A8, 其中每个块所用到的S盒见表11.2。每个S盒如所下所示,是一个从6比特到4比特的映射。我们现在解释S盒是怎么从Sj映射到Aj=aj1 aj2 aj3 aj4 aj5 aj6的。aj1 aj6两个比特决定一个数字r的二进制表示形式,0le;rle;3,这个数字给出了数组Sj的行。类似地aj2 aj3 aj4 aj5四个比特决定一个数字c的二进制表示形式,0le;cle;15,这个数字给出了数组Sj的列。然后Sj(Aj)就成了作为一个长度为4的比特串被写成二进制形式的输入入口Sj(r,c)。例如,假设有一个S1,我们想计算S1(101100)。这时aj1 aj6=10。这给出了行值为r=2。然后aj2 aj3 aj4 aj5=0110,我们可以得知c=6。因此S1(101100)是S1(2,6)=2的二进制表述,也就是说,S1(101100)=0010。
11.1.2.4 置换P
最后一个应用的变换是置换P,它将修改32比特位的位置(见图112.)。我们有P(a1, a2hellip;,a32)= (b1, b2hellip;,b32),其中b1=a17, b2=a7,hellip;b32=a25。注意到置换P是现行的,公开的而且每个比特位bi都只取决于一个比特位aj。然而,这个置换变换在DES的安全性起到重要的作用,因为这种排列,S盒的四个输出比特位将在加一轮被送到4个不同的S盒中。因为这个过程,预计会发生“雪崩效应”:两个输入之间的微小变化应该在几轮后变成一个很大的变化。
表11.1 密钥表
第1轮 |
|||||||||||
10 |
51 |
34 |
60 |
49 |
17 |
33 |
57 |
2 |
9 |
19 |
42 |
3 |
35 |
26 |
25 |
44 |
58 |
59 |
1 |
36 |
27 |
18 |
41 |
22 |
28 |
39 |
54 |
37 |
4 |
47 |
30 |
5 |
53 |
23 |
29 |
61 |
21 |
38 |
63 |
15 |
20 |
45 |
14 |
13 |
62 |
55 |
31 |
第2轮 |
|||||||||||
2 |
43 |
26 |
52 |
41 |
9 |
59 |
1 |
11 |
14 |
||
60 |
27 |
18 |
17 |
36 |
50 |
51 |
58 |
57 |
19 |
10 |
33 |
14 |
20 |
31 |
46 |
29 |
63 |
39 |
22 |
28 |
45 |
15 |
21 |
53 |
13 |
30 |
55 |
7 |
12 |
37 |
6 |
5 |
54 |
47 |
23 |
第3轮 |
|||||||||||
51 |
27 |
10 |
36 |
25 |
59 |
9 |
33 |
43 |
50 |
60 |
18 |
44 |
11 |
2 |
1 |
49 |
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。