网络安全 课程设计文档格式.doc

上传人:b****1 文档编号:13191484 上传时间:2022-10-08 格式:DOC 页数:20 大小:487.52KB
下载 相关 举报
网络安全 课程设计文档格式.doc_第1页
第1页 / 共20页
网络安全 课程设计文档格式.doc_第2页
第2页 / 共20页
网络安全 课程设计文档格式.doc_第3页
第3页 / 共20页
网络安全 课程设计文档格式.doc_第4页
第4页 / 共20页
网络安全 课程设计文档格式.doc_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

网络安全 课程设计文档格式.doc

《网络安全 课程设计文档格式.doc》由会员分享,可在线阅读,更多相关《网络安全 课程设计文档格式.doc(20页珍藏版)》请在冰豆网上搜索。

网络安全 课程设计文档格式.doc

该算法通信双方通信前共同拟定一个密钥,不对第三方公开,并且消息发送前都通过该密钥加密,到达后也通过该密钥解密。

该算法利用一个56+8奇偶校验位(第8,16,24,32,40,48,56,64位)=64位的密钥对以64位为单位的块数据进行加解密操作。

 

具体实现过程是将DES的数据分组长度为64位,输入的是64位的明文,在64位密钥的控制下产生64位的密文;

反之输入64位的密文,输出64位的明文。

64位的密钥中含有8个位的奇偶校验位,所以实际有效密钥长度为56位。

明文数据经过初始置换IP、16圈迭代的乘积变换、逆初始置换IP-1以及16个子密钥产生器后得到密文数据。

在初始置换IP时,将64位明文的位置进行置换,得到一个乱序的64位明文组,而后分成左右两段,每段32位,用L0和R0表示。

DES的加密函数f对32位的段操作:

首先将这32位的段选择扩展运算成48位的段;

其次将这48位的段和子密钥产生器输出的48位的密钥进行组合并将组合结果作为8个不同S-盒的输入。

每个S-盒的输入是6位,输出是4位;

然后将S-盒的32位做置换作为加密函数f的输出。

经过16圈迭代,最终产生64位密文

DES设计思路以及解决问题的方法共七步

1)DES算法第一步:

输入64个二进制位明码文数据区组:

T=t1t2…t64

按初始换位表IP进行换位,得到区组

B(0):

B(0)=B(0)=b1(0)b2(0)…b64(0)=t58t50…t7

初始换位表IP:

585042342618102

605244362820124

625446383022146

645648403224168

57494133251791

595143352719113

615345372921135

635547393123157

2)DES算法第二步

设B(i)=b1(i)b2(i)…b64(i)是第i+1次迭代的64个二进制位输入区组,将B(i)分为左右两个大小相等的部分,每部分为一个32位二进制的数据块

L(i)=l1(i)l2(i)…l32(i)=b1(i)b2(i)…b32(i)

R(i)=r1(i)r2(i)…r32(i)=b33(i)b34(i)…b64(i)

把R(i)视为由8个4位二进制的块组成

r1(i)r2(i)r3(i)r4(i)

r5(i)r6(i)r7(i)r8

...

r29(i)r30(i)r31(i)r32(i)

通过循环抄录相邻块的相邻块,把它们再扩充为8个6位二进制的块

r32(i)r1(i)r2(i)r3(i)r4r5(i)

r4(i)r5(i)r6(i)r7(i)r8(i)r9(i)

r28(i)r29(i)r30(i)r31(i)r32r1(i)

用E(R(i))表示这个变换,称为扩充函数。

扩充函数E

3212345

456789

8910111213

121314151617

161718192021

202122232425

242526272829

28293031321

3)DES算法第三步:

首先按照一定规则对密钥进行压缩置换,得到48位子密钥(子密钥设计思想见后),再在第i+1次迭代中,用48位二进制的密钥

K(i+1)=k1(i+1)k2(i+1)…k48(i+1)

与E(R(i))按位相加(逻辑异或),得到48位密钥。

4)DES算法第四步:

