Будь умным!


У вас вопросы?
У нас ответы:) SamZan.net

Криптографические методы и средства обеспечения информационной безопасности

Работа добавлена на сайт samzan.net:

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 3.6.2024

Министерство образования и науки Российской Федерации

Государственное образовательное учреждение

высшего профессионального образования 

Уфимский государственный авиационный технический университет

СЕМЕЙСТВО КРИПТОГРАФИЧЕСКИХ

АЛГОРИТМОВ RC

Методические указания

к выполнению лабораторной работы по дисциплине

«Криптографические методы и средства обеспечения информационной безопасности»

Уфа 2011

Составители: Ю. Г. Строкина, Т. А. Иванова

УДК 004.43(07)

ББК 32.973-018.1(я7)

Методические указания к выполнению лабораторной работы по дисциплине «Криптографические методы и средства обеспечения информационной безопасности» / Уфимск. гос. авиац. техн. ун-т; Сост. Ю.Г. Строкина, Т. А. Иванова– Уфа, 2011. – 28 c.  

Методические указания включают лабораторную работу по дисциплине «Криптографические методы и средства обеспечения информационной безопасности», в которой рассматриваются основные механизмы работы криптографических алгоритмов RC2, RC4, RC5 и  RC6.

Предназначены для студентов специальности 090104 «Комплексная защита объектов информатизации».

Табл. 2. Ил. 22. Библиогр.: 9 назв.

Рецензенты : канд. техн. наук, доц. М.В. Селиванова ;

      канд. техн. наук, доц. Ю.О. Уразбахтина

     

© Уфимский государственный

 авиационный технический университет, 2011


Содержание

[1]
Введение

[2] ЛАБОРАТОРНАЯ РАБОТА № 1

[3] СЕМЕЙСТВО АЛГОРИТМОВ RC

[4] 1. Цель работы

[5] 2. Краткие теоретические сведения

[5.1] 2.1 Алгоритм RC2

[5.1.1] 2.1.1 Структура алгоритма

[5.1.2] 2.1.2 Процедура расширения ключа

[5.1.3] 2.1.3 Расшифровывание

[5.1.4] 2.1.4 Криптостойкость алгоритма

[5.2] 2.2 Алгоритм RC4

[5.3] 2.3Алгоритм RC5

[5.3.1] 2.3.1 Структура алгоритма

[5.3.2] 2.3.2 Процедура расширения ключа

[5.3.3] 2.3.3 Криптоанализ алгоритма

[5.3.4] 2.3.4 Варианты RC5

[5.4] 2.4 Алгоритм RC6

[5.4.1] 2.4.1 Структура алгоритма

[5.4.2] 2.4.2 Процедура расширения ключа

[6] 3. Примеры

[7] 4. Содержание работы

[8] 5. Контрольные вопросы

[9] Список литературы


Введение

Для современной криптографии характерно использование открытых алгоритмов шифрования, предполагающих использование вычислительных средств. Известно более десятка проверенных алгоритмов шифрования, которые при использовании ключа достаточной длины и корректной реализации алгоритма криптографически стойки. К распространенным алгоритмам относятся: симметричные DES, AES, ГОСТ 28147-89, Camellia, Twofish, Blowfish, IDEA, RC4 и др.; асимметричные RSA и Elgamal (Эль-Гамаль), хэш-функции MD4, MD5, MD6, SHA-1, SHA-2, ГОСТ Р 34.11-94.

Встречается несколько версий алгоритма RC: RC2, RC4, RC5, RC6. Они имеют некоторые различия в работе, но принцип действия схож. В основе алгоритма лежит сеть Фейстеля. Наиболее часто используемым является алгоритм RC6. В данном случае более подробно изучается RC2 и RC4.

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

ЛАБОРАТОРНАЯ РАБОТА № 1

СЕМЕЙСТВО АЛГОРИТМОВ RC

1. Цель работы

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

2. Краткие теоретические сведения

2.1 Алгоритм RC2

Алгоритм шифрования был разработан в конце 1980-х гг. Рональдом Ривестом, который, в частности, разработал алгоритм RC5.

2.1.1 Структура алгоритма

