Приветствую Вас Гость | RSS

Суббота, 29.06.2024, 07:49
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
18. Алгоритм IDEA
BlofeldДата: Суббота, 16.01.2010, 15:42 | Сообщение # 1
Местный копирайтер
Группа: Администраторы
Сообщений: 583
Репутация: 2012
Статус: Offline
IDEA (International Data Encryption Algorithm) является блочным симметричным алгоритмом шифрования, является одним из нескольких симметричных криптографических алгоритмов, которыми первоначально предполагалось заменить DES.

Сюдзя Лай (Xuejia Lai) и Джеймс Массей (James Massey) из швейцарского федерального института технологий. Первоначальная версия была опубликована в 1990 году. Пересмотренная версия алгоритма, усиленная средствами защиты от дифференциальных криптографических атак, была представлена в 1991 году и подробно описана в 1992 году.

Принципы разработки IDEA является блочным алгоритмом, который использует 128-битовый ключ для шифрования данных блоками по 64 бита. Целью разработки IDEA было создание относительно стойкого криптографического алгоритма с достаточно простой реализацией. Следующие характеристики IDEA характеризуют его криптографическую стойкость:
1. Длина блока: длина блока должна быть достаточной, чтобы скрыть все статистические характеристики исходного сообщения. С другой стороны, сложность реализации криптографической функции возрастает экспоненциально в соответствии с размером блока. Использование блока размером в 64 бита в 90-е годы означало достаточную силу. Более того, использование режима шифрования СВС говорит о дальнейшем усилении этого аспекта алгоритма.
2. Длина ключа: длина ключа должна быть достаточно большой для того, чтобы предотвратить возможность простого перебора ключа. При длине ключа 128 бит IDEA считается достаточно безопасным.
3. Конфузия: зашифрованный текст должен зависеть от ключа сложным и запутанным способом.
4. Диффузия: каждый бит незашифрованного текста должен влиять на каждый бит зашифрованного текста. IDEA с этой точки зрения является очень эффективным алгоритмом.

В IDEA два последних пункта выполняются с помощью трех операций. Это отличает его от DES, где все постороено на использовании операции XOR и маленьких нелинейных S-boxes.
1. Побитовое XOR, обозначаемое как
2. Сумма целых по модулю (по модулю 65536), при этом входы и выходы трактуются как беззнаковые 16-битные целые. Эту операцию обозначим как +.
3. Умножение целых по модулю + 1 (по модулю 65537), при этом входы и выходы трактуются как беззнаковые 16-битные целые, за исключением того, что блок из одних нулей трактуется как . Эту операцию обозначим как •.

Шифрование
Рассмотрим общую схему шифрования IDEA. Как и в любом алгоритме шифрования, здесь существует два входа: незашифрованный блок и ключ. В данном случае незашифрованный блок имеет длину 64 бита, ключ имеет длину 128 бит.

Алгоритм IDEA состоит из восьми раундов, за которыми следует заключительное преобразование. Алгоритм разделяет блок на четыре 16-битных подблока. Каждый раунд получает на входе четыре 16-битных подблока и создает четыре 16-битных выходных подблока. Заключительное преобразование также получает на входе четыре 16-битных подблока и создает четыре 16-битных подблока. Каждый раунд использует шесть 16-битных ключей, заключительное преобразование использует четыре подключа, т.е. всего в алгоритме используется 52 подключа.

Дешифрование
Процесс дешифрования аналогичен процессу шифрования. Дешифрование состоит в использовании зашифрованного текста в качестве входа в ту же самую структуру IDEA, но с другим набором ключей. Дешифрующие ключи U1, . . . , U52 получаются из шифрующих ключей следующим образом:
1. Первые четыре подключа i-ого раунда дешифрования получаются из первых четырех подключей (10-i)-го раунда шифрования, где стадия заключительного преобразования считается 9-м раундом. Первый и четвертый ключи дешифрования эквивалентны мультипликативной инверсии по модулю ( + 1) соответствующих первого и четвертого подключей шифрования. Для раундов со 2 по 8 второй и третий подключи дешифрования эквивалентны аддитивной инверсии по модулю () соответствующих третьего и второго подключей шифрования. Для раундов 1 и 9 второй и третий подключи дешифрования эквивалентны аддитивной инверсии по модулю () соответствующих второго и третьего подключей шифрования.
2. Для первых восьми раундов последние два подключа i раунда дешифрования эквивалентны последним двум подключам (9 - i) раунда шифрования.

 
  • Страница 1 из 1
  • 1
Поиск: