Úvod do symetrických algoritmov

Symetrické algoritmy známe tiež ako algoritmy tajného kľúča sa často používajú pri šifrovaní hromadných údajov alebo toku údajov. Toto je typ kryptografického algoritmu, ktorý šifruje a dešifruje údaje pomocou rovnakého kľúča (vďaka ktorému je tento algoritmus symetrický). Hovorí sa tomu, že je to tajný kľúč, pretože použitý kľúč je udržiavaný v tajnosti systémami, ktoré sú zapojené do procesu šifrovania a dešifrovania. Šifrovanie vykonané pomocou tohto algoritmu nie je ľahké rozbiť, ak osoba, ktorá sa pokúša dešifrovať, nemá tajný kľúč, na jeho rozbitie by musela použiť pokročilé techniky. Tieto algoritmy majú vo všeobecnosti veľmi rýchly charakter, a to tým viac, že ​​sa používajú, keď je potrebné šifrovať veľké množstvo údajov. Obr.a znázorňuje základné šifrovanie symetrického kľúča:

Obrázok 1.a Šifrovanie symetrických kľúčov

Druhy symetrických algoritmov

Všeobecne symetrické algoritmy sú rozdelené do dvoch

  • blok
  • Prúd

Blokové algoritmy

Blokové algoritmy šifrujú dátový blok po bloku (veľa bajtov). Blok sa týka špecifikovanej sady bitov a tieto bity sa menia / šifrujú pomocou tajného kľúča. Nevýhodou sú blokové algoritmy, ktoré predpokladajú, že budeme šifrovať údaje sieťového toku. Tieto dáta si šifrovací systém uchová vo svojich pamäťových komponentoch. Toto uchovávanie údajov sa uskutoční, keď systém skutočne čaká na úplné bloky údajov. Táto čakacia doba môže viesť k medzere v zabezpečení, ktorá môže ohroziť bezpečnosť a integritu údajov. Aby sme sa vyhli tejto hrozbe, môžeme blok zredukovať a zlúčiť údaje s predtým šifrovaným dátovým blokom až do prijatia ďalších blokov. Táto technika sa jednoducho nazýva spätná väzba. Tento algoritmus sa zašifruje, iba ak je prijatý celý blok.

Algoritmy prúdov

Algoritmy In-Stream sú údaje šifrované bajt po bajte a niekedy dokonca bit po bite. V prípade algoritmu toku nie sú údaje uchovávané v pamäti systémom, preto je možné povedať, že je to oveľa bezpečnejšie v porovnaní s blokovým algoritmom, pretože údaje sa nezachovávajú v systéme bez šifrovania.

Ďalej je uvedených niekoľko typov šifrovacích algoritmov, z ktorých je niekoľko uvedených nižšie

  • DES & Triple DES
  • RC2
  • Blowfish

DES & Triple DES

DES je skratka pre štandard šifrovania údajov, ktorý berie 64-bitový obyčajný text a zašifruje ho do 64-bitového šifrového textu a dešifruje sa späť pomocou 56-bitového kľúča. V DES šifrovací proces začína počiatočnou permutačnou fázou, kde bude brať vstup ako 64-bitové dáta a permutuje ich vopred určeným spôsobom. Po počiatočnej permutácii nasleduje 16 kôl Feistelovej šifry (šifra Feistel vezme vstup a rozdelí ho na dve časti a šifrovanie vykoná iba na jednej časti), pričom každé koleso použije odlišný 48bitový šifrovací kľúč. Na účely šifrovania a dešifrovania používa šifrovací algoritmus a reverzný šifrovací algoritmus. Nakoniec dáta prechádzajú posledným stupňom permutácie, aby získali späť šifrový text. Podobné ako DES Triple DES nie je nič iné ako DES šifra opakovaná trikrát. Obrázok 2a zobrazuje všeobecnú architektúru algoritmu DES.

Algoritmus generickej architektúry DES

RC2

