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

  • Вид работы:
    Курсовая работа (т)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    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А000001Б000012В000103Г000114Д001005Е001017Ж001108З001119И0100010Й0100111К0101012Л0101113М0110014Н0110115О0111016П0111117Р1000018С1000119Т1001020У1001121Ф1010022Х1010123Ц1011024Ч1011125Ш1100026Щ1100127Ъ1101028Ы1101129Ь1110030Э1110131Ю1111032Я11111

Стрелец

|10100000|01010101|10010110|11001101|00000000

Ключ:

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

S101234567891011121314151514131211109876543210

S201234567891011121314151234567891011121314150

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

10001100 10100000

± К1

00000000

10100000

↓Sблок

10 0

5 1

01010001 сдвиг на 2

01000101

±

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

↓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

11001000 01110010

± К3

00000000

01110010

↓Sблок

7 2

8 3

10000011 сдвиг на 2

00001110

±

11000110

01110010 11000110

± К4

00000000

11000110

↓Sблок

12 6

3 7

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

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.Д.Н. Голышев, С.В. Моторин «Криптографическая защита информации».

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

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

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

 

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