Hva er symmetrisk kryptering?

Det er mange forskjellige deler av kryptografi. Hvis du imidlertid ønsker å kryptere noen data, er det to typer algoritmer du kan bruke: symmetriske krypteringsalgoritmer og asymmetriske krypteringsalgoritmer. Det overordnede konseptet er det samme, de kan kryptere data, men de jobber etter ulike prinsipper og har ulike brukstilfeller. Tittelforskjellen beskriver imidlertid krypteringsnøklene. En symmetrisk krypteringsalgoritme bruker en enkelt delt nøkkel for både å kryptere og dekryptere data. En asymmetrisk krypteringsalgoritme bruker to koblede nøkler, en for å dekryptere og en for å dekryptere.

Egenskaper til symmetriske krypteringsalgoritmer

Som nevnt ovenfor, er nøkkelen som kjennetegner en symmetrisk krypteringsalgoritme det faktum at du bruker en enkelt nøkkel til både å kryptere og dekryptere data. Det er ikke å si at det bare er én mulig krypteringsnøkkel, bare hvis du krypterer noe med én nøkkel, må du bruke den samme nøkkelen for å dekryptere den. Det blir noen ganger referert til som delt nøkkelkryptering. Dette er fordi hver deltaker trenger å vite den samme nøkkelen, og derfor må du dele den.

Denne egenskapen med å bruke samme nøkkel for å kryptere og dekryptere kan være litt av et problem. For å bruke en symmetrisk krypteringsalgoritme må du kunne kommunisere den sikkert. Men du kan ikke gjøre det uten allerede å ha en sikker måte å kommunisere på. Heldigvis kan dette problemet løses med asymmetrisk kryptering, men det er verdt å forstå.

Nøklene for symmetriske krypteringsalgoritmer har en tendens til å være ganske små, i det minste sammenlignet med asymmetrisk kryptering. Dette gjør dem relativt enkle å overføre over selv en treg nettverkstilkobling og mindre sårbare for feil i et upålitelig nettverk. Symmetriske krypteringsalgoritmer er også raske sammenlignet med asymmetriske algoritmer.

Alle disse egenskapene gjør symmetriske krypteringsalgoritmer spesielt nyttige for bulkkryptering av data. Dette er spesielt tilfelle når hastighet er et problem.

Stream chiffer og blokk chiffer

AES er sannsynligvis den mest kjente symmetriske krypteringsalgoritmen. Den brukes i stort sett alt som krypterer mye data og er en standard del av krypteringspakkene som brukes i HTTPS. AES er et blokkchiffer med 128-biters blokker. En blokkchiffer fungerer ved å kryptere blokker med data om gangen. Hver blokk må ha samme størrelse. Dette er greit når de gjenværende dataene er større enn blokkstørrelsen, men betyr at en eller annen form for utfylling må brukes for å fullføre blokken.

En strømchiffer fungerer ved å kryptere mye mindre datamengder om gangen, vanligvis én byte om gangen. En variant av dette konseptet er substitusjonssifferet som fungerer på bokstaver. Substitusjonssiffer er sårbare for frekvensanalyse og er derfor vanligvis upålitelige og ubrukte. Strømchiffer har imidlertid ikke dette problemet.

Symmetriske algoritmer har en tendens til å være sårbare for kjente klartekst-angrep, valgt-klartekstangrep, differensiell kryptoanalyse og lineær kryptoanalyse. Moderne algoritmer er imidlertid nøye designet med dette i tankene, og disse problemene er derfor ikke et problem.

Konklusjon

Symmetrisk kryptering er en form for kryptering som bruker samme nøkkel for både å kryptere og dekryptere data. I noen tilfeller er selve algoritmen den samme for både kryptering og dekryptering, selv om dette ikke nødvendigvis er tilfelle. Krypteringsnøkler har en tendens til å være relativt korte og enkle å overføre. Nøkkelen må imidlertid overføres over en sikker kanal da den må kommuniseres mellom alle involverte parter. Symmetriske krypteringsalgoritmer har en tendens til å være mye raskere enn asymmetriske krypteringsalgoritmer.