Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛР4-5_МО417_МСЗИ_ИбрагимоваК_РахимоваА_СтепановаД_ШакировА.docx
Скачиваний:
10
Добавлен:
14.09.2022
Размер:
3.1 Mб
Скачать

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

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

Сеть Фейстеля – один из методов построения стойких блочных шифров, в ходе которого производятся многократные преобраз

зависящей от ключа каждой итерации. Общая структура алгоритма такова:

  1. Выполняется 5 смешивающих раундов.

  2. Выполняется 1 объединяющий раунд.

  3. Выполняются 6 смешивающих раундов.

  4. Выполняется 1 объединяющий раунд.

  5. Выполняется 5 смешивающих раундов.

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

  • RC2 – блочный шифр и возможность использования вместо DES;

  • RC4 – потоковый шифр и работает в 10 раз быстрее чем DES; (единственный предоставленный потоковый шифр); отсутствует процедура расширения ключа;

  • RC5 – использование нескольких переменных (помимо секретного ключа): размер слова w (в битах); количество раундов алгоритма R; размер секретного ключа в байтах b;

  • RC6 – используется умножение только по модулю 232; разбиение шифруемого блока данных на 4 32-битных субблока.

Стоит отметить, что анализ сообщения с алгоритмом RC4 происходит быстрее, чем RC2.

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

Все варианты алгоритма RC5 работают подобно ему самому за исключением следующих отличий:

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

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

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

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

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

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

RC2:

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

    L0 = КI0,

    (14)

    LT-1= КIT-1,

    (15)

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

Т8=(Т1+7)/8, (16)

ТМ = 255 mod 2(8+T1-8*T8) (17)

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

= P( mod 256), (18)

  1. Вычисляется L128-T8: L128-T8=P(L128-T8 &TM).

  2. В цикле i от 127-T8 до 0 выполняется следующее действие: Li = P( ),

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

Ki = ,

RC5:

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

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

(37)

(38)

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

(39)

(40)

RC6:

  1. Инициализация массива расширенных ключей K0,,.K43 производится следующим образом: K0=P32 , Ki+1=Ki+ Q32.

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

, (58)

, (59)

(60)

. (61)

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

Вывод

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