RC2 blokkos titkosítás – definíció, működés és története

RC2 blokkos titkosítás: áttekintés — definíció, működés, kulcsbővítés és történeti háttér. Ismerd meg az RC2 felépítését, fejlesztését és biztonsági kockázatait.

Szerző: Leandro Alegsa

A kriptográfiában az RC2 egy szimmetrikus kulcsú blokkos titkosítás, amelyet Ronald Rivest tervezett 1987-ben. Az "RC" rövidítés az angol "Rivest Cipher" (vagy köznyelvben: "Ron kódja") kifejezésből ered.

Műszaki alapok

Az RC2 64 bites blokkmérettel működik és változó kulcsméretű — a gyakorlatban különböző kulcshosszokat alkalmaztak, például 40 és 128 bit között, és az RFC 2268 szerint létezik az effektív kulcshossz beállításának lehetősége is. Az algoritmus 18 fordulóból áll, amelyek speciális, forrás-súlyos feistel-hálózati szerkezetet alkotnak.

A fordulókat két alapvető típusra lehet osztani: a keverési (mix) fordulókra és a mash (néha magyarul „összeolvasztásnak” fordítják) fordulókra. Az 18 forduló a következő, egymásra épülő sorrendben történik:

  1. végezzen 5 keverési kört.
  2. végezzen 1 mash (cefrézési) kört.
  3. végezzen 6 keverési kört.
  4. végezzen 1 mash (cefrézési) kört.
  5. végezzen 5 keverési kört.

Kulcsbővítés és belső működés

Az RC2 egy kulcsbővítő algoritmust használ: a bemeneti, változó hosszúságú kulcs minden bitjétől bonyolult módon függő kibővített kulcsot állít elő. RFC 2268 leírása szerint az előállított kibővített kulcs 64 darab 16 bites szóból áll (azaz belsőleg ezekkel a 16 bites egységekkel dolgozik). Egy keverési kör a keverési transzformáció több alkalmazásából áll, és egy forduló során a bemeneti blokk különböző részeit kiegészítik a kibővített kulcs megfelelő 16 bites szavaival.

A tervezés célja az volt, hogy egyszerű, mégis rugalmas és exportálható titkosítást biztosítson, miközben lehetővé teszi különböző effektív kulcshosszok alkalmazását (például exportkor rövidebb, belső használatnál hosszabb kulcsokkal).

Biztonság és ismert sebezhetőségek

Az RC2 tervezésekor nem számítottak minden, később kidolgozott kriptoanalitikai módszerre. Később bejelentették, hogy az RC2 érzékeny bizonyos kapcsolódó kulcsokkal (related-key) végrehajtott támadásokra: Kelsey és munkatársai 1997-ben egy kapcsolódó kulcsokra épülő támadást mutattak be, amelyhez körülbelül 2^34 választott nyílt szöveg szükséges volt a támadás egy változatához. Ez azt jelenti, hogy az RC2 nem felel meg a modern kriptográfiai biztonsági elvárásoknak, különösen, ha a kulcsok nincsenek megfelelően izolálva vagy ha kapcsolódó kulcsok előfordulhatnak.

Ezen felül a rövidebb, például 40 bites kulcsok használata ma már gyakorlatilag sebezhető a nyers erővel (brute-force) végrehajtott támadásoknak, ezért ilyen kulcsméreteket nem szabad alkalmazni biztonságkritikus környezetben.

Történet és export

Az RC2 fejlesztését a Lotus támogatta; a cél egy olyan egyedi, exportálható titkosítás volt, amelyet a Lotus Notes szoftverben lehet alkalmazni. Az NSA értékelése után Ronald Rivest néhány módosítást hajtott végre a tervezeten, és az algoritmust 1989-ben engedélyezték az exportra. Az amerikai exportszabályok értelmében az RC2, hasonlóan az RC4-hez, eredetileg 40 bites kulccsal is forgalmazhatóként volt kezelve; ez a gyakorlat mára elavult.

Az RC2 részletes specifikációját és működését kezdetben üzleti titokként kezelte az RSA Security; az algoritmus részletei azonban később — a publikus RFC 2268 mellett — 1996. január 29-én névtelen forrásból felkerültek az internetre a sci.crypt Usenet-csoportba. Nem tisztázott, hogy a közzétevő a hivatalos specifikációhoz jutott-e hozzá, vagy fordított mérnökség eredménye volt a poszt.

Használat ma és ajánlott alternatívák

Ma az RC2-et általában elavultnak tekintik, és nem ajánlott új rendszerekhez vagy érzékeny adatok védelmére. A modern kriptográfia szabványai — például az AES (Advanced Encryption Standard) blokkos titkosítás és az áramkódok terén a ChaCha20 — erősebb biztonságot és jobb teljesítményt biztosítanak. Ha régi rendszerekkel kell interoperálni, érdemes törekedni a protokollok és implementációk frissítésére modernebb algoritmusokra, és kerülni a rövidebb kulcsok alkalmazását.

Összefoglalva: az RC2 fontos történeti szereplő a kereskedelmi kriptográfia fejlődésében, de ma már biztonsági okokból helyettesítendő modern, ellenőrzött és széles körben elfogadott algoritmusokkal.

Az RC2 keverési transzformációja; Egy keverési forduló a "keverési" transzformáció négyszeri alkalmazásából áll.Zoom
Az RC2 keverési transzformációja; Egy keverési forduló a "keverési" transzformáció négyszeri alkalmazásából áll.

Kérdések és válaszok

K: Mi az az RC2?


V: Az RC2 egy Ronald Rivest által 1987-ben tervezett szimmetrikus kulcsú blokkos titkosítás. 64 bites blokkméretet és 18 titkosítási kört használ.

K: Mit jelent az "RC" szó?


V: Az "RC" a "Rivest Cipher", vagy más néven "Ron kódja" rövidítése.

K: Hány fordulóra van szükség az RC2 használatakor?


V: Az RC2 használatakor 18 fordulóra kerül sor - 16 keverési forduló, amelyeket két keverési forduló váltakoztat.

K: Hogyan működik a kulcsbővítő algoritmus?


V: A kulcsbővítő algoritmus a megadott változó hosszúságú bemeneti kulcs minden egyes bitjének függvényében 64 (16 bites szóból) álló bővített kulcsot állít elő.

K: Milyen típusú támadásra érzékeny az RC2?


V: Az RC2 érzékeny a 234 kiválasztott nyílt szöveges támadást alkalmazó kapcsolódó kulcs elleni támadásra.

K: Ki támogatta az RC2 fejlesztését?



V: Az RC2 kifejlesztését a Lotus támogatta, amely a Lotus Notes szoftver részeként exportálandó egyedi titkosítást keresett.


Keres
AlegsaOnline.com - 2020 / 2025 - License CC3