Алгоритм RC2 шифрует данные блоками по 64 бита с использованием ключей переменного размера: от 8 до 1024 битов исключительно; рекомендуемым размером ключа является 64 бита.

Алгоритм является сетью Фейстеля, в нем выполняется 18 раундов преобразований. Причем раунды алгоритма делятся на 2 типа: смешивающие (mix) раунды и объединяющие (mesh) раунды. Общая структура алгоритма такова:

  1.  Выполняется 5 смешивающих раундов.
  2.  Выполняется 1 объединяющий раунд.
  3.  Выполняются 6 смешивающих раундов.
  4.  Выполняется 1 объединяющий раунд.
  5.  Выполняется 5 смешивающих раундов.

Структура смешивающего раунда приведена на рис.1. Предполагается, что шифруемый блок данных разделен на 4 16-битных слова , над которыми смешивающий раунд в цикле по i от 0 до 3 выполняет следующие операции (составляющие показанную на рис.1 функцию f()):

,

j=j+1,                                                    (2)

,                                          (3)

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

& - побитовая логическая операция «и»,

~x – побитовый комплемент к x,

« - циклический сдвиг влево на число битов, определяемое значением  (табл. 1).

Рис. 1. Смешивающий раунд алгоритма RC2

Таблица 1

i

0

1

2

3

1

2

3

5

Таким образом, в каждой i-й итерации смешивающего раунда выполняется описанное выше преобразование f() (рис.2), которое модифицирует  на основе текущих значений трех остальных слов шифруемого блока и фрагмента расширенного ключа.

Рис. 2. Функция f() алгоритма RC2

Аналогично смешивающему раунду, в объединяющем раунде выполняется цикл по i от 0 до 3; в каждой итерации цикла выполняется следующая операция:

,                             (4)

где .                                                                          (5)

Таким образом, итерация объединяющего раунда представляет собой наложение операцией сложения по модулю  фрагмента расширенного ключа, индекс которого определяется 6 младшими битами текущего значения слова .

2.1.2 Процедура расширения ключа

Как было сказано выше, алгоритм RC2 использует ключи шифрования размером от 8 до 1024 битов, т.е. от 1 до 128 байтов.

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

  1.  Инициализируется байтовый массив , используемый при расширении ключа:

,                                            (6)

,                                       (7)

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

Остальные байты массива L обнуляются.

  1.  Инициализируются другие переменные, участвующие в расширении ключа:

T8=(T1+7)/8,                                      (8)

,                     (9)

где  T1 – размер ключа в битах,

T8 – эффективный размер ключа в байтах,

TM – битовая маска, учитывающая остаточные биты ключа, если его размер в битах не кратен 8.

  1.  В цикле по i от T до 127 выполняется следующая операция:

,                      (10)

где P – табличная замена, приведенная в табл.2.

Таблица 2

Таким образом, значение 0 заменяется на D9, 1 – на 78 и т.д.

Псевдослучайная таблица P сформирована на основе шестнадцатеричной записи дробной части числа π.

  1.  Вычисляется :

.                              (11)

  1.  В цикле i от 127-T8 до 0 выполняется следующее действие:

.                             (12)

  1.  Для использования в шифрующих преобразованиях 128-байтная последовательность  представляется в виде 16-байтных слов :

.                          (13)

2.1.3 Расшифровывание

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

Смешивающий раунд расшифровывания в цикле по i от 3 до 0 выполняет следующие операции:

,                                          (14)

,

j=j-1,                                                (16)

где » - циклический сдвиг вправо на число битов, определяемое значением  (табл. 2),

начальное значение j устанавливается не в 0, а в 63.

Аналогичным образом изменен и объединяющий раунд при расшифровывании по сравнению с зашифровыванием. В нем в цикле по i от 3 до 0 выполняется следующая операция:

,                             (17)

где .                                                                          (18)

2.1.4 Криптостойкость алгоритма

Почти сразу после опубликования RC2 вышла работа ряда известных криптологов: Рональда Ривеста, Ларса Кнудсена, Винсента Риджмена и  Мэта Робшоу, - в которой исследовалось воздействие дифференциального и линейного криптоанализа на алгоритм RC2. Результаты оказались таковы:

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

