IDEA (англ. International Data Encryption Algorithm, международный алгоритм шифрования данных) — симметричный блочный алгоритм шифрования данных

Работа добавлена:



Если Вы нашли нужный Вам реферат или просто понравилась коллекция рефератов напишите о Нас в любой соц сети с помощью кнопок ниже





IDEA (англ. International Data Encryption Algorithm, международный алгоритм шифрования данных) — симметричный блочный алгоритм шифрования данных на http://mirrorref.ru

54. IDEA (англ. International Data Encryption Algorithm, международный алгоритм шифрования данных) — симметричный блочный алгоритм шифрования данных, запатентованный швейцарской фирмой Ascom. Известен тем, что применялся в пакете программ шифрования PGP. В ноябре 2000 года IDEA был представлен в качестве кандидата в проекте NESSIE в рамках программы Европейской комиссии IST (англ. Information Societes Technology, информационные общественные технологии).

Так как IDEA использует 128-битный ключ и 64-битный размер блока, открытый текст разбивается на блоки по 64 бит. Если такое разбиение невозможно, используются различные режимы шифрования. Каждый исходный незашифрованный 64-битный блок делится на четыре подблока по 16 бит каждый, так как все алгебраические операции, использующиеся в процессе шифрования, совершаются над 16-битными числами. Для шифрования и расшифрования IDEA использует один и тот же алгоритм.

Используемые обозначения операций показаны на рис.4:

Рис.4 – Обозначение операций

Фундаментальным нововведением в алгоритме является использование операций из разных алгебраических групп, а именно:

  • Сложение по модулю 216
  • Умножение по модулю 216 + 1
  • Побитовое исключающее ИЛИ (XOR).

Эти три операции несовместимы в том смысле, что:

  1. Никакие две из них не удовлетворяют дистрибутивному закону, то есть

                  (1.1)

  1. Никакие две из них не удовлетворяют ассоциативному закону, то есть

                         (1.2)

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

Из 128-битного ключа для каждого из восьми раундов шифрования генерируется по шесть 16-битных подключей, а для выходного преобразования генерируется четыре 16-битных подключа. Всего потребуется 52 = 8 x 6 + 4 различных подключей по 16 бит каждый. Процесс генерации пятидесяти двух 16-битных ключей заключается в следующем:

Первым делом, 128-битный ключ разбивается на восемь 16-битных блоков. Это будут первые восемь подключей по 16 бит каждый —

Затем этот 128-битный ключ циклически сдвигается влево на 25 позиций, после чего новый 128-битный блок снова разбивается на восемь 16-битных блоков. Это уже следующие восемь подключей по 16 бит каждый —

Процедура циклического сдвига и разбивки на блоки продолжается до тех пор, пока не будут сгенерированы все 52 16-битных подключа.

Таблица подключей для каждого раунда показана на рис.5:

Структура алгоритма IDEA показана на рис.6:

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

Процесс шифрования состоит из восьми одинаковых раундов шифрования и одного выходного преобразования. Исходный незашифрованный текст делится на блоки по 64 бита. Каждый такой блок делится на четыре подблока по 16 бит каждый. На рис.6 эти подблоки обозначены D1, D2, D3, D4. В каждом раунде используются свои подключи согласно таблице подключей (рис.5). Над 16-битными подключами и подблоками незашифрованного текста производятся следующие операции:

  • Умножение по модулю 216 + 1 = 65537, причем вместо нуля используется 216
  • Сложение по модулю 216
  • Побитовое исключающее ИЛИ

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

  • Умножение по модулю 216 + 1
  • Сложение по модулю 216

После выполнения выходного преобразования конкатенация подблоков D1', D2', D3' и D4' представляет собой зашифрованный текст. Затем берется следующий 64-битный блок незашифрованного текста и алгоритм шифрования повторяется. Так продолжается до тех пор, пока не зашифруются все 64-битные блоки исходного текста.

Блок открытого текста размером 64 бит делится на четыре равных подблока размером по 16 бит

                                                               (1.3)

Метод вычисления, использующийся для расшифровки текста по существу такой же, как и при его шифровании. Единственное отличие состоит в том, что для расшифровки используются другие подключи. В процессе расшифровки подключи должны использоваться в обратном порядке, показаны на рис.7:

Рис.7 – Таблица подключей для расшифровки

Первый и четвёртый подключи i-го раунда расшифровки получаются из первого и четвёртого подключа (10-i)-го раунда шифрования мультипликативной инверсией. Для 1-го и 9-го раундов второй и третий подключи расшифровки получаются из второго и третьего подключей 9-го и 1-го раундов шифрования аддитивной инверсией. Для раундов со 2-го по 8-й второй и третий подключи расшифровки получаются из третьего и второго подключей с 8-го по 2-й раундов шифрования аддитивной инверсией. Последние два подключа i-го раунда расшифровки равны последним двум подключам (9-i)-го раунда шифрования.

Мультипликативная инверсия подключа K обозначается 1/K и

               (1.20)

Так как 216 + 1 — простое число, каждое целое не равное нулю K имеет уникальную мультипликативную инверсию по модулю 216 + 1. Аддитивная инверсия подключа K обозначается -K и

                      (1.21)

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

IDEA (англ. International Data Encryption Algorithm, международный алгоритм шифрования данных) — симметричный блочный алгоритм шифрования данных на http://mirrorref.ru


Похожие рефераты, которые будут Вам интерестны.

1. Advanced Encryption Standard (AES) -Алгоритм Rijndael

2. АЛГОРИТМ БАЗОВОГО АНАЛИЗА ДАННЫХ СОЦИОЛОГИЧЕСКОГО ОПРОСА В ПРОГРАММЕ MS EXCEL

3. Алгоритм для определения формы закона распределения вероятности на основании массива данных

4. Алгоритм жазу жолдарымен құрылымымен таныстыру. Алгоритм құруға үйрету

5. Алгоритм Прямого поиска. Алгоритм Бойера-Мура

6. Алгоритм стиснення з втратами. Фрактальний алгоритм

7. Табличные базы данных (БД): основные понятия (поле, запись, первичный ключ записи); типы данных. Системы управления базами данных и принципы работы с ними. Поиск, удаление и сортировка данных в БД

8. Режимы тройного шифрования из 23

9. Введение в банки данных: определение, преимущества, предпосылки широкого использования. Требования к банкам данных. Компоненты банка данных и пользователи банка данных

10. Классификация методов шифрования информации