Cryptology Academy · Lektion

Så fungerar Caesar-chiffret

Implementera och knäck det klassiska substitutionschiffret ROT-N

Lektion 1 av 413 steg

Så fungerar Caesar-chiffret är en gratis lektion i Cryptology Academy på CoddyKit. Detta är lektion 1 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för Cryptology Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Cryptology Academy innehåller totalt 4 lektioner.

Välkommen

Caesar-chiffret är det enklaste substitutionschiffret. Varje bokstav förskjuts ett fast antal positioner i alfabetet. Nu ska vi implementera och knäcka det.

Så fungerar Caesar-chiffret

Med förskjutningen 3: A→D, B→E, ..., Z→C. ’HELLO’ blir ’KHOOR’. Vid dekryptering förskjuts bokstäverna tillbaka: ’KHOOR’ blir ’HELLO’.

Matematisk definition

Kryptering: E(x) = (x + k) mod 26. Dekryptering: D(y) = (y - k) mod 26. Här är x bokstavens index (A=0) och k förskjutningsnyckeln.

Varianten ROT-13

ROT-13 är ett Caesar-chiffer med förskjutningen shift=13. Eftersom 13+13=26 är kryptering och dekryptering samma funktion. Det används på forum för att dölja spoilers.

Kryptering i Python

def caesar(text, k): result = '' for c in text.upper(): if c.isalpha(): result += chr((ord(c) - 65 + k) % 26 + 65) else: result += c return result print(caesar('HELLO', 3)) # KHOOR

Dekryptering i Python

Dekryptering är helt enkelt kryptering med en negativ förskjutning: def decrypt(text, k): return caesar(text, -k) print(decrypt('KHOOR', 3)) # HELLO

Knäcka Caesar med brute force

Det finns bara 25 möjliga förskjutningar. En angripare testar helt enkelt alla 25 och väljer det resultat som ser ut som engelska. Ingen dator behövs – det tar bara några sekunder för hand.

Analys av nyckelutrymmet

Nyckelutrymme = 26, eller 25 om identiteten undantas. Jämför det med AES-128, som har 2^128 ≈ 3,4×10^38 nycklar. Caesar-chiffrets nyckelutrymme är katastrofalt litet.

Förhandsvisning av frekvensanalys

Även utan brute force fungerar frekvensanalys: ’E’ är den vanligaste bokstaven i engelska (cirka 13 %). Hitta den vanligaste bokstaven i chiffertexten och gissa förskjutningen.

ROT-N i riktig kod

Python: import codecs; codecs.encode('hello', 'rot_13') ger 'uryyb'. ROT-13 är inbyggt i Pythons codecs-modul, vilket visar dess historiska betydelse.

Caesar i ett historiskt sammanhang

Caesar använde förskjutningen 3 i sin privata korrespondens. Mot motståndare som inte kunde läsa fungerade det. Mot bildade motståndare hade chiffret knäckts trivialt senast år 800.

Snabbtest

Vilken chiffertext får ’ABC’ med ett Caesar-chiffer och förskjutningen 3?

Sammanfattning

Du har implementerat och knäckt Caesar-chiffret. Nästa steg är att utforska mer komplexa klassiska chiffer: Atbash och Affine.
Gratis att börja

Lär dig Cryptology Academy med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
67
Lektioner
261

Vanliga frågor

Är lektionen ”Så fungerar Caesar-chiffret” gratis?

Ja – hela texten till ”Så fungerar Caesar-chiffret” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i Cryptology Academy, kan Ni uppgradera till CoddyKit PRO. Kursen i Cryptology Academy innehåller totalt 4 lektioner.

Vad lär jag mig i ”Så fungerar Caesar-chiffret”?

Implementera och knäck det klassiska substitutionschiffret ROT-N Ni övar på Cryptology Academy med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig Cryptology Academy?

Du behöver inga förkunskaper. Utbildningen i Cryptology Academy på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 1 av 4.

Hur lång tid tar lektionen ”Så fungerar Caesar-chiffret”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här Cryptology Academy-lektionen?

Ja. Varje Cryptology Academy-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. Så fungerar Caesar-chiffret
  2. Atbash- och affinchiffer
  3. Vigenère- och polyalfabetiska chiffer
  4. Grunderna i frekvensanalys och kryptoanalys
← Tillbaka till Cryptology Academy