Не более практичной является атак на связанных ключах, для успешного проведения которой требуется наличие  выбранных открытых текстов и соответствующих им шифртекстов, причем зашифровывание должно выполняться на ключе, связанном с искомым определенным простым соотношением. Данная атака изобретена не менее известными криптологами: Джоном Келси, Брюсом Шнайером и Дэвидом Вагнером.

Других методов вскрытия алгоритма RC2 на настоящий момент не известно.

2.2 Алгоритм RC4

RC4 представляет собой потоковый шифр с переменной длиной ключа, разработанный в 1987 г. Роном Ривестом для компании RSA Data Security, Inc.

Описывается шифр очень просто. Алгоритм работает в режиме OFB. Ключевая последовательность не зависит от исходного текста. Структура алгоритма включает блок замены размерностью 8х8: . Блок замены представляет собой зависимую от ключа переменной длины перестановку чисел 0,…, 255. Имеется два счетчика i и j, первоначально равные 0. Для генерирования псевдослучайного байта выполняются следующие действия:

,                                   (19)

переставить   и

,                                (21)

.                                             (22)

Затем байт k складывается по модулю 2 с байтом исходного текста для получения шифрованного.

Инициализация блока замены также проста. Вначале он заполняется линейно: . Затем заполняется еще один 256-байтный массив ключом, при этом ключ может повторяться необходимое число раз для заполнения всего массива: . Счетчик j устанавливается в 0. После чего производятся следующие действия:

for i=0 to 255

переставить   и .

Возможно обобщение алгоритма на большие длину слова и размер блока замены. Так, можно построить шифр с блоком замены размерностью 16х16 (потребуется 128 Кбайт памяти) и длиной слова 16 бит. Этап инициализации будет значительно медленнее, необходим цикл до 65535, если мы хотим в точности следовать конструкции, но получившийся в результате алгоритм будет более быстрым.

2.3Алгоритм RC5

Алгоритм разработан известнейшим криптологом Рональдом Ривестом – одним из разработчиков асимметричной системы RSA. Аналогично предыдущим алгоритмам шифрования Рона Ривеста RC2 и RC4 (является потоковым шифром), алгоритм RC5 получил весьма широкое распространение.

На преобразованиях, используемых в RC5, основана последующая разработка компании RSA – алгоритм RC6, который стал финалистом конкурса AES по выбору нового стандарта шифрования США.

2.3.1 Структура алгоритма

Часть основных параметров алгоритма RC5 являются переменными. Помимо секретного ключа, параметрами алгоритма являются следующие:

  •   размер слова w (в битах); RC5 шифрует блоками по два слова; допустимыми значениями w являются 16, 32 или 64, причем 32 является рекомендуемым;
  •   количество раундов алгоритма R – в качестве значения допустимо любое целое число от 0 до 255 включительно;
  •   размер секретного ключа в байтах b – любое целое значение от 0 до 255 включительно.

Наиболее часто для уточнения параметров алгоритма, используемых в его конкретной реализации, применяется обозначение RC5-w/R/b; например, RC5-32/12/16 обозначает RC5 с 64-битным блоком, 12 раундами и 128-битным (16-байтным) ключом.

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

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

Рис. 3. Структура алгоритма RC5

Структура алгоритма представлена на рис. 3. Алгоритм представляет собой сеть Фейстеля, в каждом раунде которой выполняются следующие операции:

,                        (24)

,                     (25)

где r – номер текущего раунда, начиная с 1,

– фрагмент расширенного ключа,

– операция циклического сдвига на x битов влево, где x – значение младших  битов n.

Перед первым раундом выполняются операции наложения двух первых фрагментов расширенного ключа на шифруемые данные:

,                                    (26)

.                                     (27)

Под словом «раунд» в описании алгоритма понимаются преобразования, соответствующие двум раундам обычных алгоритмов, структура которых является сетью Фейстеля (рис.3).

То есть раунд алгоритма RC5 обрабатывает блок целиком, тогда как типичный раунд сети Фейстеля обрабатывает только один субблок – обычно половину блока.

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

Расшифровывание выполняется применением обратных операций в обратной последовательности, т.е. в каждом раунде r (с обратной последовательностью раундов) выполняются следующие операции:

,                    (28)

,                       (29)

где »n – аналогичная описанной выше («n)операция побитового циклического сдвига вправо.

