Поздравляем с Новым Годом!
   
Телефон: 8-800-350-22-65
WhatsApp: 8-800-350-22-65
Telegram: sibac
Прием заявок круглосуточно
График работы офиса: с 9.00 до 18.00 Нск (5.00 - 14.00 Мск)

Статья опубликована в рамках: XXI Международной научно-практической конференции «Научное сообщество студентов: МЕЖДИСЦИПЛИНАРНЫЕ ИССЛЕДОВАНИЯ» (Россия, г. Новосибирск, 18 мая 2017 г.)

Наука: Математика

Скачать книгу(-и): Сборник статей конференции

Библиографическое описание:
Зенцов Д.А., Галеева А.И. АЛГОРИТМ ШИФРОВАНИЯ SKIPJACK // Научное сообщество студентов: МЕЖДИСЦИПЛИНАРНЫЕ ИССЛЕДОВАНИЯ: сб. ст. по мат. XXI междунар. студ. науч.-практ. конф. № 10(21). URL: https://sibac.info/archive/meghdis/10(21).pdf (дата обращения: 29.12.2024)
Проголосовать за статью
Конференция завершена
Эта статья набрала 479 голосов
Дипломы участников
Диплом лауреата
отправлен участнику

АЛГОРИТМ ШИФРОВАНИЯ SKIPJACK

Зенцов Даниил Александрович

студент, кафедра геоинформатики и информационной безопасности, Самарский университет,

РФ, г. Самара

Галеева Аделя Ильдаровна

студент, кафедра геоинформатики и информационной безопасности, Самарский университет,

РФ, г. Самара

Тишин Владимир Викторович

научный руководитель,

доц., кафедра прикладной математики, Самарский университет,

РФ, г. Самара

В современном мире жизнь человека становится всё более динамичной. Люди не хотят тратить много своего времени на поход в библиотеку, поиск редкого товара в магазинах, стояние в очереди на оплату коммунальных услуг, оформление различных документов и льгот и т.д. Соответственно, многие услуги автоматизируются и переносятся на электронные устройства и комплексы. Естественно, остро встает вопрос о защите пересылаемых данных и  их безопасности.

Но подобные проблемы волнуют человечество уже не одно тысячелетие. Криптография - наука, обеспечивающая секретность сообщения, существующая уже около 4 тысяч лет. Существует множество различных алгоритмов шифрования, шифровальных машин и специально созданных устройств.

В нашей работе рассматривается алгоритм симметричного блочного шифрования SKIPJACK. Он был разработан Агентством Национальной безопасности США в 1980 году. Долгое время алгоритм был засекречен и только в 1998 году он был опубликован в открытом доступе. В результате исследований  было выявлено, что риск взлома шифра с помощью более быстрых способов незначителен. Алгоритм не имеет слабых ключей и свойства комплементарности.

Алгоритм шифрования SKIPJACK

Данный алгоритм шифрования - блочный. В его работе используется 10-байтный ключ шифрования и входной блок символов размером 8 байт. В процессе шифрования данные разбиваются на 4 слова(по 2 байта каждое). Слова обозначаются w1, w2, w3, w4(w1 - старшие 2 байта входного блока). Далее выполняются 32 раунда преобразования слов одной из функций - A или B[1].

Приведем пошаговое описание алгоритма функции A и обобщенные правила преобразований в функциях A и B.

 

Рисунок 1. Функция A

 

Пошаговое описание алгоритма функции A:

1. Выполнить операцию G над w1.

2. Применить операцию XOR к результату предыдущего шага и значению w4.

3. Присвоить w1 результат применения операции XOR к результату шага 2 и текущему значению счетчика.

4. Присвоить w4 текущее значение w3.

5. Присвоить w3 текущее значение w2.

6. Присвоить w2 результат, полученный на шаге 1.

7. Увеличить значение счётчика на 1.

 

Рисунок 2. Функция B.

Обобщенные правила преобразований функции A:

w1k+1=Gk(w1k)+w4k+счетчикk

w2k+1= Gk(w1k)

w3k+1= w2k

w4k+1=w3k

Обобщенные правила преобразований функции B:

w1k+1= w4k

