Hvad er symmetrisk kryptering?

click fraud protection

Der er mange forskellige dele af kryptografi. Hvis du dog ønsker at kryptere nogle data, er der to typer algoritmer, du kan bruge: symmetriske krypteringsalgoritmer og asymmetriske krypteringsalgoritmer. Det overordnede koncept er det samme, de kan kryptere data, men de arbejder ud fra forskellige principper og har forskellige use cases. Titulære forskellen beskriver imidlertid krypteringsnøglerne. En symmetrisk krypteringsalgoritme bruger en enkelt delt nøgle til både at kryptere og dekryptere data. En asymmetrisk krypteringsalgoritme bruger to sammenkædede nøgler, en til at dekryptere og en til at dekryptere.

Egenskaber for symmetriske krypteringsalgoritmer

Som nævnt ovenfor er det nøglekendetegn ved en symmetrisk krypteringsalgoritme, at du bruger en enkelt nøgle til både at kryptere og dekryptere data. Det betyder ikke, at der kun er én mulig krypteringsnøgle, bare hvis du krypterer noget med én nøgle, skal du bruge den samme nøgle til at dekryptere det. Det omtales nogle gange som delt nøglekryptering. Dette skyldes, at hver deltager skal kende den samme nøgle, og derfor skal du dele den.

Denne egenskab med at bruge den samme nøgle til at kryptere og dekryptere kan være lidt af et problem. For at bruge en symmetrisk krypteringsalgoritme skal du være i stand til at kommunikere den sikkert. Men du kan ikke gøre det uden allerede at have et sikkert middel til at kommunikere. Heldigvis kan dette problem løses med asymmetrisk kryptering, men det er værd at forstå.

Nøglerne til symmetriske krypteringsalgoritmer har tendens til at være ret små, i det mindste sammenlignet med asymmetrisk kryptering. Dette gør dem relativt nemme at transmittere over selv en langsom netværksforbindelse og mindre sårbare over for fejl i et upålideligt netværk. Symmetriske krypteringsalgoritmer er også hurtige sammenlignet med asymmetriske algoritmer.

Alle disse egenskaber gør symmetriske krypteringsalgoritmer særligt nyttige til bulkkryptering af data. Dette er især tilfældet, når hastighed er et problem.

Stream ciphers og blok ciphers

AES er nok den bedst kendte symmetriske krypteringsalgoritme. Det bruges i stort set alt, der krypterer masser af data og er en standard del af krypteringssuiterne, der bruges i HTTPS. AES er en blokchiffer med 128-bit blokke. En blokchiffer fungerer ved at kryptere datablokke ad gangen. Hver blok skal have samme størrelse. Dette er fint, når de resterende data er større end blokstørrelsen, men betyder, at der skal bruges en form for polstring for at fuldføre blokken.

En stream-chiffer fungerer ved at kryptere meget mindre mængder data ad gangen, typisk én byte ad gangen. En variation af dette koncept er substitutionskrypteringen, der virker på bogstaver. Substitutionscifre er sårbare over for frekvensanalyse og er derfor typisk upålidelige og ubrugte. Streamcifre har dog ikke dette problem.

Symmetriske algoritmer har en tendens til at være sårbare over for kendte klartekstangreb, valgt-klartekstangreb, differentiel kryptoanalyse og lineær kryptoanalyse. Moderne algoritmer er imidlertid blevet omhyggeligt designet med dette i tankerne, og derfor er disse problemer ikke et problem.

Konklusion

Symmetrisk kryptering er en form for kryptering, der bruger den samme nøgle til både at kryptere og dekryptere data. I nogle tilfælde er selve algoritmen den samme til både at kryptere og dekryptere, selvom dette ikke nødvendigvis er tilfældet. Krypteringsnøgler har en tendens til at være relativt korte og nemme at overføre. Nøglen skal dog transmitteres over en sikker kanal, da den skal kommunikeres mellem alle involverede parter. Symmetriske krypteringsalgoritmer har tendens til at være meget hurtigere end asymmetriske krypteringsalgoritmer.