IDEA — starptautiskais datu šifrēšanas bloka šifrs: definīcija un apraksts

IDEA — 1991. gada starptautiskais bloka šifrs: definīcija, darbība, 128 bitu atslēga, 64 bitu bloki, izmantošana PGP, drošības analīze un vēsture.

Autors: Leandro Alegsa

Starptautiskais datu šifrēšanas algoritms (IDEA) kriptogrāfijā ir bloka šifrs, ko 1991. gadā izstrādāja Xuejia Lai un James Massey no Cīrihes ETH. To izstrādāja kā iespējamā datu šifrēšanas standarta aizstājēju. IDEA ir tuvs agrākajam šifram, ko sauca par Proposed Encryption Standard (PES), taču satur vairākus uzlabojumus, un sākotnēji to dēvēja par IPES (uzlaboto PES).

Šis šifrs bija patentēts vairākās valstīs, taču patentu darbības termiņš beidzās ap 2010.–2011. gadu, tāpēc IDEA kopš tā laika var izmantot brīvāk. Nosaukums "IDEA" bija arī preču zīme. Agrāk, pirms patentu derīguma termiņa beigām, vispasaules licenci IDEA izsniedza uzņēmums MediaCrypt.

IDEA tika plaši izmantots programmatūrā Pretty Good Privacy (PGP) v2.0, jo v1.0 versijā izmantotais šifrs BassOmatic tika uzlaužams. IDEA ir izmantojams arī ar OpenPGP standartu, un tas ilgstoši bija populārs zinātniskajos pētījumos un komerciālās lietojumprogrammās.

Dizains un darbības princips

IDEA darbojas ar 64 bitu blokiem, izmantojot 128 bitu atslēgu. Katra 64 bitu bloka izeja tiek apstrādāta kā četri 16 bitu vārdi. Šifrā ir astoņas identiskas apgrieztas transformācijas (kārtas) un viena izejas transformācija (puskārta); kopā tas veido 8,5 raundus. Šifrēšanas un atšifrēšanas procesi ir strukturāli līdzīgi, taču atšifrēšanai apakšatslēgas tiek aizstātas ar atbilstošām inversajām vērtībām un ievietotas apgrieztā secībā.

IDEA drošības pamatā ir trīs dažādu grupu operāciju savstarpēja sasaistīšana: modulārā reizināšana (modulo 2^16+1), modulārā saskaitīšana (modulo 2^16) un bitu ekskluzīvais OR (XOR). Šīs operācijas ir izvēlētas kā algebriski nesavienojamas, kas apgrūtina vienkāršu algebraisku uzbrukumu izveidi.

Katrs IDEA raunds izmanto sešas apakšatslēgas, puskārta — četras, kopā 52 apakšatslēgas. Katra apakšatslēga ir 16 bitu gara. Pirmās astoņas apakšatslēgas tiek iegūtas tieši no 128 bitu atslēgas — K1 ir zemākie sešpadsmit biti, K8 ir augstākie sešpadsmit biti. Nākamās apakšatslēgas tiek ģenerētas, veicot galvenās atslēgas rotāciju pa kreisi par 25 bitiem pēc katras grupas izveides; pārvietojot galveno atslēgu sešas reizes, var iegūt visas nepieciešamās apakšatslēgas.

Tehniskas detaļas

  • Modulārā reizināšana: reizināšana tiek veikta modulo 2^16+1 (65537), kur speciāli tiek traktēta vērtība 0 kā 65536, lai nodrošinātu bijekciju uz 16 bitu vārdiem.
  • Modulārā saskaitīšana: saskaitīšana notiek modulo 2^16 (65536), parastos 16 bitu vārtus apvelkot atpakaļ uz intervālu 0..65535.
  • XOR (izslēdzošais OR): loģiskā operācija, kas darbojas bitu līmenī un nodrošina līdzekli, kā savienot modulārās operācijas.
  • Atšifrēšana: atšifrēšanai izmanto multiplikatīvo inversu un additīvo inversu apakšatslēgām, kā arī apgrieztu apakšatslēgu secību, lai atgrieztu sākotnējo bloku.

Drošība un kriptoanalīze

Dizaineri un neatkarīgi pētnieki analizēja IDEA, lai novērtētu tās izturību pret diferenciālo kriptoanalīzi un citiem uzbrukumu veidiem. Kopumā IDEA tiek uzskatīta par labi izstrādātu: nav ziņots par praktiski izmantojamiem lineāriem vai diferenciāliem uzbrukumiem pret pilno 8,5 raundu versiju. Tomēr pētījumos ir identificētas dažas vājas atslēgas klases (piem., (Daemen et al., 1994)), taču tās ir ārkārtīgi retos gadījumos un to ietekme praksē ir maza.

No 2007. gada labākais vispārējais uzbrukums spēj salauzt IDEA samazinātu versiju līdz 6 raundiem, kas joprojām atstāj pilno IDE A (8,5 raundi) neiekļautu. Tā kā IDE A izmanto 64 bitu blokus, modernās drošības prasībās pastāv arī citi apsvērumi: 64 bitu bloka izmērs ir salīdzinoši mazs un var būt pakļauts bloku atkārtošanās (birthday) problēmām liela datu apjoma lietojumos, tādēļ mūsdienu standarti bieži dod priekšroku 128 bitu bloka algoritmiem (piem., AES).

Veiktspēja un lietojamība

