Introduktion till symmetriska algoritmer

Symmetriska algoritmer, även kända som hemliga nyckelalgoritmer, används ofta för kryptering av bulkdata eller ström av data. Detta är en typ av kryptografisk algoritm som krypterar och dekrypterar data med samma nyckel (vilket gör denna algoritm symmetrisk). Det kallas en hemlig nyckel eftersom nyckeln som används hålls hemlig av de system som är involverade i krypterings- och dekrypteringsprocessen. Krypteringen som görs av denna algoritm är inte lätt att bryta om personen som försöker dekryptera inte har den hemliga nyckeln, de skulle behöva använda avancerade tekniker för att bryta den. Dessa algoritmer är i allmänhet väldigt snabba, vilket är desto mer anledning till att de används när det finns behov av kryptering i stora datamängder. Fig. 1 visar den grundläggande symmetriska nyckelskrypteringen:

Figur1.a Symmetrisk nyckelkryptering

Typer av symmetriska algoritmer

I stort sett symmetriska algoritmer klassificeras i två

  • Blockera
  • Ström

Blockera algoritmer

Blockalgoritmer krypterar datablocket för block (många byte). Block refererar till den angivna uppsättningen bitar och dessa bitar ändras / krypteras med en hemlig nyckel. Det finns en nackdel med blockalgoritmerna, det är, låt oss anta att vi kommer att kryptera nätverksströmdata, dessa data bevaras av krypteringssystemet i dess minneskomponenter. Denna lagring av data görs när systemet faktiskt väntar på kompletta datablock. Denna väntetid kan leda till ett säkerhetsgap som kan äventyra datans säkerhet och integritet. För att undvika detta hot kan vi reducera blocket och slå samman data med tidigare krypterat datablock tills ytterligare block har tagits emot, i enkla termer kallas denna teknik feedback. Denna algoritm krypteras endast om hela blocket tas emot.

Strömalgoritmer

In-stream-algoritmer är data krypterade byte för byte och ibland till och med bit för bit. När det gäller strömalgoritm, sparas inte data i minnet av systemet, därför kan man säga att detta är mycket säkrare jämfört med blockalgoritm eftersom data inte bevaras i systemet utan kryptering.

Dessutom är de flera typer av krypteringsalgoritmer av de få som listas nedan

  • DES & Triple DES
  • RC2
  • blåsfisk

DES & Triple DES

DES står för en datakrypteringsstandard som tar en 64-bitars vanlig text och krypteras till en 64-bitars chiffertext och dekrypteras tillbaka med hjälp av en 56-bitars nyckel. I DES startar krypteringsprocessen med ett initialt permutationssteg där det kommer att ta ingången som 64-bitarsdata och permutera dem på ett fördefinierat sätt. Följt av initial permutation är att 16 Feistel-chifferrunder (En Feistel-chiffer tar ingången och delar upp den i två delar och gör krypteringen på bara en del) där varje omgång använder olika 48 bitars chifferknapp. För kryptering och dekrypteringsändamål använder den en chiffer och vänder chifferalgoritmen. Slutligen går data genom det sista permutationssteget för att få tillbaka chiffertexten. Liknar DES Triple DES är inget annat än DES-chiffer som upprepas tre gånger. Fig. 2 visar den generiska arkitekturen för DES-algoritmen.

Generisk arkitektur av DES-algoritm

RC2

Detta är en blockkrypteringsalgoritm där informationen till en början delas upp i en blockstorlek på 8 byte och dessa block behandlas separat. Denna algoritm användes ofta på 90-talet. Rc2-chiffer använder en hemlig användarnyckel vars storlek kan variera från en byte till 128 byte. Den tar den hemliga användarnyckeln och använder en nyckelutvidgningsalgoritm och krypterar data. Denna algoritm är utformad på ett sådant sätt att den enkelt kan implementeras i 16-bitars mikroprocessorer. Här finns inga Feistel-omgångar istället genomgår data 18 omgångar med blandning och mosning. Fig. 2b visar den generiska arkitekturen för RC2-algoritmen.

Generisk arkitektur av RC2-algoritm

blåsfisk

Detta är en asymmetrisk algoritm som ersätter DES. Här används blockstorleken 64 bitar och nyckelstorlekar varierar från 32 till 448 bitar. Kryptering med blåsfisk består huvudsakligen av två steg

  • Rund funktion
  • Utgång

Den runda funktionen utför följande steg

  1. Nyckelblekning, där den vänstra delen av ingångsdata tas och exklusiv ELLER operation utförs på den.
  2. I det andra steget använder den S-boxar, dessa S-boxar kartlägger en 8-bitars data till 32 bitar och utgången tas för att kombinera med en kombination av tilläggs- och XOR-operationer
  3. Ovanstående två steg kombinerade tillsammans kallas F-funktion. Med utgången från F-funktionen och den högra sidan av ingångsdata utförs XOR-operationen.
  4. Det sista steget innebär byte av utgången.

Utgångsfunktionen äter det slutgiltiga bytet och utför utblekning. Utgången från denna funktion är en blowfish-chiffertext. Dekryptering med blowfish innebär användning av samma struktur som kryptering eftersom den använder en Feistel-chiffer men runda knapparna måste användas i omvänd ordning. Den största fördelen med denna algoritm är att den är tillgänglig i den offentliga domänen så att den är lättillgänglig. Nackdelarna är i princip att det är lite tidskrävande att generera nycklarna och om blockstorleken är liten är den sårbar för attacker.

Användningar av symmetriska algoritmer

Några av de platser där den symmetriska krypteringsalgoritmen används är

  • Korttransaktioner används för att förhindra identitetsstölder och bedrägliga transaktioner.
  • För att bekräfta budbärarens identitet.
  • Hashing och generering av slumpmässigt antal
  • Datakryptering

Slutsats - symmetriska algoritmer

Symmetriska algoritmer är mycket snabbare och effektivare jämfört med asymmetriska algoritmer. Detta är desto mer anledning till att de används i bulkkryptering. Men dess nackdel är att nyckelhanteringen är mycket uttömmande, därför är underhåll i stor skala en tråkig uppgift, där vi måste ha högklassig säkerhet, för att uppnå detta måste vi ha upprätthållit livscykeln för nyckeln som genererats med det separata systemet . Därför måste vi alltid använda korrekt kryptering för att undvika attacker på våra data.

Rekommenderade artiklar

Detta är en guide till symmetriska algoritmer. Här diskuterar vi introduktionen och typer av symmetriska algoritmer tillsammans med DES & Triple DES. Du kan också gå igenom våra andra artiklar som föreslås för att lära dig mer–

  1. Vad är WebSocket?
  2. Webapplikationssäkerhet
  3. Karriär inom webbutveckling
  4. Karriärer inom webbdesign
  5. Blockera krypteringslägen för drift
  6. Exempel på C ++ -algoritm

Kategori: