Chiffer (kryptering): definition, nøgler og typer i kryptografi
Chiffer (kryptering): Få overblik over cifre, nøgler og typer — symmetrisk vs. asymmetrisk kryptering og hvordan det beskytter data i moderne kryptografi.
En cipher (eller cypher) er en algoritme til kryptering (kodning) eller dekryptering (dekodning). En cipher består af en række veldefinerede trin, der følges som en procedure for at omdanne data. At kryptere eller kode betyder at omdanne information fra klar tekst til en uforståelig form, ofte kaldet ciphertext, så kun personer med den rette nøgle kan læse den.
I ikke-teknisk sprogbrug bruges ordet "ciffer" ofte synonymt med "kode". Inden for kryptografi skelnes der dog mellem cifre og koder: et ciffer arbejder typisk på symbolniveau (bogstaver eller bits), mens en kode erstatter hele ord eller sætninger gennem en kodebog. Historisk blev koder (store kodebøger) brugt til at erstatte ord med tilfældige tegnrækker, f.eks. kunne "UQJHSE" betyde "Fortsæt til følgende koordinater". I moderne kryptografi er koder i denne forstand sjældne, og man krypterer for det meste bitstrømme.
Klassiske og moderne eksempler
Klassiske cifre omfatter simple substitutioner og transpositioner, f.eks. Caesar-cifferet (hvor hvert bogstav forskydes et fast antal pladser) og Vigenère-cifferet (en gentaget nøgle bruges til forskydning). Mere avancerede historiske metoder kombinerede flere trin for at øge sikkerheden.
Moderne cifre er designet til digitale data og omfatter:
- symmetriske nøglealgoritmer (kryptografi med privat nøgle): Samme nøgle bruges til kryptering og dekryptering. Eksempler: AES (Advanced Encryption Standard) og tidligere DES. Symmetriske cifre kan være enten blokkiffer (processerer faste blokke af data) eller strømcifre (generatorer af en nøgle-stream der kombineres med data).
- asymmetriske nøglealgoritmer (kryptografi med offentlige nøgler): Her anvendes to forskellige nøgler — en offentlig nøgle til kryptering (eller verifikation) og en privat nøgle til dekryptering (eller signering). Eksempler: RSA, ECC (Elliptic Curve Cryptography).
Nøgler, nøglestyring og principper
En nøgle bestemmer den specifikke transformation fra klartekst til ciffertekst og omvendt. Nøglens styrke (længde og kvalitet) er afgørende for sikkerheden: længere nøgler giver normalt større modstand mod brute-force-angreb. Nøglestyring (opbevaring, distribution, udskiftning) er ofte det svageste led i et system.
Vigtige principper og teknikker:
- Kerckhoffs' princip: Sikkerheden bør ikke afhænge af hemmeligholdelse af selve algoritmen, men kun af hemmeligholdelse af nøglen.
- One-time pad: Når den anvendes korrekt (helt tilfældig nøgle, samme længde som klarteksten, kun bruges én gang), er den teoretisk ubrydelig.
- Nøgleudveksling: Protokoller som Diffie–Hellman bruges til at etablere fælles symmetriske nøgler over usikre kanaler.
Sikkerhedsegenskaber og autentificering
Kryptografiske cifre bruges ikke kun til fortrolighed, men også til integritet og autentificering. Almindelige egenskaber og mekanismer omfatter:
- Fortrolighed: Sikrer at kun autoriserede parter kan læse indholdet.
- Integritet: Sikrer at data ikke er ændret (ofte opnået med hashfunktioner og Message Authentication Codes — MAC).
- Autentificering og digitale signaturer: Asymmetrisk kryptografi bruges til at bevise identitet og ikke-afviselighed.
- Authenticated encryption (f.eks. AES-GCM): Kombinerer kryptering og integritetsbeskyttelse i én konstruktion.
Angreb og modforanstaltninger
Kryptosystemer kan angribes på mange måder:
- Brute force: Prøver alle mulige nøgler — modvirkes ved tilstrækkelig nøglelængde.
- Kryptanalyse: Metoder som udnytter strukturer i cifret (f.eks. frekvensanalyse mod simple substitutioner).
- Sidekanalangreb: Angreb der udnytter information fra implementeringen (tidsmålinger, strømforbrug osv.).
- Svag nøglehåndtering: Hvis nøgler kompromitteres, er selv stærke algoritmer værdiløse.
Anvendelser
Cifre anvendes bredt i moderne IT og kommunikation: sikre forbindelser (TLS/HTTPS), krypterede lagringsløsninger, VPN, digitale signaturer, e‑post-kryptering og IoT-sikkerhed. Valg af algoritme, nøglelængde og drift (f.eks. hvilke krypteringsmodes som CBC, CTR eller GCM) afgør både sikkerhed og ydeevne.
Etymologi
Ordet cifre stammer fra fransk cifre og middelalderlatin cifra, fra arabisk sifr, der betyder "nul". Den første kendte engelske brug af nul var i 1598.
Samlet set er en cipher et centralt værktøj i moderne sikker kommunikation. For praktisk anvendelse er det vigtigt ikke blot at vælge stærke kroner og algoritmer, men også at sikre korrekt implementering, nøglestyring og beskyttelse mod sidekanalangreb.
Relaterede sider
- Kode
- Kryptering
- Nøgle (kryptografi)
- Blokcifring
- Produktchiffer
- Ciphertext
- Angreb kun på ciffertekst
Spørgsmål og svar
Q: Hvad er en ciffer?
A: En ciffer (eller cypher) er en algoritme til at udføre kryptering (kodning) eller dekryptering (afkodning). Det er en række veldefinerede trin, der kan følges som en procedure.
Spørgsmål: Hvordan krypterer man oplysninger?
Svar: At kryptere eller kode er at omdanne information fra almindelig tekst til en kode eller kode.
Spørgsmål: Hvad er forskellen mellem en ciffer og en kode?
A: I ikke-teknisk sprogbrug betyder "cipher" ofte det samme som "kode", men inden for kryptografi skelnes der mellem cipher og kode. En kilde fra det 20. århundrede giver denne forklaring: En ciffer er "en metode, hvor den grundlæggende enhed for hemmeligholdelse er bogstavet. Til sammenligning er en kode en form for hemmelighedskræmmeri, hvor den grundlæggende enhed er ordet".
Spørgsmål: Hvordan virker kryptering?
Svar: En kryptering bruges til at omdanne den oprindelige information ("klartekst") til den krypterede form "ciffertekst". Den krypterede tekst indeholder alle oplysningerne i den klare tekst, men kan ikke læses af mennesker eller computere uden den rette mekanisme til at dekryptere den. For at kryptere eller dekryptere skal man bruge en "nøgle". Ved kryptering angiver en nøgle den særlige transformation af klartekst til ciffertekst eller omvendt under dekryptering.
Spørgsmål: Hvordan opdeles kryptering efter den anvendte nøgletype?
A: Krypteringer opdeles i symmetriske nøglealgoritmer (kryptering med privat nøgle): hvor den samme nøgle anvendes til kryptering og dekryptering, og asymmetriske nøglealgoritmer (kryptering med offentlig nøgle): hvor to forskellige nøgler anvendes til kryptering og dekryptering.
Spørgsmål: Hvor kommer "cipher" fra?
A: Ordet "cipher" kommer fra fransk cifre og middelalderlatin cifra, fra arabisk sifr, der betyder "nul". Den første kendte engelske brug af nul var i 1598.
Søge