Соответственно, после R раундов выполняются следующие операции:

,                                     (30)

.                                     (31)

Алгоритм RC5  и некоторые его варианты являются запатентованными.

2.3.2 Процедура расширения ключа

Процедура расширения ключа незначительно сложнее собственно шифрования. Опишем эту процедуру:

  1.  Производится выравнивание ключа шифрования, в рамках которого ключ шифрования, если его размер в байтах b не кратен w/8 (т.е. размеру слова в байтах), дополняется нулевыми байтами до ближайшего большего размера c, кратного w/8.
  2.  Инициализация массива расширенных ключей  производится следующим образом:

,                                             (32)

,                                   (33)

где  и  – псевдослучайные константы, образованные путем умножения на  дробной части и последующего округления до ближайшего нечетного целого двух математических констант (e и φ соответственно). В спецификации алгоритма приведены вычисленные константы для возможных значений w (указаны шестнадцатеричные значения):

;

;

;

;

;

.

  1.  Циклически выполняются следующие действия:

,                         (34)

,                   (35)

,                                       (37)

где i, j, A и B – временные переменные, их начальные значения равны нулю,

KC – выровненный на этапе 1 ключ шифрования.

Количество итераций цикла N определяется как N=3*m, где m – максимальное из двух значений: c или (2*R+1).

2.3.3 Криптоанализ алгоритма

Считается, что именно сдвиги на переменное число битов привлекли внимание криптоаналитиков к алгоритму RC5 – RC5 стал одним из наиболее изученных алгоритмов на предмет возможных уязвимостей.

Начало криптоанализу алгоритма RC5 было положено сотрудниками RSA Laboratories  Бертоном Калиски и Икван Лайзой Ин. В период с 1995 по 1998 гг. они опубликовали ряд отчетов, в которых подробно проанализировали криптостойкость алгоритма RC5. Выводы таковы.

Алгоритм RC5 почти невозможно вскрыть методом линейного криптоанализа. Это свойство алгоритма предопределило наличие операции циклического сдвига на переменное число битов. Однако дальнейшие исследования показали, что существует класс ключей, при использовании которых алгоритм может быть вскрыт линейным криптоанализом.

Дифференциальный криптоанализ существенно более эффективен при атаках на алгоритм RC5. Калиски и Ин предложили атаку на алгоритм RC5-32/12/16, для которой требовалось наличие  пар выбранных открытых текстов и соответствующих им шифртекстов. Этот результат улучшили Ларс Кнудсен и Уилли Мейер, для атаки которых требовалось  выбранных открытых текстов. Они же нашли несколько классов слабых ключей, использование которых упрощает дифференциальный криптоанализ. А наилучшим результатом является криптоаналитический метод, предложенный Алексом Бирюковым и Эйялом Кушилевицем, которым необходимо  выбранных открытых текстов для успешной атаки. Тем не менее, все описанные выше атаки являются непрактичными – для их выполнения требуется наличие огромного количества выбранных открытых текстов. Бирюков и Кушилевиц считают, что для обеспечения полной невскрываемости алгоритма дифференциальным криптоанализом достаточно выполнения 18-20 раундов вместо 12.

Таким образом, наиболее реальным методом взлома алгоритма RC5 (не считая варианты с небольшим количеством раундов и с коротким ключом) является полный перебор возможных вариантов ключа шифрования. Что означает, что у алгоритма RC5 практически отсутствуют недостатки с точки зрения его стойкости. Это косвенно подтверждается тем, что достаточно много исследований стойкости алгоритма было направлено против вариантов с усеченным количеством раундов: такие варианты обычно исследуются в случае отсутствия серьезных уязвимостей у полноценных вариантов исследуемого алгоритма.

Было немало и других исследований данного алгоритма. Причем их подавляющее большинство применялось к 64-битной версии алгоритма (т.е. для w=32). Это не означает, что RC5 со 128-битным блоком шифруемых данных является существенно менее изученным – результаты исследований показывают, что 128-битный вариант RC5 с достаточным количеством раундов вскрыть существенно сложнее 64-битного.

2.3.4 Варианты RC5