Toto je algoritmus blokovej šifry, kde sa dáta najskôr rozdelia na veľkosť bloku 8 bajtov a tieto bloky sa spracúvajú osobitne. Tento algoritmus bol široko používaný v 90. rokoch. Šifra Rc2 používa tajný užívateľský kľúč, ktorého veľkosť sa môže meniť od jedného bajtu do 128 bajtov. Berie tento tajný užívateľský kľúč a používa algoritmus rozšírenia kľúča a šifruje údaje. Tento algoritmus je navrhnutý tak, aby sa dal ľahko implementovať do 16-bitových mikroprocesorov. Tu nie sú žiadne Feistelove kolá, namiesto toho údaje prechádzajú 18 kôl miešania a rmutovania. Obr. B zobrazuje všeobecnú architektúru algoritmu RC2.

Generická architektúra algoritmu RC2

Blowfish

Toto je asymetrický algoritmus, ktorý nahrádza DES. Použitá veľkosť bloku je tu 64 bitov a veľkosť kľúčov v rozmedzí od 32 do 448 bitov. Šifrovanie pomocou blowfish sa skladá predovšetkým z dvoch fáz

  • Okrúhla funkcia
  • Výstupná operácia

Okrúhla funkcia vykoná nasledujúce kroky

  1. Bielenie kľúča, kde sa odoberie ľavá časť vstupných údajov a vykoná sa výhradná operácia OR.
  2. V druhom kroku sa používajú S-boxy, tieto S-boxy mapujú 8-bitové dáta na 32-bitové a výstup sa berie do kombinácie s kombináciou operácií sčítania a XOR
  3. Vyššie uvedené dva kroky sa spoločne označujú ako funkcia F. S výstupom funkcie F a pravou stranou vstupných údajov sa vykoná operácia XOR.
  4. Posledným krokom je zamenenie výstupu.

Funkcia výstupu vráti výsledný swap a vykoná bielenie výstupu. Výstupom tejto funkcie je šifrovaný text blowfish. Dešifrovanie pomocou blowfish vyžaduje použitie rovnakej štruktúry ako šifrovanie, pretože používa Feistelovu šifru, ale okrúhle kľúče sa musia používať v opačnom poradí. Hlavnou výhodou tohto algoritmu je to, že je dostupný vo verejnej doméne, takže je ľahko prístupný. Nevýhody sú v podstate generovanie kľúčov časovo náročné a ak je veľkosť bloku malá, je náchylný na útoky.

Aplikácia symetrických algoritmov

Niektoré z miest, kde sa používa symetrický šifrovací algoritmus, sú

  • Kartové transakcie sa používajú na zabránenie krádežiam identity a podvodným transakciám.
  • Potvrdenie identity posla.
  • Hašovanie a generovanie náhodných čísel
  • Šifrovanie databázy

Záver - Symetrické algoritmy

Symetrické algoritmy sú oveľa rýchlejšie a efektívnejšie v porovnaní s asymetrickými algoritmami. To je o to viac, že ​​sa používajú pri hromadnom šifrovaní. Nevýhodou však je, že správa kľúčov je veľmi vyčerpávajúca, a preto je údržba vo veľkom rozsahu zdĺhavá úloha, kde potrebujeme vysokokvalitné zabezpečenie, aby sme to dosiahli, musíme zachovať životný cyklus kľúča vygenerovaného pomocou samostatného systému., Preto musíme vždy používať správne šifrovanie, aby sme predišli útokom na naše údaje.

Odporúčané články

Toto je príručka pre symetrické algoritmy. Tu diskutujeme Úvod a Typy symetrických algoritmov spolu s DES & Triple DES. Viac informácií nájdete aj v ďalších navrhovaných článkoch -

  1. Čo je to WebSocket?
  2. Zabezpečenie webových aplikácií
  3. Kariéra vo webovom rozvoji
  4. Kariéra vo webdizajne
  5. Prevádzkové režimy blokovej šifry
  6. Príklady algoritmu C ++

Kategórie: