Рефераты. Шифрование DES - теория и практика

Шаг 6 получение последовательности D(i)

По той же таблице сдвигаем биты в последовательностях

D(0) = 0110011001111000100000001111

D(1)

1100110011110001000000011110

D(2)

1001100111100010000000111101

D(3)

0110011110001000000011110110

D(4)

1001111000100000001111011001

D(5)

0111100010000000111101100110

D(6)

1110001000000011110110011001

D(7)

1000100000001111011001100111

D(8)

0010000000111101100110011110

D(9)

0100000001111011001100111100

D(10)

0000000111101100110011110001

D(11)

0000011110110011001111000100

D(12)

0001111011001100111100010000

D(13)

0111101100110011110001000000

D(14)

1110110011001111000100000001

D(15)

1011001100111100010000000111

D(16)

0110011001111000100000001111

Шаг 7 получение последовательностей K(i)

14

17

11

24

1

5

3

28

15

6

21

10

23

19

12

4

26

8

16

7

27

20

13

2

41

52

31

37

47

55

30

40

51

45

33

48

44

49

39

56

34

53

46

42

50

36

29

32

Для получения последовательности K(i) произведём конкатенацию последовательностей C(i) и D(i). В полученной последовательности C(i)D(i) переставим биты согласно таблице.

K(0) = 010100010010110010001100101001110100001111000000

K(1)

010100000010110010101100010101110010101011000010

K(2)

010100001010110010100100010100001010001101000111

K(3)

110100001010110000100110111101101000010010001100

K(4)

111000001010011000100110010010000011011111001011

K(5)

111000001001011000100110001111101111000000101001

K(6)

111000001001001001110010011000100101110101100010

K(7)

101001001101001001110010100011001010100100111010

K(8)

101001100101001101010010111001010101111001010000

K(9)

001001100101001101010011110010111001101001000000

K(10)

001011110101000101010001110100001100011100111100

K(11)

000011110100000111011001000110010001111010001100

K(12)

000111110100000110011001110110000111000010110001

K(13)

000111110000100110001001001000110110101000101101

K(14)

000110110010100010001101101100100011100110010010

K(15)

000110010010110010001100101001010000001100110111

K(16)

010100010010110010001100101001110100001111000000

Шаг 8 функция Е(шифрование, перестановка с расширением)

По таблице преобразовать последовательности R(i)

32

1

2

3

4

5

4

5

6

7

8

9

8

9

10

11

12

13

12

13

14

15

16

17

13

17

18

19

20

21

20

21

22

23

24

25

24

25

26

27

28

29

28

29

30

31

32

1

R(0) = 11111111111111110101001101110000

E(R(0)) = 011111111111111111111110101010100110101110100001

Объединение R(i)K(i+1) XOR

R(0)K(1) xor = 001011111101001101010010111111010100000101100011

Подстановка через S блоки(вход 6 бит выход 4 бита)

S(1) = 2 = 0010 S(2) = 14 = 1110 S(3) = 9 = 1001 S(4) = 2 = 0010

S(5) = 3 = 0011 S(6) = 3 = 0011 S(7) = 11 = 1011 S(8) = 1 = 0001

Выходная (S1..S8) = 00101110100100100011001110110001

Прямая перестановка с помощью P блоков

16

7

20

21

29

12

28

17

1

15

23

26

5

18

31

10

2

8

24

14

32

27

3

9

19

13

30

6

22

11

4

25

Страницы: 1, 2, 3, 4, 5, 6, 7



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.