Introduksjon til symmetriske algoritmer

Symmetriske algoritmer også kjent som hemmelige nøkkelalgoritmer er mye brukt i kryptering av bulkdata eller strøm av data. Dette er en type kryptografisk algoritme som krypterer og dekrypterer dataene ved å bruke den samme nøkkelen (som gjør denne algoritmen til symmetrisk). Den kalles en hemmelig nøkkel fordi nøkkelen som brukes holdes hemmelig av systemene som er involvert i krypterings- og dekrypteringsprosessen. Krypteringen som er gjort av denne algoritmen, er ikke lett å bryte hvis personen som prøver å dekryptere ikke har den hemmelige nøkkelen, vil de måtte bruke avanserte teknikker for å bryte den. Disse algoritmene er generelt veldig raske av natur, og det er desto mer grunn til at de blir brukt når det er behov for kryptering i store datamengder. Fig. A viser den grunnleggende symmetriske nøkkelkryptering:

Figur1.a Symmetrisk tastekryptering

Typer symmetriske algoritmer

Stort sett symmetriske algoritmer er klassifisert i to

  • Blokkere
  • Strøm

Blokkealgoritmer

Blokkeringsalgoritmer krypterer datablokken for blokk (mange byte). Blokk refererer til det spesifiserte settet med biter, og disse bitene blir endret / kryptert ved hjelp av en hemmelig nøkkel. Det er en ulempe med blokkalgoritmene som er, la oss anta at vi skal kryptere nettverksstrømdata, disse dataene beholdes av krypteringssystemet i minnekomponentene. Denne lagringen av data gjøres når systemet faktisk venter på komplette datablokker. Denne ventetiden kan føre til et sikkerhetsgap som kan kompromittere sikkerheten og integriteten til dataene. For å unngå denne trusselen kan vi redusere blokken og slå sammen dataene med tidligere kryptert datablokk inntil ytterligere blokker er mottatt, i enkle vendinger kalles denne teknikken tilbakemelding. Denne algoritmen krypteres bare hvis hele blokken er mottatt.

Strømalgoritmer

In-stream-algoritmer blir dataene kryptert byte for byte og noen ganger til og med bit for bit. Når det gjelder strømalgoritme, blir ikke dataene lagret i minnet av systemet, og man kan derfor si at dette er mye tryggere sammenlignet med blokkalgoritme da data ikke blir lagret i systemet uten kryptering.

Videre er de flere typer krypteringsalgoritmer av de få som er oppført nedenfor

  • DES & Triple DES
  • RC2
  • Blowfish

DES & Triple DES

DES står for en datakrypteringsstandard som tar en 64-biters ren tekst og krypteres til en 64-biters chiffertekst og dekrypteres tilbake ved hjelp av en 56-bits nøkkel. I DES starter krypteringsprosessen med et innledende permutasjonstrinn der den vil ta inngangen som 64-biters data og permutere dem på en forhåndsdefinert måte. Etterfulgt av innledende permutasjon er at 16 Feistel-chiffer-runder (En Feistel-chiffer tar inngangen og deler den inn i to deler og gjør krypteringen på bare en del) der hver runde bruker forskjellig 48bit-chiffernøkkel. For kryptering og dekryptering bruker den en chiffer og reverserer chifferalgoritmen. Til slutt går dataene gjennom det endelige permutasjonstrinnet for å komme tilbake chifferteksten. I likhet med DES Triple DES er ingenting annet enn DES-chiffer gjentatt 3 ganger. Fig. 2 viser den generiske arkitekturen til DES-algoritmen.

Generisk arkitektur av DES-algoritmen

RC2

Dette er en blokkchifferalgoritme der dataene først deles inn i en blokkstørrelse på 8 byte og disse blokkene behandles separat. Denne algoritmen ble mye brukt på 90-tallet. Rc2-chiffer bruker en hemmelig brukernøkkel hvis størrelse kan variere fra en byte til 128 byte. Den tar denne hemmelige brukernøkkelen og bruker en nøkkelutvidelsesalgoritme og krypterer dataene. Denne algoritmen er utformet på en slik måte at den enkelt kan implementeres i 16-biters mikroprosessorer. Her er det ingen Feistel-runder, i stedet gjennomgår dataene 18 runder med miksing og mosing. Fig2.b viser den generiske arkitekturen til RC2-algoritmen.

Generisk arkitektur av RC2-algoritme

Blowfish

Dette er en asymmetrisk algoritme som erstatter DES. Her er blokkstørrelsen 64 biter og nøkkelstørrelser fra 32 til 448 biter. Kryptering ved bruk av blowfish består hovedsakelig av to stadier

  • Rund funksjon
  • Utgangsdrift

Den runde funksjonen utfører følgende trinn

  1. Nøkkelbleking, der den venstre delen av inndatadataene tas og eksklusiv ELLER operasjon utføres på den.
  2. I det andre trinnet bruker den S-bokser, disse S-boksene kartlegger en 8-bits data til 32 bit, og resultatet blir tatt for å kombinere med en kombinasjon av tilleggs- og XOR-operasjoner
  3. Ovennevnte to trinn kombinert sammen referert til som F-funksjon. Med utgangen fra F-funksjonen og høyre side av inndatadataene blir XOR-operasjonen utført.
  4. Det siste trinnet innebærer bytte av output.

Utgangsfunksjonen respekterer den endelige bytten og utfører utgangsbleking. Utgangen til denne funksjonen er en blowfish-chiffertekst. Dekryptering med blowfish innebærer bruk av den samme strukturen som kryptering som den bruker en Feistel-chiffer, men rundtastene må brukes i omvendt rekkefølge. Den største fordelen med denne algoritmen er at den er tilgjengelig i det offentlige, slik at den er lett tilgjengelig. Ulempene er i utgangspunktet det er litt tidkrevende å generere nøklene, og hvis blokkstørrelsen er liten, er den sårbar for angrep.

Bruksområder av symmetriske algoritmer

Noen av stedene der den symmetriske krypteringsalgoritmen brukes er

  • Korttransaksjoner brukes for å forhindre identitetstyverier og uredelige transaksjoner.
  • For å bekrefte messengerens identitet.
  • Hashing og generering av tilfeldig tall
  • Datakryptering

Konklusjon - symmetriske algoritmer

Symmetriske algoritmer er mye raskere og effektive sammenlignet med asymmetriske algoritmer. Dette er desto mer grunn til at de brukes i bulk-kryptering. Men ulempen er at nøkkelhåndteringen er veldig uttømmende, og derfor er vedlikehold i stor skala en kjedelig oppgave, der vi må ha sikkerhetsgrad i høy kvalitet, for å oppnå dette må vi ha opprettholdt livssyklusen til nøkkelen som genereres ved hjelp av det separate systemet . Derfor må vi alltid bruke riktig kryptering for å unngå angrep på dataene våre.

Anbefalte artikler

Dette er en guide til symmetriske algoritmer. Her diskuterer vi introduksjon og typer symmetriske algoritmer sammen med DES & Triple DES. Du kan også gå gjennom de andre foreslåtte artiklene våre for å lære mer–

  1. Hva er WebSocket?
  2. Nettapplikasjonssikkerhet
  3. Karriere innen webutvikling
  4. Karrierer innen webdesign
  5. Blokker krypteringsmodus for drift
  6. Eksempler på C ++ algoritme