w2k+1= Gk(w1k)

w3k+1= w1k+w2k+счетчикk

w4k+1=w3k

Здесь и далее k - номер раунда алгоритма.

Операция G представляет собой четырехраундовую сеть Фейстеля[1]:

Рисунок 3. Функция G.

Здесь cv4k+n= K(4*k+n (mod 10)). K - ключ шифрования.

F - замещение входящего байта согласно F-таблице. В ней номер строки - старшие 4 бита входного байта(индексация начинается с нуля), номер столбца - младшие 4 бита.

Таблица 1.

F-таблица

A3

D7

09

83

F8

48

F6

F4

B3

21

15

78

99

B1

AF

F9

E7

2D

4D

8A

CE

4C

CA

2E

52

95

D9

1E

4E

38

44

28

0A

DF

02

A0

17

F1

60

68

12

B7

7A

C3

E9

FA

3D

53

96

84

6B

BA

F2

63

9A

19

7C

AE

E5

F5

F7

16

6A

A2

39

B6

7B

0F

C1

93

81

1B

EE

B4

1A

EA

D0

91

2F

B8

55

B9

DA

85

3F

41

BF

E0

5A

58

80

5F

66

0B

D8

90

35

D5

C0

A7

33

06

65

69

45

00

94

56

6D

98

9B

76

97

FC

B2

C2

B0

FE

DB

20

E1

EB

D6

E4

DD

47

4A

1D

42

ED

9E

6E

49

3C

CD

43

27

D2

07

D4

DE

C7

67

18

89

CB

30

1F

8D

C6

8F

AA

C8

74

DC

C9

5D

5C

31

A4

70

88

61

2C

9F

0D

2B

87

50

82

54

64

26

7D

03

40

34

4B

1C

73

D1

C4

FD

3B

CC

FB

7F

AB

E6

3E

5B

A5

AD

04

23

9C

14

51

22

F0

29

79

71

7E

FF

8C

0E

E2

0C

EF

BC

72

75

6F

37

A1

EC

D3

8E

62

8B

86

10

E8

08

77

11

BE

92

4F

24

C5

32

36

9D

CF

F3

A6

BB

AC

5E

6C

A9

13

57

25

B5

E3

BD

A8

3A

01

05

59

2A

46

На вход подаются , 1<=i<=4, счетчик устанавливается в 1, k=0. Для шифрования сообщения 8 раз выполняется операция A, затем - 8 раз B, 8 раз - A и 8 раз B. После каждого выполнения функции A или B счётчик увеличивается на 1. На выходе имеем , 1<=i<=4, k =32.

Дешифрование

Дешифрование осуществляется применением в обратном порядке функций, обратных к A и B, значение счётчика на первом шаге устанавливается в 32.

Обобщенные правила преобразований функции A-1:

w1k-1=[Gk-1]-1(w2k)

w2k-1= w3k

w3k-1= w4k

w4k-1=w1k+w2k+счетчикk-1

Обобщенные правила преобразований функции B-1:

w1k-1= [Gk-1]-1(w2k)

w2k-1= [Gk-1]-1(w2k) +w3k+счетчикk-1

w3k-1= w4k

w4k-1=w1k

1.jpg

Рисунок 4. Функция G-1.

На вход подаются , 1<=i<=4, счетчик устанавливается в 32, k=0. Сначала 8 раз выполняется операция B-1, затем - 8 раз A-1, 8 раз - B-1 и 8 раз A-1. После каждого выполнения функции A-1 или B-1 счётчик уменьшается на 1. На выходе имеем , 1<=i<=4, k =0.

 

Программная реализация

В ходе работы алгоритм был реализован в виде программного продукта, позволяющего шифровать и дешифровать исходный текст по введенному ключу.

 

Рисунок 5. Пример работы программы.

 

Список литературы:

1. Bruce Schneier "Applied Cryptography" John Wiley & Sons, 784 p., 1996

Проголосовать за статью
Конференция завершена
Эта статья набрала 479 голосов
Дипломы участников
Диплом лауреата
отправлен участнику

Комментарии (1)

# Алсу 27.05.2017 22:00
занимательно

Оставить комментарий