En kryptering er en algoritme, der krypterer og dekrypterer data. Den bruger almindelig tekst og en nøgle og producerer krypteret tekst, der ligner tilfældig støj. Uden nøglen er krypteret tekst ubrugelig. Med nøglen kommer den oprindelige besked tilbage. Kryptering har eksisteret i tusinder af år, fra Cæsars Shift-kryptering til Enigma-maskinen til moderne AES. Matematikken har ændret sig. Målet har ikke.
Moderne chiffere findes i to varianter. Symmetriske chiffere bruger den samme nøgle til kryptering og dekryptering. AES er standarden, der bruges overalt fra diskkryptering til HTTPS. Den er hurtig og sikker med korrekte nøglestørrelser. Stream-chiffere som ChaCha20 krypterer data én bit eller byte ad gangen og fungerer godt på enheder uden hardwareacceleration. Asymmetriske chiffere bruger et nøglepar og løser problemet med nøglefordeling, men de er langsommere og bruges mest til nøgleudveksling og signaturer. Chifferen er kun så stærk som dens implementering. Svage nøgler, genbrugte noncer og dårlig padding har ødelagt systemer, der brugte stærke algoritmer. Matematikken er normalt ikke det svage punkt.
Krypteringskategorier
- Klassisk — substitution og transposition, historisk vigtig
- Symmetrisk blok — AES, krypterer blokke med fast størrelse
- Symmetrisk strøm — ChaCha20, krypterer kontinuerlige data
- Asymmetrisk — RSA, ECC, bruges til nøgleudveksling og signaturer
Opfind ikke din egen kryptering. Brug etablerede algoritmer og biblioteker, der har overlevet årtiers granskning.
Comments
No comments yet. Be the first to share a thought.
Leave a comment