IDEA — международен блоков шифър: дефиниция, принцип и история
IDEA — блоков шифър: дефиниция, принцип и история. Разберете 128‑битовия ключ, 8.5 рунда, употреба в PGP и еволюцията на сигурността и уязвимостите.
Международният алгоритъм за шифроване на данни (IDEA) е симетричен блоков шифър, разработен от Сюеджиа Лай и Джеймс Маси от ETH Цюрих през 1991 г. IDEA беше предложен като заместител на стандарта за шифроване на данни и е подобрен вариант на по-ранния шифър Proposed Encryption Standard (PES), поради което понякога се споменава и като IPES (Improved PES). Алгоритъмът комбинира различни алгебрични операции, за да постигне силна защита срещу широко известни методи за криптоанализ.
Основни характеристики
- Блокова дължина: 64 бита (четири 16-битови подблока).
- Дължина на ключа: 128 бита.
- Структура: 8,5 кръга — осем пълни кръга и една финална (полу)трансформация.
- Използвани операции: модулно умножение (по модул 2^16+1), модулно събиране (по модул 2^16) и битово XOR (ексклузивно ИЛИ).
- Брой подключове: 52 (всеки по 16 бита).
Как работи IDEA (принцип на действие)
IDEA разделя 64-битовия блок на четири 16-битови подблока и обработва данните чрез серия от трансформации, които включват паралелни операции върху тези подблокове. Във всеки от осемте кръга се прилагат шест подключа, а в последната полутрансформация — четири. Последователността и комбинацията от трите вида операции (умножение, събиране, XOR) са избрани така, че да създадат силна нелинейност и да затруднят алгебричния анализ.
Генериране на подключове (key schedule)
От 128-битовия главен ключ се извличат последователности от 16-битови подключове. Първите осем подключа се вземат директно от ключа (К1 е най-ниското 16-битово поле, К8 — най-високото). След това ключът се върти наляво с 25 бита, за да се получи следващата група от осем подключа; така се правят общо шест такива завъртания, които генерират всички 52 подключа.
За декриптиране подключовете се преобразуват: тези, използвани за умножение, се заменят с мултипликативните им обратни стойности по модул 2^16+1 (65537), а тези, използвани за събиране, — с адитивните им обратни по модул 2^16 (65536); редът на подключовете също се обръща.
Специфика на аритметиката
Две важни модула се използват в IDEA:
- Модулно събиране по 2^16 (т.е. по 65536) за операциите на добавяне.
- Модулно умножение по 2^16+1 (т.е. по 65537) за операциите на умножение. При тази операция стойността 0x0000 се третира като 2^16 (65536), за да се запази инвертируемостта.
Комбинацията от тези две различни групи операции и допълнителното XOR прави алгебричното моделиране по-трудно и създава желаната „алгебрична несъвместимост“ между различните слоеве на криптирането.
Сигурност и криптоанализ
IDEA притежава добро практическо ниво на сигурност при пълния брой кръгове (8,5). Поради 128-битовия ключ, грубата сила чрез брутен форс е практически невъзможна с наличните изчислителни ресурси. Дизайнерите и независими анализатори са изследвали устойчивостта на IDEA към диференциален криптоанализ и линейен криптоанализ, и въпреки че не са докладвани успешни атаки срещу целия алгоритъм, има резултати за по-слабо защитени, съкратени варианти:
- Намерени са атаки срещу намален брой кръгове (до около 6 кръга според публикации към 2007 г.), но те не засягат пълната 8,5-раундова версия за всички ключове.
- Открити са класове слаби ключове (например от Daemen et al., 1994), но те са много рядко срещани и лесно могат да бъдат избегнати при генериране на ключове.
В практиката IDEA се смята за добре проучен и относително сигурен алгоритъм, макар с течение на времето и напредъка на криптоанализа да са идентифицирани повече методи и резултати върху повърхностни/намалени варианти на шифъра.
Производителност и приложения
IDEA е проектиран да работи ефективно на 16-битови платформи и исторически е бил сравнително бърз на такива машини. В софтуер на 32/64-битови машини мултипликациите по модул 65537 могат да направят реализацията по-бавна в сравнение с по-нови алгоритми, оптимизирани за съвременните архитектури.
IDEA стана популярен след включването му в Pretty Good Privacy (PGP) v2.0, след като се установи, че използваният в v1.0 шифър BassOmatic е уязвим. IDEA може да се използва и със стандарта OpenPGP в съвместими реализации.
Патенти, търговска марка и лицензиране
IDEA беше патентован в редица държави и името „IDEA“ е търговска марка. Авторите предоставяха лиценз за нетърговска употреба, а правата за комерсиално лицензиране бяха управлявани от компанията MediaCrypt. Срокът на действие на патентите беше посочен да изтече през 2010–2011 г.; тези патенти оттогава са изтекли и алгоритъмът вече не е обект на ограничителни патентни права в повечето юрисдикции.
Историческо значение и съвременен статус
Към средата на 1990-те IDEA беше считан за един от най-силните и публично достъпни блокови шифри — например Брус Шнайер го описва като „най-добрият и най-сигурен блоков алгоритъм, достъпен за обществеността“ в Applied Cryptography (2nd ed.). С развитието на AES (избран през 2001 г.) и появата на по-бързи и по-ефективни алгоритми, както и поради издаването на патенти в миналото, интересът към IDEA намаля. Днес IDEA остава исторически значим и все още може да се използва, но за нови проекти обикновено се предпочитат съвременни стандарти като AES, които имат по-широка поддръжка и оптимизация за съвременни хардуерни платформи.
Кратко обобщение: IDEA е добре проучен блоков шифър с 64‑битови блокове и 128‑битов ключ, комбиниращ модулно умножение, модулно събиране и XOR за постигане на сигурност. Въпреки че не е най-бързият съвременен алгоритъм и в миналото имаше лицензионни ограничения, патентите са изтекли и алгоритъмът остава валиден избор при специфични сценарии, особено там, където неговите свойства съвпадат с изискванията на приложението.

