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

  • Вид работы:
    Курсовая работа (т)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    358,19 Кб
  • Опубликовано:
    2013-10-16
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

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

Реферат

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

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

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

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

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

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

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

Цель работы:

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

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

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

Для начала, каждая буква переводится в двоичную систему, затем делится на 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

А

00000

1

Б

00001

2

В

00010

3

Г

00011

4

Д

00100

5

Е

00101

7

Ж

00110

8

З

00111

9

И

01000

10

Й

01001

11

К

01010

12

Л

01011

13

М

01100

14

Н

01101

15

О

01110

16

П

01111

17

Р

10000

18

С

10001

19

Т

10010

20

У

10011

21

Ф

10100

22

Х

10101

23

Ц

10110

24

Ч

10111

25

Ш

11000

26

Щ

11001

27

Ъ

11010

28

Ы

11011

29

Ь

11100

30

Э

11101

31

Ю

11110

32

Я

11111



Стрелец

|10100000|01010101|10010110|11001101|00000000

Ключ:

|00000000|00000000|00000000:00000000:00000000:00000000:00000000

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 часть

10001100                                                  10100000

                                                                       ±   К1

                                                                 00000000

                                                                       ↓

                                                                 10100000

                                                                       ↓Sблок

10      0

5        1

                                                                  01010001 сдвиг на 2

                                                                 01000101

                                                                       ±

                                                                 11001001

                                                                       ↓

10100000                                                 11001001

                                                                       ±   К2

                                                                 00000000

                                                                       ↓

                                                                 11001001

                                                                       ↓Sблок

                                                                   12      9

 3       10

                                                                  00111010 сдвиг на 2

                                                                 11101000

                                                                       ±

                                                                 01001000

                                                                       ↓

11001001                                                 01001000

                                                                        ±   К3

                                                                 00000000

                                                                       ↓

                                                                 01001000

                                                                       ↓Sблок

                                                                     4       8

 11       9

                                                                  10111001 сдвиг на 2

                                                                 11100110

                                                                       ±

                                                                 00101111

                                                                       ↓

01001000                                                 00101111

                                                                       ±   К4

                                                                 00000000

                                                                       ↓

                                                                 00101111

                                                                       ↓Sблок

                                                                    2      15

 13     0

                                                                  11010000 сдвиг на 2

                                                                 01000011

                                                                       ±

                                                                 00001011

                                                                       ↓

                                                                 00001011

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

                                                 00101111

                                                                       ±   К4

                                                                 00000000

                                                                       ↓

                                                                 00101111

                                                                       ↓Sблок

                                                                    2       15

 13      0

                                                                  11010000 сдвиг на 2

                                                                 01000011

                                                                       ±

                                                                 01001000

                                                                       ↓

00101111                                                 01001000

                                                                        ±   К3

                                                                 00000000

                                                                       ↓

                                                                 01001000

                                                                       ↓Sблок

                                                                   4         8

 11       9

                                                                  10111001 сдвиг на 2

                                                                 11100110

                                                                       ±

                                                                 11001001

                                                                       ↓

01001000                                                 11001001

                                                                       ±   К2

                                                                 00000000

                                                                       ↓

                                                                 11001001

                                                                       ↓Sблок

                                                                   12     9

  3      10

                                                                  00111010 сдвиг на 2

                                                                 11101000

                                                                       ±

                                                                 10100000

                                                                       ↓

11001001                                                10100000

                                                                       ±   К1

                                                                 00000000

                                                                       ↓

                                                                 10100000

                                                                       ↓Sблок

                                                                   10      0

 5        1

                                                                  01010001 сдвиг на 2

                                                                 01000101

                                                                       ±

                                                                 10001100

                                                                       ↓

                                                00101011

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

01010101                                                  10010110

                                                                       ±   К1

                                                                 00000000

                                                                       ↓

                                                                 10010110

                                                                       ↓Sблок

9         6

6         7

                                                                  01100111 сдвиг на 2

                                                                 10011101

                                                                       ±

                                                                 11001000

                                                                       ↓

10010110                                                 11001000

                                                                       ±   К2

                                                                 00000000

                                                                       ↓

                                                                 11001000

                                                                       ↓Sблок

12      8

       9

                                                                  00111001 сдвиг на 2

                                                                 11100100

                                                                       ±

                                                                 01110010

                                                                       ↓

                                                                       ±   К3

                                                                 00000000

                                                                       ↓

                                                                 01110010

                                                                       ↓Sблок

 7       2

