Introduktion til symmetriske algoritmer

Symmetriske algoritmer også kendt som hemmelige nøglealgoritmer er vidt brugt til kryptering af bulkdata eller strøm af data. Dette er en type kryptografisk algoritme, som krypterer og dekrypterer dataene ved hjælp af den samme nøgle (som gør denne algoritme til symmetrisk). Den kaldes en hemmelig nøgle, fordi den anvendte nøgle holdes hemmelig af de systemer, der er involveret i krypterings- og dekrypteringsprocessen. Krypteringen udført af denne algoritme er ikke let at bryde, hvis den person, der forsøger at dekryptere ikke har den hemmelige nøgle, ville de skulle bruge avancerede teknikker for at bryde den. Disse algoritmer er generelt meget hurtige, hvilket er desto mere grund til at de bruges, når der er behov for kryptering i store datamængder. Fig. A viser den grundlæggende symmetriske nøglekryptering:

Figur1.a Symmetrisk nøglekryptering

Typer af symmetriske algoritmer

Bredt symmetriske algoritmer er klassificeret i to

  • Blok
  • Strøm

Blokalgoritmer

Blokalgoritmer krypterer datablokken for blok (mange bytes). Blok refererer til det specificerede sæt bits, og disse bit ændres / krypteres ved hjælp af en hemmelig nøgle. Der er en ulempe med blokalgoritmerne, som er, lad os antage, at vi vil kryptere data om netværksstrøm, disse data opbevares af krypteringssystemet i dets hukommelseskomponenter. Denne opbevaring af data udføres, når systemet faktisk venter på komplette datablokke. Denne ventetid kan føre til et sikkerhedsgap, der kan kompromittere sikkerheden og integriteten af ​​dataene. For at undgå denne trussel kan vi reducere blokken og flette dataene med tidligere krypteret datablock, indtil der modtages yderligere blokke, enkelt sagt kaldes denne teknik feedback. Denne algoritme krypteres kun, hvis den komplette blok er modtaget.

Strømalgoritmer

In-stream-algoritmer er dataene krypteret byte for byte og nogle gange endda bit for bit. I tilfælde af strømalgoritme opbevares dataene ikke i hukommelsen af ​​systemet, og man kan derfor sige, at dette er meget mere sikkert i forhold til blokalgoritme, da data ikke opbevares i systemet uden kryptering.

Desuden er de flere typer krypteringsalgoritmer ud af de få, der er anført nedenfor

  • DES & Triple DES
  • RC2
  • Blowfish

DES & Triple DES

DES står for en datakrypteringsstandard, der tager en 64-bit almindelig tekst og krypteres til en 64-bit-chiffertekst og dekrypteres tilbage ved hjælp af en 56-bit nøgle. I DES starter krypteringsprocessen med et indledende permutationstrin, hvor det vil tage inputen som 64-bit data og permutere dem på en foruddefineret måde. Efterfulgt af indledende permutation er, at 16 Feistel-chifferrunder (En Feistel-chiffer tager input og deler det i to dele og udfører krypteringen på kun en del), hvor hver runde bruger forskellige 48bit-chiffernøgler. Til kryptering og dekrypteringsformål bruger den en chiffer og vender chifferalgoritmen. Endelig går dataene gennem det sidste permutationstrin for at komme cifferteksten tilbage. Ligner DES Triple DES er intet andet end DES-chiffer gentaget 3 gange. Fig. 2 viser den generiske arkitektur af DES-algoritmen.

Generisk arkitektur af DES-algoritme

RC2

Dette er en blokcifferalgoritme, hvor data først inddeles i en blokstørrelse på 8 byte, og disse blokke behandles separat. Denne algoritme blev meget udbredt i 90'erne. Rc2-chiffer bruger en hemmelig brugernøgle, hvis størrelse kan variere fra en byte til 128 byte. Det tager denne hemmelige brugernøgle og bruger en nøgleudvidelsesalgoritme og krypterer dataene. Denne algoritme er designet på en sådan måde, at den let kan implementeres i 16-bit mikroprocessorer. Her er der ingen Feistel-runder i stedet for dataene gennemgår 18 runder med blanding og mosning. Fig. 2b viser den generiske arkitektur af RC2-algoritmen.

Generisk arkitektur af RC2-algoritme

Blowfish

Dette er en asymmetrisk algoritme, der erstatter DES. Her er den anvendte blokstørrelse 64 bit og nøglestørrelser fra 32 til 448 bit. Kryptering ved hjælp af blowfish består primært af to faser

  • Rund funktion
  • Output operation

Den runde funktion udfører følgende trin

  1. Tændblegning, hvor den venstre del af inputdataene tages og eksklusiv ELLER-operation udføres på dem.
  2. I det andet trin bruger det S-bokse, disse S-bokse kortlægger en 8-bit data til 32 bit, og output tages for at kombinere med en kombination af addition og XOR-operationer
  3. Ovenstående to trin kombineret sammen kaldet F-funktion. Med output fra F-funktionen og højre side af inputdataene udføres XOR-betjening.
  4. Det sidste trin involverer bytte af output.

Outputfunktion ser tilbage til den endelige swap og udfører outputblekning. Outputet fra denne funktion er en blowfish-chiffertekst. Dekryptering med blowfish involverer brugen af ​​den samme struktur som kryptering, da den bruger en Feistel-chiffer, men de runde taster skal bruges i omvendt rækkefølge. Den største fordel ved denne algoritme er, at den er tilgængelig i det offentlige domæne, så den er let tilgængelig. Ulemperne er dybest set, det er lidt tidskrævende at generere tasterne, og hvis blokstørrelsen er lille, er den sårbar overfor angreb.

Anvendelser af symmetriske algoritmer

Nogle af de steder, hvor den symmetriske krypteringsalgoritme bruges, er

  • Korttransaktioner bruges til at forhindre identitetstyverier og falske transaktioner.
  • For at bekræfte messengerens identitet.
  • Hashing og generering af tilfældigt tal
  • Databasekryptering

Konklusion - symmetriske algoritmer

Symmetriske algoritmer er meget hurtigere og effektive sammenlignet med asymmetriske algoritmer. Dette er desto mere grund til, at de bruges i bulk-kryptering. Men dens ulempe er, at nøglestyringen er meget udtømmende, og derfor er vedligeholdelse i stor skala en kedelig opgave, hvor vi er nødt til at have sikkerhed i høj kvalitet, for at opnå dette må vi have opretholdt livscyklussen for den nøgle, der genereres ved hjælp af det separate system . Derfor skal vi altid bruge korrekt kryptering for at undgå angreb på vores data.

Anbefalede artikler

Dette er en guide til symmetriske algoritmer. Her diskuterer vi introduktion og typer af symmetriske algoritmer sammen med DES & Triple DES. Du kan også gennemgå vores andre foreslåede artikler for at lære mere–

  1. Hvad er WebSocket?
  2. Webapplikationssikkerhed
  3. Karriere inden for webudvikling
  4. Karrierer inden for webdesign
  5. Bloker chiffer-betjeningsmetoder
  6. Eksempler på C ++ algoritme

Kategori: