IDEA (inglizcha International Data Encryption Algorithm, xalqaro maʼlumotlarni shifrlash algoritmi) — Shveytsariyaning Ascom kompaniyasi tomonidan patentlangan simmetrik blokli maʼlumotlarni shifrlash algoritmi. PGP shifrlash dasturlari paketida va uning bepul alternativi GnuPGda qo'llanilishi bilan tanilgan. 2000 yil noyabr oyida IDEA Yevropa Komissiyasining IST (Axborot jamiyati texnologiyalari) doiraviy dasturi doirasida NESSIE loyihasida nomzod sifatida taqdim etildi.
Tavsif
Masalan, IDEA 128 bitli kalit va 64 bitli blokdan foydalanadi va ochiq matn 64 bitli blokga bo'linadi. Agar bunday qismlarga ajratish mumkin bo'lmasa, turli xil shifrlash rejimlari qo'llaniladi. Har bir asl shifrlanmagan 64 bitli blok har biri 16 bitli to'rtta kichik blokga bo'linadi, shuning uchun shifrlash jarayonida ishlatiladigan barcha algebraik operatsiyalar 16 bitli raqamlarda amalga oshiriladi. IDEA shifrlash va shifrni ochish uchun bir xil algoritmdan foydalanadi.Algoritmdagi asosiy yangilik turli algebraik guruhlardagi operatsiyalardan foydalanishdir, xususan:
qo'shimcha modul 216ko'paytirish moduli 216 + 1Bitli XOR (XOR).Ushbu uchta operatsiya bir-biriga mos kelmaydi va mutlaqo ma'nosizdir, chunki:Ulardan ikkitasi taqsimot qonunini qondirmaydiUlardan ikkitasi assotsiativ qonunni qondirmaydi
IDEA algoritmining tuzilishi rasmda ko'rsatilgan
Tavsif
Shifrlash jarayoni sakkizta bir xil shifrlash bosqichidan va bitta chiqish transformatsiyasidan iborat. Asl ochiq matn 64 bitli bloklarga bo'lingan. Har bir bunday blok har biri 16 bitli to'rtta subblokga bo'linadi. Rasmda bu subbloklar D1, D2, D3, D4 deb belgilangan. Har bir tur pastki kalitlar jadvaliga muvofiq o'zining pastki kalitlaridan foydalanadi. 16-bitli pastki kalitlar va ochiq matnli pastki bloklarda quyidagi operatsiyalar bajariladi:
ko'paytirish moduli 216 + 1 = 65537, nol o'rniga 216qo'shimcha modul 216bitli XOR
Har bir shifrlash bosqichining oxirida to'rtta 16 bitli subbloklar mavjud bo'lib, ular keyingi shifrlash bosqichi uchun kirish subbloklari sifatida ishlatiladi. Chiqish konvertatsiyasi qisqartirilgan davrdir, ya'ni sakkizinchi turning chiqishidagi to'rtta 16 bitli kichik bloklar va to'rtta mos keladigan kichik bloklar operatsiyalarga duchor bo'ladi:
ko'paytirish moduli 216 + 1qo'shimcha modul 216Chiqish transformatsiyasini amalga oshirgandan so'ng, D1', D2', D3' va D4' subbloklarining konkatatsiyasi shifrlangan matn hisoblanadi. Keyin oddiy matnning keyingi 64 bitli bloki olinadi va shifrlash algoritmi takrorlanadi. Bu asl matnning barcha 64 bitli bloklari shifrlanmaguncha davom etadi.
ko'paytirish moduli 216 + 1qo'shimcha modul 216Chiqish transformatsiyasini amalga oshirgandan so'ng, D1', D2', D3' va D4' subbloklarining konkatatsiyasi shifrlangan matn hisoblanadi. Keyin oddiy matnning keyingi 64 bitli bloki olinadi va shifrlash algoritmi takrorlanadi. Bu asl matnning barcha 64 bitli bloklari shifrlanmaguncha davom etadi.