Рунд на криптиране на IDEA с шест подключа
Въпроси и отговори
В: Какво представлява Международният алгоритъм за криптиране на данни (IDEA)?
О: IDEA е блоков шифър, разработен от Xuejia Lai и James Massey от ETH Zurich през 1991 г. Той е замислен като заместител на Data Encryption Standard и съдържа серия от осем идентични трансформации (рунда) и една изходна трансформация (полурунд).
В: Как работи IDEA?
О: IDEA работи с 64-битови блокове, като използва 128-битов ключ. Това се прави в рамките на общо 8,5 кръга. Процесите на криптиране и декриптиране са сходни. IDEA постига голяма част от сигурността си чрез преплитане на операции от различни групи - модулно събиране и умножение и битово ексклузивно ИЛИ (XOR) - които са подбрани така, че да бъдат "алгебрично несъвместими". Във всеки от осемте кръга се използват шест подключа, а в полукръга - четири; общо 52 подключа. Всеки подключ е с дължина 16 бита.
В: Патентована ли е IDEA?
О: Да, тя е патентована в няколко държави, но може да се използва от всеки за некомерсиална употреба. Името "IDEA" също е защитено с търговска марка, като патентите изтичат през 2010-2011 г. Днес то е лицензирано в световен мащаб от MediaCrypt.
Въпрос: Използвана ли е IDEA в програмата Pretty Good Privacy (PGP)?
О: Да, тя беше използвана в PGP v2, след като беше установено, че BassOmatic - шифърът, използван в v1 - може да бъде разбит. Днес той може да се използва и със стандарта OpenPGP.
В: Съобщавано ли е за успешни атаки срещу IDEA?
О: Все още не е докладвано за успешни линейни или диференциални атаки срещу него; въпреки това са открити някои класове слаби ключове, но те са толкова редки, че могат лесно да бъдат избегнати при сигурно използване на алгоритъма. Към 2007 г. най-добрата атака, която се прилага за всички ключове, може да разбие IDEA, ако се намали до 6 кръга (пълната версия използва 8).
Въпрос: Какво казва Брус Шнайер за IDEA?
О: През 1996 г. той пише, че това е "най-добрият и най-сигурен блоков алгоритъм", наличен по онова време; към 1999 г. обаче той вече не го препоръчва поради наличието на по-бързи алгоритми, както и поради известен напредък в криптоанализа му и патентни въпроси, свързани с използването му.
обискирам