Структура алгоритма RC5, несмотря на свою простоту, представлялась многим криптологам как поле для возможных усовершенствований. Соответственно, появилось множество известных вариантов алгоритма RC5, в которых преобразования в «пол-раундах» классического RC5 несколько изменены:

  1.  Алгоритм RC5XOR, в котором сложение с ключом раунда по модулю  заменено операцией XOR (рис.4):

.                           (38)

Данный алгоритм оказался менее стоек, чем RC5, как к линейному, так и к дифференциальному криптоанализу.

  1.  Алгоритм RC5P, в котором сложение левого и правого обрабатываемых субблоков операцией XOR заменено сложением по модулю   (рис. 4):

.              (39)

Алгоритм оказался так же стоек, как и RC5, против линейного криптоанализа, но значительно слабее против дифференциального.

Рис.4. Раунды алгоритмов RC5XOR и RC5P

  1.  Алгоритм RC5PFR, отличающийся от RC5 циклическим сдвигом на фиксированное, а не переменное число битов (рис.5):

,                 (40)

где  – число битов циклического сдвига, которое может быть различным в различных раундах алгоритма; в этом случае последовательность  является дополнительным параметром алгоритма.

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

  1.  Алгоритм RC5KFR, в котором число битов сдвига является функцией ключа шифрования KC, т.е. для каждого ключа шифрования число битов сдвига является фиксированным (может быть различным для разных раундов алгоритма) (рис. 5):

,                  (41)

Алгоритм RC5KFR также не является хорошо изученным алгоритмом, однако считается, что во многих случаях (особенно при недостаточно большом количестве раундов) криптоанализ данного варианта алгоритма RC5 сводится к анализу алгоритма RC5PFR, что не внушает уверенности в его стойкости.

Рис. 5. Раунды алгоритмов RC5PFR и RC5KFR

Алгоритм RC5RA, в котором выполняется циклический сдвиг на переменное число битов, определяемое не значением младших  битов другого субблока, а некоей функцией f(), обрабатывающей в качестве входного значения все биты другого субблока:

.                 (42)

И этот вариант алгоритма еще недостаточно изучен, но существует мнение, что алгоритм RC5RA может быть еще сильнее, чем RC5, против известных методов криптоанализа.

На основе алгоритма RC5 в 1998 г. был разработан алгоритм RC6, который также основан на циклических сдвигах на переменное число битов. Подавляющее большинство криптоаналитических исследований алгоритма RC5 могут быть в различной мере применены и к RC6.

2.4 Алгоритм RC6

Алгоритм RC6  был разработан в 1998 г. рядом специалистов научного подразделения известнейшей фирмы RSA Data SecurityRSA Laboratories: Рональдом Ривестом, Мэтом Робшоу, Рэем Сидни и Икван Лайзой Ин специально для участия в конкурсе AES. Алгоритм во многом унаследовал черты предыдущего алгоритма Рональда Ривеста – 64-битного блочного шифра RC5. Фактически алгоритм претерпел два принципиальных изменения:

  •  в отличие от RC5, в алгоритме используется умножение только по модулю ;
  •  для сохранения 32-битных вычислений вместо разбиения шифруемого блока данных (128 битов согласно принципиальному требованию конкурса AES) на два 64-битных субблока выполняется его разбиение на 4 32-битных субблока и их обработка по несколько измененной схеме.

2.4.1 Структура алгоритма

Как и RC5, алгоритм RC6 имеет гибкую структуру: помимо секретного ключа, параметрами являются:

  •  размер слов w; алгоритм RC6 шифрует блоками по 4 слова;
  •  количество раундов R;
  •  размер секретного ключа в байтах b.

Аналогично RC5, для уточнения параметров алгоритма, используемых в его конкретной реализации, применяется обозначение RC6-w/R/b. Поскольку в конкурсе AES 128-битный блок являлся обязательным, значение w фиксировано и равно 32. В спецификации алгоритма зафиксировано также количество раундов: R=20. Поскольку конкурс AES допускал использование ключей трех фиксированных размеров, рассмотрим три следующие варианты алгоритма: RC6-32/20/16, RC6-32/20/24 и RC6-32/30/32, совокупность которых мы и будем иметь далее в виду, говоря об «RC6».

Структура алгоритма приведена на рис.6. В алгоритме используется 20 раундов преобразований, перед которыми выполняется частичное входное отбеливание:

