Cryptology Academy · Lektion

Hvorfor XOR alene ikke er sikkert

Lær om angreb med genbrugte nøgler og crib-dragging mod svag XOR-kryptering

Lektion 3 af 413 trin

Hvorfor XOR alene ikke er sikkert er en gratis Cryptology Academy-lektion på CoddyKit. Dette er lektion 3 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i Cryptology Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Cryptology Academy-kurset indeholder 4 lektioner i alt.

Velkommen

I denne lektion går vi fra teori til konkrete angreb mod XOR-kryptering: genbrug af nøgler, angreb med kendt klartekst og crib-dragging.

Situation med genbrug af en svag nøgle

Forestil dig en webapp, der krypterer sessionstokens med den samme XOR-nøgle. En angriber opsnapper to krypterede tokens. Når de XOR'es, ophæves nøglen: C1^C2 = P1^P2.

Angreb med kendt klartekst

Hvis P1 er kendt: K = P1 XOR C1. Nu kan alle andre chiffertekster, der er krypteret med den samme K, dekrypteres: Pi = Ci XOR K. Én kendt klartekst bryder hele systemet.

Crib-dragging, trin 1

Når P1 er ukendt: Gæt en almindelig frase (en crib) som »den «. XOR din crib med P1^P2 på hver position. Hvis der dukker læsbar tekst op i P2, var cribben placeret på den position.

Crib-dragging, trin 2

Brug den afslørede P2-tekst som en ny og længere crib, og skub den længere gennem XOR-strømmen. Hvert ord, du finder, hjælper med at finde det næste. Ofte kan fulde meddelelser gendannes på få minutter.

Statistisk gendannelse af nøglen

Med mange chiffertekster, der bruger den samme nøgle: En position, hvor XOR-resultatet er 0, betyder, at Pi = Pj på den position. Når snesevis af meddelelser justeres efter hinanden, afsløres nøglebytes én efter én.

Korte gentagne XOR-nøgler

Nøgler, der er kortere end meddelelserne, gentages. Behandl det som Vigenère: bestem nøglelængden ved hjælp af IoC, og lav derefter frekvensanalyse af hver position uafhængigt. Brudt på få sekunder.

Angreb med valgt klartekst

Hvis en angriber kan kryptere vilkårlige klartekster: Indsend P=0x00...00. Så er C = nøglen direkte. Eller indsend en kendt værdi for at lære K = P XOR C på enhver position.

Bit-flipping-angreb

XOR-chiffre uden MAC'er tillader bit-flipping: Vend bit i i chifferteksten → bit i i klarteksten vendes. Angriberen kan ændre krypterede data uden at kende nøglen.

Hvorfor AES alene ikke er nok

AES i ECB-tilstand er deterministisk — den samme blok krypteres altid ens. CTR-tilstand uden autentificering tillader bit-flipping. Brug altid autentificeret kryptering (AES-GCM).

Forsvar: autentificeret kryptering

Autentificeret kryptering (AE) kombinerer kryptering med en MAC. Enhver ændring af chifferteksten får MAC-kontrollen til at mislykkes, før dekryptering finder sted. AEAD-skemaer som AES-GCM forhindrer bit-flipping.

Hurtigt tjek

En angriber har to XOR-krypterede meddelelser, der bruger den samme nøgle. Hvad afslører det, når chifferteksterne XOR'es?

Opsummering

Du har set, hvordan XOR svigter uden ordentlig nøglehåndtering og autentificering. Dernæst ser vi XOR's korrekte rolle i AES og moderne strømchiffre.
Gratis at komme i gang

Lær Cryptology Academy med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
67
Lektioner
261

Ofte stillede spørgsmål

Er lektionen “Hvorfor XOR alene ikke er sikkert” gratis?

Ja — hele teksten til “Hvorfor XOR alene ikke er sikkert” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af Cryptology Academy-kurset, skal du opgradere til CoddyKit PRO. Cryptology Academy-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “Hvorfor XOR alene ikke er sikkert”?

Lær om angreb med genbrugte nøgler og crib-dragging mod svag XOR-kryptering Du øver dig i Cryptology Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på Cryptology Academy?

Der kræves ingen tidligere erfaring. Cryptology Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 3 af 4.

Hvor lang tid tager lektionen “Hvorfor XOR alene ikke er sikkert”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne Cryptology Academy-lektion?

Ja. Alle Cryptology Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. Genopfriskning af bitvise operationer
  2. XOR-kryptering og engangsnøglen
  3. Hvorfor XOR alene ikke er sikkert
  4. XOR i AES og stream-koder
← Tilbage til Cryptology Academy