集成电路EDA设计与实践

发布时间 : 星期三 文章集成电路EDA设计与实践更新完毕开始阅读

2013级集成电路EDA设计与实践

第三章 数据的加密操作

3.1 取得数据

把明文数据分成64位的数据块,不够64位的数据块以适当的方式补足。

3.2初始换位

表5

58 60 62 64 57 59 61 63 50 52 54 56 49 51 53 55 42 44 46 48 41 43 45 47 34 36 38 40 33 35 37 39 26 28 30 32 25 27 29 31 18 20 22 24 17 19 21 23 10 12 14 16 9 11 13 15 2 4 6 8 1 3 5 7 按照表5所示把输入的64位数据的原第58位换到第一位,原第50位换到第二位,...,依此类推,最后的得到新的64位数据. OldData

newData

其具体代码如下:

l0(1 to 8)<=a(58)&a(50)&a(42)&a(34)&a(26)&a(18)&a(10)&a(2); l0(9 to 16)<=a(60)&a(52)&a(44)&a(36)&a(28)&a(20)&a(12)&a(4); l0(17 to 24)<=a(62)&a(54)&a(46)&a(38)&a(30)&a(22)&a(14)&a(6); l0(25 to 32)<=a(64)&a(56)&a(48)&a(40)&a(32)&a(24)&a(16)&a(8);

17

2013级集成电路EDA设计与实践

r0(1 to 8)<=a(57)&a(49)&a(41)&a(33)&a(25)&a(17)&a(9)&a(1); r0(9 to 16)<=a(59)&a(51)&a(43)&a(35)&a(27)&a(19)&a(11)&a(3); r0(17 to 24)<=a(61)&a(53)&a(45)&a(37)&a(29)&a(21)&a(13)&a(5); r0(25 to 32)<=a(63)&a(55)&a(47)&a(39)&A(31)&a(23)&a(15)&a(7);

3.3数据扩展

表6

32 6 12 16 22 28 1 7 13 17 23 29 2 8 12 18 24 28 3 9 13 19 25 29 4 8 14 20 24 30 5 9 15 21 25 31 4 10 16 20 26 32 5 11 17 21 27 1 第一次迭代以3.2中生成的newData作为输入数据,第i (i > 1)次迭代以第i-1次的64位输出数据为输入数据,把64位数据按位置等分成左右两部分:

保持left不变,根据表6把right由32位扩展成48位

把扩展后的48位right与第i次迭代生成的48位加密密钥进行按位异或操作

形成一个新的48位的right.

其具体代码如下:

a_v(1 to 6):=r(32)&r(1 to 5); a_v(7 to 12):=r(4 to 9);

18

2013级集成电路EDA设计与实践

a_v(13 to 18):=r(8 to 13); a_v(19 to 24):=r(12 to 17); a_v(25 to 30):=r(16 to 21); a_v(31 to 36):=r(20 to 25); a_v(37 to 42):=r(24 to 29); a_v(43 to 48):=r(28 to 32)&r(1); a_s<=a_v xor k;

3.4 数据压缩

表7.1

1-8 9-16 17-24 25-32 33-40 41-48 49-56 57-64 1 2 3 4 5 6 7 8 0xe 0x0 0x4 0xf 0xd 0x7 0x1 0x4 0x2 0xe 0xf 0x2 0xb 0xd 0xb 0xe 0x3 0xa 0xa 0x6 0x6 0xc 0xc 0xb 0x5 0x9 0x9 0x5 0x0 0x3 0x7 0x8 0x4 0xf 0x1 0xc 0xe 0x8 0x8 0x2 0xd 0x4 0x6 0x9 0x2 0x1 0xb 0x7 0xf 0x5 0xc 0xb 0x9 0x3 0x7 0xe 0x3 0xa 0xa 0x0 0x5 0x6 0x0 0xd

表7.2

1-8 9-16 17-24 25-32 33-40 1 2 3 4 5 6 7 8 0xf 0x3 0x1 0xd 0x8 0x4 0xe 0x7 0x6 0xf 0xb 0x2 0x3 0x8 0x4 0xf 0x9 0xc 0x7 0x0 0x2 0x1 0xd 0xa 0xc 0x6 0x0 0x9 0x5 0xb 0xa 0x5 0x0 0xd 0xe 0x8 0x7 0xa 0xb 0x1 19

2013级集成电路EDA设计与实践

41-48 49-56 57-64

0xa 0x3 0x4 0xf 0xd 0x4 0x1 0x2 0x5 0xb 0x8 0x6 0xc 0x7 0x6 0xc 0x9 0x0 0x3 0x5 0x2 0xe 0xf 0x9 表7.3

1-8 9-16 17-24 25-32 33-40 41-48 49-56 57-64

表7.4

1-8 9-16 17-24 25-32 33-40 41-48 49-56 57-64

表7.5

1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 0xa 0xd 0x0 0x7 0x9 0x0 0xe 0x9 0x6 0x3 0x3 0x4 0xf 0x6 0x5 0xa 0x1 0x2 0xd 0x8 0xc 0x5 0x7 0xe 0xb 0xc 0x4 0xb 0x2 0xf 0x8 0x1 0xd 0x1 0x6 0xa 0x4 0xd 0x9 0x0 0x8 0x6 0xf 0x9 0x3 0x8 0x0 0x7 0xb 0x4 0x1 0xf 0x2 0xe 0xc 0x3 0x5 0xb 0xa 0x5 0xe 0x2 0x7 0xc 0x7 0xd 0xd 0x8 0xe 0xb 0x3 0x5 0x0 0x6 0x6 0xf 0x9 0x0 0xa 0x3 0x1 0x4 0x2 0x7 0x8 0x2 0x5 0xc 0xb 0x1 0xc 0xa 0x4 0xe 0xf 0x9 0xa 0x3 0x6 0xf 0x9 0x0 0x0 0x6 0xc 0xa 0xb 0xa 0x7 0xd 0xd 0x8 0xf 0x9 0x1 0x4 0x3 0x5 0xe 0xb 0x5 0xc 0x2 0x7 0x8 0x2 0x4 0xe 20

联系合同范文客服:xxxxx#qq.com(#替换为@)