Блочные методы шифрования

Тип работы:
Курсовая
Предмет:
Программирование


Узнать стоимость

Детальная информация о работе

Выдержка из работы

Реферат

Курсовая работа:

Ключевые слова:

· Шифрование;

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

· Блочный шифр;

· Сеть Фейстеля;

· Криптостойкость.

Цель работы:

Ознакомление с блочными методами шифрования. Приобретение практических навыков шифрования и дешифрования инфрормации с помощью сети Фейстеля.

Основные результаты:

В данной курсовой работе, шифруется и дешифруется слово — Стрелец.

Для начала, каждая буква переводится в двоичную систему, затем делится на 2 блока по 16 бит, а потом каждый блок разбивается на 2 подблока по 8 бит.

После этого записывается произвольный 32-битный ключ и разбивается на 4 подключа по 8 бит. Далее, создаётся Sблок, состоящий из двух блоков — S1 и S2. Оба S блока представляют собой перестановку чисел в диапазоне от 0 до 15. Таблица перестановки для каждого S блока задается самостоятельно.

Шифрование и дешифрование производится методом блочного шифра — сеть Фейстеля, описанного ниже.

Введение

Основным видом криптографического преобразования информации является шифрование — процесс преобразования открытой информации в зашифрованную информацию или процесс обратного преобразования зашифрованной информации в открытую. Процесс преобразования открытой информации в закрытую получил название шифрование, а процесс преобразования закрытой информации в открытую — дешифрование.

За многовековую историю использования шифрования информации человечеством изобретено множество методов шифрования или шифров. Методом шифрования (шифром) называется совокупность обратимых преобразований открытой информации в закрытую информацию в соответствии с алгоритмом шифрования. Большинство методов шифрования не выдержали проверку временем, а некоторые используются и до сих пор. Современные методы шифрования должны отвечать следующим требованиям:

· стойкость шифра противостоять криптоанализу (криптостойкость) должна быть такой, чтобы вскрытие его могло быть осуществлено только путем решения задачи полного перебора ключей;

· криптостойкость обеспечивается не секретностью алгоритма шифрования, а секретностью ключа;

· шифртекст не должен существенно превосходить по объему исходную информацию;

· ошибки, возникающие при шифровании, не должны приводить к искажениям и потерям информации;

· время шифрования не должно быть большим;

· стоимость шифрования должна быть согласована со стоимостью закрываемой информации.

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

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

Таким образом, время и средства, затрачиваемые на криптоанализ, зависят от длины ключа и сложности алгоритма шифрования.

Теоретическая часть

В данной курсовой работе, был использован блочный шифр — сеть Фейстеля.

Блочный шифр -- разновидность симметричного шифра. Особенностью блочного шифра является обработка блока нескольких байт за одну итерацию (как правило 8 или 16). Блочные криптосистемы разбивают текст сообщения на отдельные блоки и затем осуществляют преобразование этих блоков с использованием ключа.

В блочных шифрах используются следующие основные операции:

· сложение по модулю 2;

· сложение по модулю;

· циклический сдвиг на некоторое число битов;

· различные подстановки и перемещение битов.

Сеть Фейстеля.

Широкое распространение в блочных шифрах получила сеть Фейстеля, названная в честь американского инженера Хорста Фейстела (1915−1990гг.). В ней входной блок делится на два подблока равной длины, которые называют ветвями (правая R и левая L). Каждая ветвь обрабатывается независимо от другой. Такое преобразование выполняется несколько раундов. Считается, что приемлемое с точки зрения безопасности число раундоа — от 8 до 32.

Структура i-ого раунда показана на рис. 1

Здесь же штриховой линией обозначена структура заключительного раунда

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

Сеть Фейстеля является обратимой, т. е, процедуры шифрования и дешифрования совпадают с тем исключением, что подключи при дешифровании используются в обратном порядке.

шифрование блочный фейстель криптостойкость

Практическая часть

Таблица перевода чисел и букв в двоичную систему

0

А

0

1

Б

1

2

В

10

3

Г

11

4

Д

100

5

Е

101

7

Ж

110

8

З

111

9

И

1 000

10

Й

1 001

11

К

1 010

12

Л

1 011

13

М

1 100

14

Н

1 101

15

О

1 110

16

П

1 111

17

Р

10 000

18

С

10 001

19

Т

10 010

20

У

10 011

21

Ф

10 100

22

Х

10 101

23

Ц

10 110

24

Ч

10 111

25

Ш

11 000

26

Щ

11 001

27

Ъ

11 010

28

Ы

11 011

29

Ь

11 100

30

Э

11 101

31

Ю

11 110

32

Я

11 111

Стрелец

10 001 100|10100000|1 010 101|10010110|11 001 101|00000000

Ключ:

0|00000000|0|00000000

K1: 0

K2: 0

K3: 0

