数据压缩及加密算法的设计与实现外文翻译资料

 2021-11-24 22:31:53

英语原文共 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

原文和译文剩余内容已隐藏,您需要先支付 30元 才能查看原文和译文全部内容!立即支付

以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。