,                                (43)

,                               (44)

где B и D – текущие значения двух из четырех (A, B, C, D) обрабатываемых 32-битных субблоков,

и  – первые два из используемых в алгоритме фрагментов расширенного ключа .

Рис.6. Структура алгоритма RC6

Аналогичным образом выполняется частичное выходное отбеливание:

,                             (45)

.                            (46)

В каждом i-м раунде алгоритма выполняются следующие действия:

,                                      (47)

,                                      (48)

,                        (49)

,                     (50)

где    и  – временные переменные,

количество битов вращения на переменное число битов определяется значением 5 младших битов параметра (  и ),

функция f() выполняет следующее квадратичное преобразование:

.                         (51)

В конце каждого раунда выполняется сдвиг субблоков – рис.6.

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

Рис.7. Расшифровывание алгоритмом RC6

2.4.2 Процедура расширения ключа

Процедура расширения ключа алгоритма RC6 аналогична RC5, за исключением того, что алгоритму RC6 требуется несколько больше сгенерированных подключей, а именно 2R+4, т.е.  для 20 раундов. Рассмотрим данную процедуру для алгоритма RC6 в варианте для конкурса AES, т.е. с указанными выше фиксированными параметрами.

Расширение ключа выполняется в два этапа.

  1.  Инициализация массива расширенных ключей  производится следующим образом:

,                                            (52)

,                                   (53)

где   и  – псевдослучайные константы, образованные путем умножения на  дробной части и последующего округления до ближайшего нечетного целого двух математических констант (e и φ соответственно):

;

.

  1.  Циклически выполняются следующие действия:

,                           (54)

,             (55)

,                                  (56)

,                                  (57)

где i, j, A и B – временные переменные, их начальные значения равны нулю,

KI – исходный ключ шифрования, представленный в виде c 32-битных слов.

Выполняются 3c итераций цикла.

3. Примеры

1. Введем данные, которые необходимо зашифровать, и посмотрим, как данные преобразуются под действием алгоритма RC2 (рис.8-9).

Рис. 8. Входные данные

 

Рис. 9. Преобразование данных под действием алгоритма RC2

2.  Создадим документ и зашифруем его на 8-битном ключе с помощью алгоритма RC2(рис.10-12).

Рис. 10. Создание документа с конфиденциальной информацией

Рис. 11. Ввод ключевых данных

Рис. 12. Зашифрованная информация

3. Проведем анализ зашифрованного сообщения (рис. 13-14).

Рис.13. Криптоанализ зашифрованного сообщения

Рис. 14. Подбор возможных вариантов ключей для расшифровки сообщения

4. Расшифруем зашифрованное сообщение с помощью правильного и неправильного ключа (рис. 15-17).

Рис. 15. Результат расшифровывания с помощью правильного ключа

Рис. 16. Ввод неправильного ключа

Рис. 17. Окно ошибки

5. Этот же документ зашифруем на 24-битном простом ключе с помощью алгоритма RC4 (рис. 18 - 19).

Рис. 18. Ввод простого ключа

Рис. 19. Зашифрованная информация

6. Проведем анализ зашифрованного сообщения (рис. 20-22).

Рис. 20. Криптоанализ зашифрованного сообщения

Рис. 21. Время, требующееся для расшифровки данного сообщения без знания ключа

Рис. 22. Текст сообщения раскрыт

4. Содержание работы

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

1. Создать документ (FileNew) c произвольной информацией и зашифровать его с помощью ключа алгоритмом RC2 (Encrypt/DecryptSymmetric (modern) –RC2),  посмотреть, как выглядит зашифрованная информация в шестнадцатеричной системе счисления и в виде текста. Сохранить документ в зашифрованном виде, удалив при этом исходный.

4. Провести анализ зашифрованного документа, посмотреть параметры анализа алгоритма, оценить, сколько времени займет анализ и результаты анализа(AnalysisSymmetric Encryption (modern) –RC2)). Попробовать провести анализ алгоритма с помощью ключа другой длины, с помощью частично известного ключа и оценить результаты анализа.

