Алгоритм IDEA (International Data Encryption Algorithm) – это асимметричный алгоритм блочного шифрования с использованием 64-битного блока данных и 128-битного ключа, IDEA был разработан в 1991 году. Известен тем, что применялся в пакете программ шифрования PGP. В ноябре 2000 года IDEA был представлен в качестве кандидата в проекте NESSIE в рамках программы Европейской комиссии IST (англ. Information Societies Technology, информационные общественные технологии).
Шаги алгоритма IDEA:
1. Разделение данных на блоки: исходное сообщение разделяется на блоки по 64 бита.
2. Расширение ключа: 128-битный ключ разделяется на 52 16-битных подключа. Для этого применяется алгоритм расширения ключа, который включает в себя циклический сдвиг ключа влево, а также применение нескольких преобразований.
3. Раунды шифрования: IDEA состоит из 8 раундов, каждый из которых включает в себя несколько этапов.
– Сложение субключа: текущий блок данных объединяется с подключом.
– Преобразование замены: каждый блок данных заменяется на другой, с использованием таблицы замены, заданной в алгоритме IDEA.
– Смешивание данных: блок данных разделяется на 4 части, каждая из которых проходит через сдвигы и логические операции.
– Раундовый ключ: каждый раунд использует уникальный раундовый ключ, который получается из подключа.
4. Финальное преобразование: на последнем раунде не выполняется преобразование замены, а выполняется только смешивание данных.
5. Объединение блоков: зашифрованные блоки данных объединяются в итоговое зашифрованное сообщение.
Алгоритм IDEA достаточно надежен и стойк к различным типам атак, однако существуют более современные и эффективные алгоритмы, такие как AES (Advanced Encryption Standard).