Cryptology Academy · Lektion

Lærebogs-RSA og hvorfor det er usikkert

Demonstrér modificerbarhed, angreb med små eksponenter og sårbarheder ved e=3.

Lektion 1 af 413 trin

Lærebogs-RSA og hvorfor det er usikkert er en gratis Cryptology Academy-lektion på CoddyKit. Dette er lektion 1 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

Lærebogs-RSA (rå modulær eksponentiering) har flere kritiske sårbarheder. I denne lektion gennemgår vi hvert angreb og forstår, hvorfor padding ikke er valgfri.

Deterministisk angreb

Lærebogs-RSA er deterministisk: Enc(M) giver altid den samme C. En angriber kan kryptere mulige meddelelser og sammenligne dem med målchifferteksten. Det bryder fortroligheden for små meddelelsesrum.

Formbarhed

RSA er multiplikativt formbar: Enc(M1) × Enc(M2) = Enc(M1×M2) mod n. En angriber kan gange en chiffertekst med Enc(2) = 2^e og tvinge klarteksten til at blive fordoblet — uden at kende nøglen.

Angreb på små meddelelser (e=3)

Hvis e=3 og M < n^(1/3): C = M^3 mod n = M^3 (ingen modulær reduktion). Tager man kubikroden af C, får man M direkte. Brug altid RSA med padding, og sørg for, at M er stor nok.

Coppersmiths angreb

Coppersmith viste, at hvis e=3, og angriberen kender en stor del af M (f.eks. M = YYYY-MM-DD...[ukendt del]), kan polynomiefaktorisering gendanne de ukendte bit. Korte paddingfyldte klartekster er sårbare.

Håstads udsendelsesangreb

Hvis den samme M sendes til 3 modtagere, der hver bruger e=3, bestemmer C1,C2,C3 ved hjælp af CRT M^3 mod (n1×n2×n3). Kubikroden giver direkte M. Krypter aldrig den samme klartekst med e=3 til flere modtagere.

Franklin-Reiter-angreb på relaterede meddelelser

Hvis to meddelelser M1 og M2 er lineært relaterede (M2 = aM1+b), og begge krypteres med den samme nøgle, kan relationen udnyttes til at gendanne M1 og M2. Padding med tilfældige bytes forhindrer dette.

Angreb med fælles modul

Hvis to servere deler n, men bruger forskellige e1,e2 med GCD(e1,e2)=1, og begge krypterer den samme M, kan M gendannes ved hjælp af den udvidede Euklidiske algoritme. Del aldrig moduler mellem enheder.

Tidsangreb på RSA-dekryptering

RSA-dekrypteringstiden afhænger af bittene i den private nøgle (kvadrér-og-gang varierer efter bit). Kochers tidsangreb fra 1996 målte dekrypteringstider for at gendanne private nøgler. Løsning: sløring.

RSA-forsvar med sløring

Før dekryptering: C' = C × r^e mod n (gang med den tilfældige sløringsfaktor r^e). Beregn M' = C'^d mod n. M = M' × r^(-1) mod n. Tiden afhænger nu af r, ikke M — angriberen ser kun støjfyldte målinger.

Den grundlæggende løsning: Tilfældig padding

Alle angreb på lærebogs-RSA har en fælles løsning: tilfældig padding. PKCS#1 v1.5 tilføjede tilfældighed. OAEP tilføjede beviselig sikkerhed. Med korrekt padding virker ingen af ovenstående angreb.

Hurtig kontrol

Hvilken egenskab ved lærebogs-RSA gør det muligt for en angriber at teste, om en chiffertekst indeholder en bestemt meddelelse?

Opsummering

Lærebogs-RSA er farligt usikkert. Nu undersøger vi PKCS#1 v1.5-padding — dets design og anvendelse samt Bleichenbacher-angrebet, der brød det.
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 “Lærebogs-RSA og hvorfor det er usikkert” gratis?

Ja — hele teksten til “Lærebogs-RSA og hvorfor det er usikkert” 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 “Lærebogs-RSA og hvorfor det er usikkert”?

Demonstrér modificerbarhed, angreb med små eksponenter og sårbarheder ved e=3. 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 1 af 4.

Hvor lang tid tager lektionen “Lærebogs-RSA og hvorfor det er usikkert”?

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. Lærebogs-RSA og hvorfor det er usikkert
  2. PKCS#1 v1.5-padding og Bleichenbacher
  3. OAEP: Optimal Asymmetric Encryption Padding
  4. RSA-PSS til digitale signaturer
← Tilbage til Cryptology Academy