5. Попробовать расшифровать сохраненный документ с помощью правильного и неправильного ключа, с помощью ключа другой длины ((Encrypt/DecryptSymmetric (modern) –RC2).

6. Создать новый документ и зашифровать его с помощью простого ключа (например, 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00). Провести анализ данного документа, оценить результаты анализа.

7. Повторить выполненные операции для алгоритма RC4.

8. Попробовать расшифровать сообщение, зашифрованное с помощью алгоритма RC4, алгоритмом RC2, провести анализ зашифрованного сообщения алгоритмом RC2 и наоборот. Сравнить результаты и сделать выводы об отличиях в работе алгоритмов RC2 и RC4.

5. Контрольные вопросы

1. Что такое сеть Фейстеля? Какие действия выполняются в ходе данного алгоритма?

2. В чем состоит отличие работы алгоритмов RC2, RC4, RC5, RC6? Пояснить отличия работы алгоритмов RC2 и RC4 на примере отчета.

3. Объясните, как работают варианты алгоритма RC5, чем они отличаются от самого алгоритма RC5?

4. Как выполняется процедура расширения ключа во всех вышеперечисленных алгоритмах?

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

1. Аграновский А.В, Хади Р.А. Практическая криптография: алгоритмы и их программирование – СПб.: Солон-пресс, 2009. - 256 с.

2. Бернет С., Пэйн С. Криптография. Официальное руководство RSA Security – М.: Бином, 2009. - 384 с.

3. Гашков С.Б., Применко Э.А., Черепнев М.А. Криптографические методы защиты информации: Учебное пособие – М.: Изд. центр «Академия», 2010. - 304 с.

4. Громкович Ю. Теоретическая информатика. Введение в теорию автоматов, теорию вычислимости, теорию сложности, теорию алгоритмов, рандомизацию, теорию связи и криптографию: Учебное пособие – СПб.: БХВ-Петербург, 2010. - 334 с.

5. Музыкантский А.И., Фурин В.В. Лекции по криптографии – М.: МЦНМО, 2010. - 64 с.

6. Панасенко С.П. Алгоритмы шифрования: специальный справочник – СПб.: БХВ-Петербург, 2009. - 576 с.

7. Рябко Б.Я., Фионов А.Н. Основы современной криптографии и стеганографии – М.: Горячая Линия – Телеком, 2010. - 232 с.

8. Фороузан Б.А. Криптография и безопасность сетей – М.: Бином, 2010. - 784 с.

9. Черемушкин А.В. Криптографические протоколы. Основные свойства и уязвимости: Учебное пособие – М.: Изд. центр «Академия», 2009. - 272 с.




1. Казахстанская правда
2. Весилеппис. Этот уникальный комплекс включает в себя гостиницу расширенную и модернизированную в 2004 году
3. О таможенном тарифе
4.  ПРАВОВОЙ АНАЛИЗ ЗАКОНОДАТЕЛЬСТВА О РАБОЧЕЙ НАГРУЗКЕ РУКОВОДИТЕЛЯ ГОССЛУЖАЩЕГО ГЛАВА 2
5. на тему Общая физическая и спортивная подготовка в системе физического воспитания
6. Кейнсианская теория
7. то интересное есть за что покритиковать
8. Wrding orgnistions re the exmintion bords responsible for setting nd wrding secondry eduction level qulifictions such s GCSEs Stndrd Grdes Levels Highers nd voctionl qulifictions to students in
9. тема- когда мать бросает ребёнка
10. стенды средства транспортировки подъемники
11. Реферат- Общие понятия об основах резания древесины
12. темах Существуют 3 основных направления организации параллельной обработки информации
13. Лекция 62. Основы трудового права РФ Рабочее время и время отдыха Дисциплина труда Защита т
14. рабочую таблицу; 2 сводную таблицу и подсчитайте по каждой группе- а частоты и частости;
15. вариантных
16. доклад судьи Верховного Суда Российской Федерации Беспаловой З
17.  Берестейська церковна унія та її наслідки для укр
18. Курсовая работа- Задачи и основные направления деятельности организационно-инспекторских (штабных) аппаратов органов внутренних дел
19. Федерация каратэ по версии Всемирной конфедерации каратэ ________________ В
20. на тему- ldquo;СЕРЦЕ ТА ЙОГО ТОПОГРАФІЯ