АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Алгоритм шифрования данных IDEA

Читайте также:
  1. XII. ЭЛЕМЕНТЫ ТЕОРИИ АЛГОРИТМОВ
  2. Абстрактные структуры данных
  3. Автоматизированная система обработки данных правовой статистики
  4. Авторское право - правовое положение авторов и созданных их творческим трудом произведений литературы, науки и искусства.
  5. Алгоритм
  6. Алгоритм MD4
  7. Алгоритм RC6
  8. Алгоритм RSA
  9. Алгоритм Брезенхема для окружности
  10. Алгоритм Брезенхема.
  11. Алгоритм взятия мазка из носа и зева.
  12. Алгоритм вибіркового методу

Алгоритм IDEA (International Data Encryption Algorithm) является блочным шифром. Он оперирует 64-битовыми блоками открытого текста. Несомненным достоинством алгоритма IDEA является то, что его ключ имеет длину 128 бит. Один и тот же алгоритм используется и для шифрования, и для расшифрования.

Первая версия алгоритма IDEA была предложена в 1990 г., ее авторы – Х.Лей и Дж.Мэсси. Первоначальное название алгоритма PES (Proposed Encryption Standard). Улучшенный вариант этого алгоритма, разработанный в 1991 г., получил название IPES (Improved Proposed Encryption Standard). В 1992 г. IPES изменил свое имя на IDEA. Как и большинство других блочных шифров, алгоритм IDEA использует при шифровании процессы смешивания и рассеивания, причем все процессы легко реализуются аппаратными и программными средствами.

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

- поразрядное сложение по модулю 2 (операция "исключающее ИЛИ"); операция обозначается как ;

- сложение беззнаковых целых по модулю 216 (модуль 65536); операция обозначается как

- умножение целы по модулю (216+1) (модуль 65537), рассматриваемых как беззнаковые целые, за исключением того, что блок из 16 нулей рассматривается как 216; операция обозначается как.

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

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

Общая схема алгоритма IDEA приведена на рисунке 5.5. 64-битовый блок данных делится на четыре 16-битовых субблока. Эти четыре субблока становятся входом в первый цикл алгоритма. Всего выполняется восемь циклов. Между циклами второй и третий субблоки меняются местами. В каждом цикле имеет место следующая последовательность операций:

(1) умножение субблока Х1 и первого подключа.
(2) сложение субблока Х2 и второго подключа.
(3) сложение субблока Х3 и третьего подключа.
(4) умножение субблока Х4 и четвертого подключа.
(5) сложение результатов шагов (1) и (3).
(6) сложение результатов шагов (2) и (4).
(7) умножение результата шага (5) и пятого подключа.
(8) сложение результатов шагов (6) и (7).
(9) умножение результата шага (8) с шестым подключом.
(10) сложение результатов шагов (7) и (9).
(11) сложение результатов шагов (1) и (9).
(12) сложение результатов шагов (3) и (9).
(13) сложение результатов шагов (2) и (10).
(14) сложение результатов шагов (4) и (10).

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

 

Обозначения:

Xi – 16-битовый субблок открытого текста, i= 1…4

Yi – 16-битовый субблок шифртекста, i= 1…4

Zj(r) – 16-битовый подключ (субблок ключа), j= 1…6, r= 1…8

– поразрядное суммирование по модулю 2 16-битовых субблоков

– сложение по модулю 216 16-битовых целых

– умножение по модулю 216 16-битовых целых (с нулевым субблоком, соответствующим 216)

Рисунок 5.5 – Схема алгоритма IDEA (режим шифрования)

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

(1) умножение субблока Х1 и первого подключа.
(2) сложение субблока Х2 и второго подключа.
(3) сложение субблока Х3 и третьего подключа.
(4) умножение субблока Х4 и четвертого подключа.

Наконец, эти результирующие четыре субблока Y1…Y4 вновь объединяют для получения блока шифртекста.

Создание подключей Zj также относительно несложно. Алгоритм использует всего 52 подключа (по шесть для каждого из восьми циклов и еще четыре для преобразования выхода). Сначала 128-битовый ключ делят на восемь 16-битовых подключей. Это – первые восемь подключей для алгоритма (шесть подключей – для первого цикла и первые два подключа – для второго цикла). Затем 128-битовый ключ циклически сдвигается влево на 25 бит и снова делится на восемь подключей. Первые четыре из них используют во втором цикле; последние четыре – в третьем цикле. Ключ снова циклически сдвигается влево еще на 25 бит для получения следующих восьми подключей и т.д., пока выполнение алгоритма не завершится.

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

Для реализации алгоритма IDEA было принято предположение, что нулевой субблок равен 216= –1; при этом мультипликативная обратная величина от 0 равна 0 [121]. Вычисление значений мультипликативных обратных величин требует некоторых затрат, но это приходится делать только один раз для каждого ключа расшифрования.

Алгоритм IDEA может работать в любом режиме блочного шифра, предусмотренном для алгоритма DES. Алгоритм IDEA обладает рядом преимуществ перед алгоритмом DES. Он значительно безопаснее алгоритма DES, поскольку 128-битовый ключ алгоритма IDEA вдвое больше ключа DES. Внутренняя структура алгоритма IDEA обеспечивает лучшую устойчивость к криптоанализу. Существующие программные реализации алгоритма IDEA примерно вдвое быстрее реализаций алгоритма DES.

Таблица 5.1 -Подключи шифрования и расшифрования алгоритма IDEA

Цикл Подключи шифрования Подключи расшифрования
  Z1(1) Z2(1) Z3(1) Z4(1) Z5(1) Z6(1) Z1(9)–1 –Z2(9) –Z3(9) Z4(9)–1 Z5(8) Z6(8)
  Z1(2) Z2(2) Z3(2) Z4(2) Z5(2) Z6(2) Z1(8)–1 –Z3(8) –Z2(8) Z4(8)–1 Z5(7) Z6(7)
  Z1(3) Z2(3) Z3(3) Z4(3) Z5(3) Z6(3) Z1(7)–1 –Z3(7) –Z2(7) Z4(7)–1 Z5(6) Z6(6)
  Z1(4) Z2(4) Z3(4) Z4(4) Z5(4) Z6(4) Z1(6)–1 –Z3(6) –Z2(6) Z4(6)–1 Z5(5) Z6(5)
  Z1(5) Z2(5) Z3(5) Z4(5) Z5(5) Z6(5) Z1(5)–1 –Z3(5) –Z2(5) Z4(5)–1 Z5(4) Z6(4)
  Z1(6) Z2(6) Z3(6) Z4(6) Z5(6) Z6(6) Z1(4)–1 –Z3(4) –Z2(4) Z4(4)–1 Z5(3) Z6(3)
  Z1(7) Z2(7) Z3(7) Z4(7) Z5(7) Z6(7) Z1(3)–1 –Z3(3) –Z2(3) Z4(3)–1 Z5(2) Z6(2)
  Z1(8) Z2(8) Z3(8) Z4(8) Z5(8) Z6(8) Z1(2)–1 –Z3(2) –Z2(2) Z4(2)–1 Z5(1) Z6(1)
Преобразование выхода Z1(9) Z2(9) Z3(9) Z4(9) Z1(1)–1 –Z2(1) –Z3(1) Z4(1)–1

Алгоритм IDEA шифрует данные на IBM PC/486 со скоростью 2,4 Мбит/с. Реализация IDEA на СБИС шифрует данные со скоростью 177 Мбит/с при частоте 25 Мгц. Алгоритм IDEA запатентован в Европе и США.


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.004 сек.)