8       3

                                                                  10000011 сдвиг на 2

                                                                 00001110

                                                                       ±

                                                                 11000110

                                                                       ↓

01110010                                                 11000110

                                                                        ±   К4

                                                                 00000000

                                                                       ↓

                                                                 11000110

                                                                       ↓Sблок

                                                                   12       6

 3         7

                                                                  00110111 сдвиг на 2

                                                                 11011100

                                                                       ±

                                                                 10101110

                                                                       ↓

                                                                 10101110

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

                                                 11000110

                                                                       ±   К4

                                                                 00000000

                                                                       ↓

                                                                 11000110

                                                                       ↓Sблок

                                                                    12      6

  3        7

                                                                  00110111 сдвиг на 2

                                                                 11011100

                                                                       ±

                                                                 01110010

                                                                       ↓

11000110                                                 01110010

                                                                       ±   К3

                                                                 00000000

                                                                       ↓

                                                                 01110010

                                                                       ↓Sблок

                                                                    7      2

  8       3

                                                                  10000011 сдвиг на 2

                                                                 00001110

                                                                       ±

                                                                 11001000

                                                                       ↓

01110010                                                 11001000


                                                                        ±   К2

                                                                 00000000

                                                                       ↓

                                                                 11001000

                                                                       ↓Sблок

                                                                   12      8

 3        9

                                                                  00111001 сдвиг на 2

                                                                 11100100

                                                                       ±

                                                                 10010110

                                                                       ↓

11001000                                                 10010110

                                                                       ±   К1

                                                                 00000000

                                                                       ↓

                                                                 10010110

                                                                       ↓Sблок

                                                                   9        6

 6        7

                                                                  01100111 сдвиг на 2

                                                                 10011101

                                                                       ±

                                                                 01010101

                                                                       ↓

10010110                                                 01010101

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

11001101                                                  00000000

                                                                       ±   К1

                                                                 00000000

                                                                       ↓

                                                                 00000000

                                                                       ↓Sблок

0         0

15       1

                                                                  11110001 сдвиг на 2

                                                                 11000111

                                                                       ±

                                                                 00001010

                                                                       ↓

00000000                                                 00001010

                                                                       ±   К2

                                                                 00000000

                                                                       ↓

                                                                 00001010

                                                                       ↓Sблок

0         10

15       11

                                                                  11111011 сдвиг на 2

                                                                 11101111

                                                                       ±

                                                                 11101111

                                                                       ↓

00001010                                                 11101111

                                                                       ±   К3

                                                                 00000000

                                                                       ↓

                                                                 11101111

                                                                       ↓Sблок

14      15

 1       0

                                                                  00010000 сдвиг на 2

                                                                 01000000

                                                                       ±

                                                                 01001010

                                                                       ↓

11101111                                                 01001010


                                                                        ±   К4

                                                                 00000000

                                                                       ↓

                                                                 01001010

                                                                       ↓Sблок

                                                                   4       10

11       11

                                                                  10111011 сдвиг на 2

                                                                 11101110

                                                                       ±

                                                                 00000001

                                                                       ↓

                                                                 00000001

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

                                                 01001010

                                                                       ±   К4

                                                                 00000000

                                                                       ↓

                                                                 01001010

                                                                       ↓Sблок

                                                                    4      10

 11      11

                                                                  10111011 сдвиг на 2

                                                                 11101110

                                                                       ±

                                                                 11101111

                                                                       ↓

01001010                                                 11101111

                                                                       ±   К3

                                                                 00000000

                                                                       ↓

                                                                 11101111

                                                                       ↓Sблок

                                                                   14      15

  1       0

                                                                  00010000 сдвиг на 2

                                                                 01000000

                                                                       ±

                                                                 00001010

                                                                       ↓

11101111                                                 00001010

                                                                        ±   К2

                                                                 00000000

                                                                       ↓

                                                                 00001010

                                                                       ↓Sблок

                                                                   0        10

15        11

                                                                  11111011 сдвиг на 2

                                                                 11101111

                                                                       ±

                                                                 00000000

                                                                       ↓

00001010                                                 00000000

                                                                       ±   К1

                                                                 00000000

                                                                       ↓

                                                                 00000000

                                                                       ↓Sблок

                                                                   0        0

15       1

                                                                  11110001 сдвиг на 2

                                                                 11000111

                                                                       ±

                                                                 11001101

                                                                       ↓

00000000                                                 11001101

Заключение

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

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

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

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

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

Похожие работы на - Блочные методы шифрования

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!