Úvod do symetrických algoritmů

Symetrické algoritmy také známé jako algoritmy tajného klíče jsou široce používány při šifrování hromadných dat nebo proudu dat. Jedná se o typ kryptografického algoritmu, který šifruje a dešifruje data pomocí stejného klíče (díky čemuž je tento algoritmus symetrický). Říká se tomu tajný klíč, protože použitý klíč je udržován v tajnosti systémy, které jsou zapojeny do procesu šifrování a dešifrování. Šifrování provedené tímto algoritmem není snadné rozbít, pokud osoba, která se snaží dešifrovat, nemá tajný klíč, musely by ji použít pokročilé techniky. Tyto algoritmy mají obecně velmi rychlý charakter, což je o to více důvod, že se používají, když je potřeba šifrování ve velkém množství dat. Obr.a znázorňuje základní šifrování symetrického klíče:

Obrázek1.a Symetrické šifrování klíčů

Druhy symetrických algoritmů

Široce symetrické algoritmy jsou rozděleny do dvou

  • Blok
  • Proud

Blokové algoritmy

Blokové algoritmy šifrují datový blok po bloku (mnoho bajtů). Blok odkazuje na specifikovanou sadu bitů a tyto bity jsou měněny / šifrovány pomocí tajného klíče. Nevýhodou jsou blokové algoritmy, což je, předpokládejme, že budeme šifrovat data síťového proudu, tato data si šifrovací systém uchová ve svých paměťových komponentách. Toto uchování dat se provádí, když systém skutečně čeká na úplné bloky dat. Tato čekací doba může vést k bezpečnostní mezeře, která může ohrozit bezpečnost a integritu dat. Abychom se vyhnuli této hrozbě, můžeme omezit blok a sloučit data s dříve zašifrovaným datovým blokem, dokud nebudou přijaty další bloky, jednoduše se tato technika nazývá zpětná vazba. Tento algoritmus se zašifruje, pouze pokud je přijat celý blok.

Algoritmy proudů

Algoritmy In-Stream jsou data šifrována bajt po bajtu a někdy dokonce kousek po kousku. V případě algoritmu toku nejsou data uchována v paměti systémem, proto lze říci, že je to mnohem bezpečnější ve srovnání s blokovým algoritmem, protože data nejsou v systému uchována bez šifrování.

Kromě toho je zde několik typů šifrovacích algoritmů, z nichž je několik uvedeno níže

  • DES & Triple DES
  • RC2
  • Blowfish

DES & Triple DES

DES je zkratka pro datový šifrovací standard, který vezme 64bitový prostý text a zašifruje ho do 64bitového šifrového textu a dešifruje zpět pomocí 56bitového klíče. V DES šifrovací proces začíná počátečním permutačním stupněm, kde vezme vstup jako 64bitová data a permutuje je předem definovaným způsobem. Následuje počáteční permutace, že 16 Feistel šifrovacích kol (Feistel šifruje vstup a dělí jej na dvě části a šifrování provádí pouze na jedné části), kde každé kolo použije odlišný 48bitový šifrovací klíč. Pro účely šifrování a dešifrování používá šifrovací algoritmus a obrací šifrovací algoritmus. Nakonec data prochází finální permutační fází, aby se dostal zpět ciphertext. Podobně jako u DES Triple DES není nic jiného než DES šifra opakovaná 3x. Obr. 2a ukazuje obecnou architekturu algoritmu DES.

Algoritmus generické architektury DES

RC2

Jedná se o algoritmus blokové šifry, kde se nejprve data rozdělí na velikost bloku 8 bajtů a tyto bloky se zpracovávají samostatně. Tento algoritmus byl široce používán v 90. letech. Šifra Rc2 používá tajný uživatelský klíč, jehož velikost se může lišit od jednoho bajtu do 128 bajtů. Vezme tento tajný uživatelský klíč a použije algoritmus rozšíření klíče a zašifruje data. Tento algoritmus je navržen tak, aby jej bylo možné snadno implementovat do 16bitových mikroprocesorů. Zde neexistují žádná Feistelova kola, namísto toho data procházejí 18 koly míchání a rmutování. Obr. B ukazuje obecnou architekturu algoritmu RC2.

Obecná architektura algoritmu RC2

Blowfish

Toto je asymetrický algoritmus, který nahrazuje DES. Použitá velikost bloku je 64 bitů a velikost klíčů v rozmezí 32 až 448 bitů. Šifrování pomocí blowfish se primárně skládá ze dvou fází

  • Kulatá funkce
  • Výstupní operace

Funkce kola vykonává následující kroky

  1. Bělení klíčů, kde je odebrána levá část vstupních dat a je prováděna exkluzivní operace OR.
  2. Ve druhém kroku používá S-boxy, tyto S-boxy mapují 8-bitová data na 32 bitů a výstup se kombinuje s kombinací operací sčítání a XOR
  3. Výše uvedené dva kroky byly společně označovány jako funkce F. S výstupem funkce F a pravou stranou vstupních dat se provádí operace XOR.
  4. Posledním krokem je výměna výstupu.

Funkce výstupu vrací finální swap a provádí bělení výstupu. Výstupem této funkce je blowfish ciphertext. Dešifrování pomocí blowfish zahrnuje použití stejné struktury jako šifrování, protože používá Feistelovu šifru, ale kulaté klíče musí být použity v obráceném pořadí. Hlavní výhodou tohoto algoritmu je to, že je dostupný ve veřejné doméně, takže je snadno přístupný. Nevýhody jsou v podstatě generování klíčů časově náročné a pokud je velikost bloku malá, je náchylná k útokům.

Aplikace symetrických algoritmů

Některá místa, kde se používá symetrický šifrovací algoritmus, jsou

  • Kartové transakce se používají k prevenci krádeží identity a podvodných transakcí.
  • Potvrdit identitu posla.
  • Hašování a generování náhodných čísel
  • Šifrování databáze

Závěr - symetrické algoritmy

Symetrické algoritmy jsou ve srovnání s asymetrickými algoritmy mnohem rychlejší a efektivnější. To je o to větší důvod, proč se používají při hromadném šifrování. Nevýhodou však je, že správa klíčů je velmi vyčerpávající, a proto je údržba ve velkém měřítku zdlouhavý úkol, kde musíme mít vysoce kvalitní zabezpečení, abychom toho dosáhli, musíme udržovat životnost klíče generovaného pomocí samostatného systému. . Proto musíme vždy používat správné šifrování, abychom se vyhnuli útokům na naše data.

Doporučené články

Toto je průvodce symetrickými algoritmy. Zde diskutujeme Úvod a Typy symetrických algoritmů spolu s DES & Triple DES. Další informace naleznete také v dalších navrhovaných článcích -

  1. Co je to WebSocket?
  2. Zabezpečení webových aplikací
  3. Kariéra ve vývoji webových aplikací
  4. Kariéra ve webdizajnu
  5. Provozní režimy blokové šifry
  6. Příklady algoritmu C ++

Kategorie: