Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Защита Информации - шпоры.docx
Скачиваний:
22
Добавлен:
22.09.2019
Размер:
1.73 Mб
Скачать
  1. Алгоритм шифрования idea, основные отличия от des

Алгоритм шифрования IDEA является блочным шифром и оперирует 64-битовыми блоками открытого текста.

Достоинством алгоритма IDEA является использование 128-битового ключа. Один и тот же алгоритм используется для шифрования и дешифрования.

Алгоритм IDEA использует при шифровании процессы смешивания и рассеивания, которые хорошо реализуются аппаратными и программными методами.

В алгоритме используются следующие математические операции:

  1. Поразрядное сложение по модулю 2

(исключающее ИЛИ, обозначается (+) )

  1. Сложение беззнаковых целых по модулю 2^16( [+] )

  1. Умножение беззнаковых целых по модулю 2^16 +1 (.)

Все операции выполняются над 16-битовыми субблоками.

Эти 3 операции несовместимы в том случае, что никакая пара из этих 3х операций не удовлетворяет ассоциативному закону.

a[+](b(+)c) != (a[+]b)(+)с

Никакая пара не удовлетворяет дистрибутивному закону

a[+](b(.)c) != (a(+)b)(.)(a[+]c)

Использование этих 3х операций обеспечивают комплексное преобразование входных данных, существенно затрудняя криптоанализ IDEA по сравнению с DES, который использует только операции исключающее ИЛИ.

Входной 64-битный текст делится на 4 16-битовых блока. Эти 4 субблока становятся входами в 1ый цикл алгоритма. Всего выполняется 8 циклов. Между циклами 2ой и 3ий блоки меняются местами.

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

  1. – умножение субблока x1 и 1го подключа (Z)

2 – сложение субблока x2 и второго подключа

3 – сложение субблока x3 и 3го подключа

4 – умножение субблока 4 и 4го подключа

5 – сложение результатов шагов 1 и 3

6 – сложение результатов шагов 2 и 4

7 - умножение 5го подключа и результатов 5го шага

Всего 14 шагов.

Выходом являются 4 субблока, которые получаются как результат выполнения шагом 11,12,13,14.

В завершении цикла 2ой и 3ий субблоки меняются местами, за исключением последнего цикла.

После 8го цикла осуществляется заключительное формирование выхода.

Полученные субблоки y1,y2,y3,y4 объединяются в блок шифра текста (64битный).

Алгоритм создания поключей.

Алгоритм использует всего 52 подключа, по 6 для каждого из 8 циклов, и 4 для преобразования выхода.

Сначала 128битовый ключ делится на 8 16-битовых подключей. Это первые 8 подключей для алгоритма. 6 подключей для 1го цикла, и 2 для второго. Далее 128 битовый ключ циклически сдвигается влево на 25 бит и снова делится на 8 подключей (4 для 2го цикла, и 4 для 3го). Дешифрование осуществляется аналогичным образом, но в обратном порядке. И порядок использования ключей тоже становится обратным.

Преимущество по сравнению с DES:

- значительно безопаснее DES, так как 128 битовый ключ больше ключа DES.

- внутренняя структура обеспечивает лучшую устойчивость к криптоанализу.

- существующие программные реализации примерно вдвое быстрее DES

  1. Основные режимы шифрования гост 28147-89 и его особенности

В России в качестве стандарта на блочные алгоритмы шифрования закрытым ключом был принят ГОСТ в 1989 году.

Построен по тем же принципам, что и DES, но удобнее для программной реализации. В отличие от DES используется более длинный ключ (256 бит) и использует 32 раунда шифрования в отличие от 16 у DES. Алгоритм представляет собой классическую сеть Фейштеля.

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

Такая структура позволяет использовать один и тот же алгоритм как для шифрования, так и для дешифрования.

В алгоритме шифрования используются следующие операции:

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

- замена по таблице

- циклический сдвиг влево

- и снова побитовое сложение по модулю 2.

Шифруемый блок разбивается на 2 части, которые затем обрабатываются как отдельные 32-битовые целые числа без знака.

Правая половина и подключ соответствующего раунда складываются по модулю 2. Затем осуществляется поблочная подстановка. 32-битовое значение интерпретируется как массив из 8 4-битовых блоков. Далее значения каждого из 8и блоков заменяется на новое по таблице замены. В качестве замены для значения блока выбирается элемент с номером строки равный номеру занимаемого блока и номером столбца равным значению заменяемого блока как 4х-битового целого числа.

После выполнения подстановки все 4х-битовые блоки снова объединяются в единое 32 битовое число, которое сдвигается на 12 бит влево и складывается по модулю 2 с левой частью. И из этого получается новая часть правого блока. Левая же часть берется равной младшей части предыдущего блока. Таких раундов 32.

Процесс создания ключей

256-битовый ключ разбивается на 8 32-битных. К0, К1…К7. Алгоритм включает 32 раунда, поэтому каждый подключ используется 4 раза в последовательности, определяемой соответствующей таблицей.

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