K4: 0

S1

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

S2

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

0

Шифрование. 1 часть

10 001 100 10 100 000

± К1

0

v

10 100 000

vSблок

10 0

5 1

1 010 001 сдвиг на 2

1 000 101

±

11 001 001

v

10 100 000 11 001 001

± К2

0

v

11 001 001

vSблок

12 9

3 10

111 010 сдвиг на 2

11 101 000

±

1 001 000

v

11 001 001 1 001 000

± К3

0

v

1 001 000

vSблок

4 8

11 9

10 111 001 сдвиг на 2

11 100 110

±

101 111

v

1 001 000 101 111

± К4

0

v

101 111

vSблок

2 15

13 0

11 010 000 сдвиг на 2

1 000 011

±

1 011

v

1 011

Дешифрование. 1 часть

1 011 101 111

± К4

0

v

101 111

vSблок

2 15

13 0

11 010 000 сдвиг на 2

1 000 011

±

1 001 000

v

101 111 1 001 000

± К3

0

v

1 001 000

vSблок

4 8

11 9

10 111 001 сдвиг на 2

11 100 110

±

11 001 001

v

1 001 000 11 001 001

± К2

0

v

11 001 001

vSблок

12 9

3 10

111 010 сдвиг на 2

11 101 000

±

10 100 000

v

11 001 001 10 100 000

± К1

0

v

10 100 000

vSблок

10 0

5 1

1 010 001 сдвиг на 2

1 000 101

±

10 001 100

v

10 100 000 101 011

Шифрование. 2 часть

1 010 101 10 010 110

± К1

0

v

10 010 110

vSблок

9 6

6 7

1 100 111 сдвиг на 2

10 011 101

±

11 001 000

v

10 010 110 11 001 000

± К2

0

v

11 001 000

vSблок

12 8

3 9

111 001 сдвиг на 2

11 100 100

±

1 110 010

v

11 001 000 1 110 010

± К3

0

v

1 110 010

vSблок

7 2

8 3

10 000 011 сдвиг на 2

1 110

±

11 000 110

v

1 110 010 11 000 110

± К4

0

v

11 000 110

vSблок

12 6

3 7

110 111 сдвиг на 2

11 011 100

±

10 101 110

v

10 101 110

Дешифрование. 2 часть

10 101 110 11 000 110

± К4

0

v

11 000 110

vSблок

12 6

3 7

110 111 сдвиг на 2

11 011 100

±

1 110 010

v

11 000 110 1 110 010

± К3

0

v

1 110 010

vSблок

7 2

8 3

10 000 011 сдвиг на 2

1 110

±

11 001 000

v

1 110 010 11 001 000

± К2

0

v

11 001 000

vSблок

12 8

3 9

111 001 сдвиг на 2

11 100 100

±

10 010 110

v

11 001 000 10 010 110

± К1

0

v

10 010 110

vSблок

9 6

6 7

1 100 111 сдвиг на 2

10 011 101

±

1 010 101

v

10 010 110 1 010 101

Шифрование. 3 часть

11 001 101 0

± К1

0

v

0

vSблок

0 0

15 1

11 110 001 сдвиг на 2

11 000 111

±

1 010

v

0 1 010

± К2

0

v

1 010

vSблок

0 10

15 11

11 111 011 сдвиг на 2

11 101 111

±

11 101 111

v

1 010 11 101 111

± К3

0

v

11 101 111

vSблок

14 15

1 0

10 000 сдвиг на 2

1 000 000

±

1 001 010

v

11 101 111 1 001 010

± К4

0

v

1 001 010

vSблок

4 10

11 11

10 111 011 сдвиг на 2

11 101 110

±

1

v

1

Дешифрование. 3 часть

1 1 001 010

± К4

0

v

1 001 010

vSблок

4 10

11 11

10 111 011 сдвиг на 2

11 101 110

±

11 101 111

v

1 001 010 11 101 111

± К3

0

v

11 101 111

vSблок

14 15

1 0

10 000 сдвиг на 2

1 000 000

±

1 010

v

11 101 111 1 010

± К2

0

v

1 010

vSблок

0 10

15 11

11 111 011 сдвиг на 2

11 101 111

±

0

v

1 010 0

± К1

0

v

0

vSблок

0 0

15 1

11 110 001 сдвиг на 2

11 000 111

±

11 001 101

v

0 11 001 101

Заключение

Ознакомились с блочными методами шифрования. Приобрели практические навыки шифрования и дешифрования информации с помощью сети Фейстеля.

Список используемой литературы

1. Д. Н. Голышев, С. В. Моторин «Криптографическая защита информации».

2. Лекционный материал по дисциплине «Информационная безопасность и защита информации».

3. Д. Голышев «Информационная безопасность и защита информации».

ПоказатьСвернуть
Заполнить форму текущей работой