Bevezetés a szimmetrikus algoritmusokba

A szimmetrikus algoritmusokat, más néven titkos kulcs algoritmusokat, széles körben használják a tömeges adatok vagy adatfolyamok titkosításában. Ez egy olyan kriptográfiai algoritmus, amely ugyanazon kulcs segítségével titkosítja és dekódolja az adatokat (ami ezt az algoritmust szimmetrikusvá teszi). Titkos kulcsnak nevezzük, mivel a használt kulcsot a titkosítási és visszafejtési folyamatban részt vevő rendszerek titokban tartják. Az algoritmus által végzett titkosítást nem könnyű megtörni, ha a dekódolni próbáló személynek nincs titkos kulcsa, fejlett technikákat kellene használnia a megtöréshez. Ezek az algoritmusok általában nagyon gyors természetűek, ami annál is inkább oka, hogy azokat akkor használják, amikor nagy mennyiségű adat titkosítására van szükség. Az 1.a ábra az alapszimmetrikus kulcs titkosítást ábrázolja:

Ábra - Szimmetrikus kulcs titkosítás

Szimmetrikus algoritmusok típusai

A széles körben szimmetrikus algoritmusokat két részre oszthatjuk

  • Blokk
  • Folyam

Blokk algoritmusok

A blokk algoritmusok blokkonként titkosítják az adat blokkot (sok bájt). A blokk a megadott bitkészletre vonatkozik, és ezeket a biteket titkos kulcs segítségével módosítják / titkosítják. Hátránya van a blokkoló algoritmusoknak, tehát tegyük fel, hogy titkosítani fogjuk a hálózati adatfolyamokat, ezeket az adatokat a titkosító rendszer megőrzi a memóriakomponenseiben. Az adatok megőrzésére akkor kerül sor, amikor a rendszer ténylegesen teljes adatblokkokra vár. Ez a várakozási idő biztonsági rést eredményezhet, amely veszélyeztetheti az adatok biztonságát és integritását. E fenyegetés elkerülése érdekében csökkenthetjük a blokkot, és egyesíthetjük az adatokat a korábban titkosított adatblokkokkal, amíg további blokkok meg nem érkeznek. Egyszerűen fogalmazva, ezt a technikát visszajelzésnek nevezzük. Ez az algoritmus csak akkor titkosítja, ha a teljes blokk érkezik.

Patak algoritmusok

A patakba ágyazott algoritmusok szerint az adatokat byte byte byte titkosítja, és néha akár bit is. A stream algoritmus esetében az adatokat a rendszer nem tárolja a memóriában, ezért elmondhatjuk, hogy ez sokkal biztonságosabb a blokk algoritmushoz képest, mivel az adatok titkosítás nélkül nem maradnak a rendszerben.

Ezenkívül ezek a titkosítási algoritmusok többféle típusát alkotják, az alábbiakban felsorolt ​​néhány közül

  • DES és háromszoros DES
  • RC2
  • gömbhal

DES és háromszoros DES

A DES olyan adattitkosítási szabványt jelent, amely 64 bites sima szöveget vesz fel, és egy 64 bites titkosításba titkosítja, és egy 56 bites kulcs segítségével visszafejt. A DES-ben a titkosítási folyamat egy kezdeti permutációs lépéssel kezdődik, ahol 64 bites adatként veszi a bemenetet, és előre meghatározott módon permutálja őket. A kezdeti permutáció követi, hogy 16 Feistel rejtjel-forduló (egy Feistel rejtjel elveszi a bemenetet, és két részre osztja, és csak az egyik részre titkosítja), ahol minden kör különbözõ 48 bites rejtjeleket fog használni. Titkosításhoz és visszafejtéshez rejtjelet használ, és megfordítja a rejtjelező algoritmust. Végül, az adatok megy keresztül a végső permutációs szakaszban, hogy visszaszerezze a rejtjelet. A DES-hez hasonlóan a DES hármas is más, mint a DES rejtjel 3-szor megismételve. A 2.a ábra a DES algoritmus általános architektúráját mutatja.

A DES algoritmus általános architektúrája

RC2