IDEA tika optimizēts programmatūras izpildei uz parastajām CPU no 1990.‑ajiem; tas ir bijis salīdzinoši ātrs uz tā laika procesoriem. Tomēr mūsdienu aparatūras paātrinājumi (piem., AES instrukciju komplekti) padara AES ievērojami ātrāku uz mūsdienu ierīcēm. IDEA implementācijai jāņem vērā īpaši blīvā modulārā reizināšana un atslēgu apstrāde (ieskaitot 0 kā 65536 apstrādi), kas prasa piesardzību, lai izvairītos no kļūdām.

Vēsture, kritika un ieteikumi

1996. gadā Brūss Šneiers rakstīja par IDEA: "Manuprāt, tas ir labākais un drošākais bloķēšanas algoritms, kāds pašlaik ir pieejams sabiedrībai." (Applied Cryptography, 2nd ed.) Vēlāk, ap 1999. gadu, viņš kļuva piesardzīgāks pret IDEA rekomendācijām, jo parādījās gan jauni ātrāki kriptogrāfijas algoritmi, bija vērojams progress kriptoanalīzē, gan parādījās diskusijas par patentu ierobežojumiem. Mūsdienās, ņemot vērā 64 bitu bloka ierobežojumus un AES pieejamību ar 128 bitu bloku, parasti ieteicams izvēlēties AES vai citus mūsdienu šifrus jauniem projektiem.

Kopsavilkums

  • IDEA ir vērtīgs vēsturiskais bloka šifrs ar 64 bitu bloku un 128 bitu atslēgu.
  • Tas izmanto trīs dažādas matemātiskas operācijas (modulāru reizināšanu, modulāru saskaitīšanu un XOR), kas nodrošina labu sajaukumu un difūziju.
  • Patentu termiņi beidzās ap 2010.–2011. gadu, un agrāk licenci pārvaldīja MediaCrypt.
  • Kaut arī nav praktisku uzbrukumu pilnai IDEA versijai, mūsdienu prasībām bieži priekšroka tiek dota algoritmiem ar lielāku bloka izmēru un aparatūras atbalstu (piem., AES).

Ja nepieciešama detalizēta tehniska dokumentācija, ir pieejami IDEA oriģinālpublicētie raksti un akadēmiski pētījumi par tās kriptoanalīzi, kā arī vairākas drošas implementācijas un atvērtā koda realizācijas, kas ilustrē atslēgu plānu ģenerēšanu, reizināšanas īpašos gadījumus un dekriptēšanas inversiju aprēķināšanu.

IDEA šifrēšanas kārta, izmantojot sešus apakšatslēgusZoom
IDEA šifrēšanas kārta, izmantojot sešus apakšatslēgus

Jautājumi un atbildes

J: Kas ir Starptautiskais datu šifrēšanas algoritms (IDEA)?


A: IDEA ir bloka šifrs, ko 1991. gadā izstrādāja Xuejia Lai un James Massey no ETH Zurich. Tas bija iecerēts kā datu šifrēšanas standarta aizstājējs, un tajā ir astoņas identiskas transformācijas (raundi) un viena izejas transformācija (pusraunds).

J: Kā darbojas IDEA?


A: IDEA darbojas ar 64 bitu blokiem, izmantojot 128 bitu atslēgu. Kopumā tas veic 8,5 raundus. Šifrēšanas un atšifrēšanas procesi ir līdzīgi. IDEA drošību lielā mērā nodrošina, savstarpēji savienojot dažādu grupu operācijas - modulāro saskaitīšanu un reizināšanu un bitu eXclusive OR (XOR) -, kuras ir izvēlētas kā "algebriski nesavienojamas". Katrā no astoņiem raundiem tiek izmantoti seši apakšatslēgas atslēgas kodi, bet pusaplī - četri, kopā 52 apakšatslēgas kodi. Katra apakšatslēga ir 16 bitu gara.

J: Vai IDEA ir patentēta?


A: Jā, tas ir patentēts vairākās valstīs, bet to var izmantot ikviens nekomerciālā nolūkā. Nosaukums "IDEA" ir arī aizsargāts ar preču zīmi, un patentu derīguma termiņš beidzas 2010.-2011. gadā. Pašlaik to visā pasaulē licencē MediaCrypt.

J: Vai IDEA tika izmantota programmā Pretty Good Privacy (PGP)?


A: Jā, tas tika izmantots PGP v2 versijā pēc tam, kad tika konstatēts, ka v1 versijā izmantotais šifrs BassOmatic ir uzlaužams. To var izmantot arī ar OpenPGP standartu.

J: Vai ir ziņots par kādu veiksmīgu uzbrukumu IDEA?


A: Pagaidām nav ziņots par veiksmīgiem lineāriem vai diferenciāliem uzbrukumiem; tomēr ir atklātas dažas vāju atslēgu klases, taču tās ir tik retas, ka, droši lietojot algoritmu, no tām var viegli izvairīties. Kopš 2007. gada labākais uzbrukums, kas attiecas uz visām atslēgām, var salauzt IDEA, ja to samazina līdz 6 raundiem (pilnā versija izmanto 8 raundus).

J: Ko Bruce Schneier teica par IDEA?


A: 1996. gadā viņš rakstīja, ka tas ir "labākais un drošākais bloka algoritms", kāds tobrīd bija pieejams; tomēr 1999. gadā viņš to vairs neiesaka, jo bija pieejami ātrāki algoritmi, kā arī bija vērojams zināms progress tā kriptoanalīzē un ar tā lietošanu saistītās patentu problēmas.


Meklēt
AlegsaOnline.com - 2020 / 2025 - License CC3