将以上第j个(1≤j≤6位二进制的块(记为Z=zj1zj2zj3zj4zj5zj6)输入第个j个替代函数Sj(表4-3)。

各替代函数Sj的功能是把6位数变换成4位数,做法是以zj1zj6为行号,zj2zj3zj4zj5为列号,查找Sj,行列交叉处即是要输出4位数。

既S盒置换,将产生的48位密钥进行“S盒”输入其中的8个Si盒中,入6位出4位,即将48位压缩为32位。

S盒置换表:

S1:

0157414213110612119538

4114813621115129731050

1512824917511314100613

1518146113497213120510

S2:

3134715281512011069115

0147111041315812693215

1381013154211671205149

S3….S7(转换表略,见源程序)

S8:

1328461511110931450127

1151381037412561101492

7114191214206101315358

2114741081315129035611

5)DES算法第五步:

八个替代函Sj(1≤j≤8)的输出拼接32位二进制数据区组y1(i)y2(i)…y32(i)把它作为换位函数P(表4-4)的输入,得到输出

X(i)=x1(i)x2(i)…x32(i)=y16(i)y17(i)…y25(i)

换位函数P

1672021

29122817

1152326

5183110

282414

322739

1913306

2211425

若把第二至第五步的变换记为,(X(i)=f(R(i),K(i)+1))。

6)DES算法第六步

把L(i)与X(i)按位相加,形成R(i+1),且令R(i)为L(i+1),即得到经第i+1次迭代加密后的

输出L(i+1)R(i+1),其中

L(i+1)=R(i+1)

R(i+1)=L(i)⊕f(R(i),K(i+1)(2.1式)

可以看出,DES密码体制的每一次迭代都用替代法和换位法和换位法对上一次迭代

的输出进行加密变换。

用硬件实现DES算法时,实际上用替代盒实现替代函数Sj(1≤j≤8),用换位盒实现换位函数P。

为了使最后输出的密码文与原始输入的明码文没有明显的函数关系,DES算法采用16次迭代。

在前15次迭代中,式(2.1式)中的L(i)表示左32位,R(i)表示右32位。

对最后一次迭代,L(16)表示右32位,R(16)表示左32位,即在最后一次迭代时不再左右交换,以保证加密和解密的对称性。

7)DES算法第七步

对R(16)L(16)作逆初始换位IP-1,得到密码文。

2

计算机网络课程设计报告

IP-1

408481656246432

397471555236331

386461454226230

375451352216129

364441252206028

353431151195927

342421050185826

33141949175725

最终得出:

R(i)=L(i+1)

L(i)=R(i+1)⊕f(L(i),K(i+1))

(二)子密钥Ki(48bit)的生成算法

对K使用PC-1(8×

7)

57 

4941 

33 

25 

17 

9

58 

50 

42 

34 

26 

18

10 

259 

51 

43 

35 

27

19 

11 

60 

52 

44 

36

63 

55 

47 

39 

31 

23 

15

62 

54 

46 

38 

30 

22

146 

61 

53 

45 

37 

29

21 

13 

28 

20 

12 

4

从而,由K(64位)=0001001100110100010101110111100110011011101111001101111111110001

得到K+(56位)=11110000110011001010101011110101010101100110011110001111

进而,

C0(28位)=1111000 

0110011 

0010101 

0101111

D0(28位)=0101010 

1011001 

1001111 

0001111

C1和D1分别为C0和D0左移1位。

…C3和D3分别为C2和D2左移2位…具体如下:

轮12345678910111213141516

位数1122222212222221

从而得到C1D1~C16D16:

C1=1110000110011001010101011111

D1=1010101011001100111100011110

C2=1100001100110010101010111111

D2=0101010110011001111000111101

……

Kn(48位)=PC-2(CnDn(56位))

PC-2(8×

6)

14171124 

5

32815 

62110

231912 

426 

8

16 

7272013 

415231374755

304051453348

最终得到所有16个子钥,每个48位:

K1 

=000110110000001011101111111111000111000001110010

K2 

=011110011010111011011001110110111100100111100101

K16=110010110011110110001011000011100001011111110101

(三)解密

DES的解密过程和DES的加密过程完全类似,只不过将16圈的子密钥序列K1,K2„„K16的顺序倒过来。

即第一圈用第16个子密钥K16,第二圈用K15,其余类推。

三.系统功能分析:

本系统主要实现的是DES对字符及字符串的加密,能在一定的范围内进行加密和解密。

从而实现DES算法中通过16次迭代过程和逆置换,以及在迭代过程中,使用56位密钥对64位的数据进行数据块加密等一系列操作

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 数学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1