Ez egy blokk rejtjelező algoritmus, ahol az adatokat először 8 bájtos blokkméretre osztják, és ezeket a blokkokat külön kezelik. Ezt az algoritmust széles körben használták a 90-es években. Az Rc2 titkosítás titkos felhasználói kulcsot használ, amelynek mérete 1 bájt és 128 bájt között változhat. Fogja ezt a titkos felhasználói kulcsot, és egy kulcskiterjesztő algoritmust használ, és titkosítja az adatokat. Ezt az algoritmust úgy tervezték meg, hogy könnyen megvalósítható legyen 16 bites mikroprocesszorokban. Itt nincsenek Feistel-fordulók, hanem az adatok 18 keverési és keverési fordulón mennek keresztül. A 2.b ábra az RC2 algoritmus általános architektúráját mutatja.

Az RC2 algoritmus általános architektúrája

gömbhal

Ez egy aszimmetrikus algoritmus, amely felváltja a DES-t. Itt a felhasznált blokkméret 64 bit, a kulcsméret pedig 32-448 bit. A blowfish felhasználásával történő titkosítás elsősorban két szakaszból áll

  • Kerek funkció
  • Kimeneti művelet

A kerek funkció a következő lépéseket hajtja végre

  1. Kulcsfehérítés, ahol a bemeneti adatok bal oldali részét veszik, és kizárólagos VAGY műveletet végeznek rajta.
  2. A második lépésben S-boxokat használ, ezek az S-boxok egy 8-bites adatot 32 bitesre képeznek, és a kimenetet kombinálják az addíció és az XOR műveletek kombinációjával.
  3. A fenti két lépést együttesen F függvénynek nevezzük. Az F funkció kimenetével és a bemeneti adatok jobb oldalával az XOR műveletet hajtják végre.
  4. Az utolsó lépés a kimenet cseréje.

Kimeneti funkció feltárja a végső csere és elvégzi a kimeneti fehéredés. Ennek a funkciónak a kimenete egy blowfish rejtjel. A visszafejtés a blowfish segítségével ugyanazt a struktúrát használja, mint a titkosítás, mivel Feistel rejtjelet használ, de a kerek kulcsokat fordított sorrendben kell használni. Ennek az algoritmusnak a fő előnye az, hogy a nyilvánosan elérhető, így könnyen elérhető. A hátrányok alapvetően időigényesek a kulcsok generálásában, és ha a blokk mérete kicsi, akkor érzékeny a támadásokra.

Szimmetrikus algoritmusok alkalmazása

Néhány olyan hely, ahol a szimmetrikus titkosítási algoritmust használják

  • A kártyás tranzakciókat a személyazonosság-lopások és a csalárd tranzakciók megelőzésére használják.
  • A hírnök személyazonosságának megerősítése.
  • Hashizálás és véletlenszám-generálás
  • Adatbázis-titkosítás

Következtetés - szimmetrikus algoritmusok

A szimmetrikus algoritmusok sokkal gyorsabbak és hatékonyabbak, mint az aszimmetrikus algoritmusok. Ez annál is inkább oka, hogy tömeges titkosításban használják őket. Hátránya azonban, hogy a kulcskezelés nagyon kimerítő, ezért a nagy léptékű karbantartás unalmas feladat, ahol magas szintű biztonsággal kell rendelkeznünk, ennek eléréséhez a külön rendszer használatával generált kulcs életciklusát meg kell őriznünk. . Ezért mindig megfelelő titkosítást kell használnunk, hogy elkerüljük az adatainkkal szembeni támadásokat.

Ajánlott cikkek

Ez egy útmutató a szimmetrikus algoritmusokhoz. Itt tárgyaljuk a Bevezetés és a szimmetrikus algoritmusok típusait, valamint a DES és a Triple DES-t. A további javasolt cikkeken keresztül további információkat is megtudhat -

  1. Mi a WebSocket?
  2. Webes alkalmazások biztonsága
  3. Karrier a webfejlesztésben
  4. Karrier a webes tervezésben
  5. Cipher üzemmód blokkolása
  6. Példák a C ++ algoritmusra

Kategória: