Oversikt over kryptografi



Like dokumenter
Forelesning 24 mandag den 10. november

Oversikt over det kinesiske restteoremet

Oversikt over kvadratiske kongruenser og Legendresymboler

Oversikt over lineære kongruenser og lineære diofantiske ligninger

Oversikt over bevis at det finnes uendelig mange primtall med bestemte egenskaper

6 Kryptografi Totienten Eulers teorem Et eksempel på et bevis hvor Eulers teorem benyttes RSA-algoritmen...

MA1301 Tallteori Høsten 2014 Oversikt over pensumet

Forelesning 19 torsdag den 23. oktober

MA1301 Tallteori Høsten 2014 Løsninger til Eksamen

Løsningsforslag Øving 5 TMA4140 Diskret matematikk Høsten 2010

Forelesning 20 mandag den 27. oktober

Forelesning 14 torsdag den 2. oktober

MA1301 Tallteori Høsten 2014

Kryptering Kongruensregning Kongruensregning i kryptering Litteratur. Hemmelige koder. Kristian Ranestad. 9. Mars 2006

Teorem 10 (Z n, + n ) er en endelig abelsk gruppe. 8. november 2005 c Vladimir Oleshchuk 35. Teorem 11 (Z n, ) er en endelig abelsk gruppe.

TMA4140 Diskret Matematikk Høst 2018

INF1040 Oppgavesett 14: Kryptering og steganografi

Løysingsforslag til eksamen i MA1301-Talteori, 30/

KAPITTEL 10. EUKLIDS ALGORITME OG DIOFANTISKE LIGNINGER

MA1301 Tallteori Høsten 2014 Oversikt over pensumet for midtsemesterprøven

Dette brukte vi f.eks. til å bevise binomialteoremet. n i. (a + b) n = a i b n i. i=0

Oppgaver til kapittel 19 - Kryptering og steganografi

Forelesning 21 torsdag den 30. oktober

Euklids algoritmen. p t 2. 2 p t n og b = p s 1. p min(t 2,s 2 )

Største felles divisor. (eng: greatest common divisors)

OFFENTLIG-NØKKELKRYPTOGRAFI

KODER I KLASSEROMMET

KONTINUASJONSEKSAMEN I TMA4140 LØSNINGSFORSLAG

1. Cæsarchiffer er en av de enkleste krypteringsteknikkene. Hva går teknikken ut på?

STEPH. GREG Hei, hva skjer? STEPH Kan jeg komme inn, eller? GREG Ja, faen, kom inn 'a Vil du ha en pils, eller? STEPH Pils nå? Nei takk.

STØRRELSER OG TALL Om størrelser skriver Euklid i Bok 5: 1. En størrelse er en del av en annen størrelse, den mindre av den større når den måler (går

Eksamen i TMA4155 Kryptografi Intro Høst 2003 Løsningsskisse

Forelesning 9 mandag den 15. september

Steg 1: Regneoperasjoner på en klokke

QED 1 7. Matematikk for grunnskolelærerutdanningen. Bind 2. Fasit kapittel 1 Tallenes hemmeligheter

NÆROSET IDRETTSLAG. Organisasjonsnummer:

Øvingsforelesning 4. Modulo hva er nå det for no? TMA4140 Diskret Matematikk. 24. og 26. september 2018

Koder. Kristian Ranestad. 8. Mars 2005

Eksamen i MNFMA205/SIF5021, 19. mai 1999-Løsningsforslag a b Oppgave 2. (a) Vi skal vise at H = 0 a b under matrisemultiplikasjon. Vi har at det.

Forelesning 2 torsdag den 21. august

JERRY Hva vil du gjøre da? EMMA Jeg vet faktisk ikke hva vi gjør lenger, det er bare det. EMMA Jeg mener, denne leiligheten her...

Posisjonsystemet FRA A TIL Å

Relativt primiske tall

«Litterasitetsutvikling i en tospråklig kontekst»

I D. N R K I D S C R E E N S P Ø R R E S K J E M A

En eksplosjon av følelser Del 3 Av Ole Johannes Ferkingstad

INT. BRYGGA. SENT Barbro har nettopp fått sparken og står og venter på brygga der Inge kommer inn med siste ferja. INGE BARBRO INGE BARBRO INGE

Fest&følelser Del 1 Innledning. Om seksualitet.

SALG. Hvorfor skal vi selge? For å sikre at. Hva er salg? Salg er å få. På samme måte

Forelesning 17 torsdag den 16. oktober

1. Bevis følgende logiske ekvivalens: ((p q) p) (p q) 2. Bestem de sannhetsverdier for p, q og r som gjør følgende utsagn galt: (p (q r)) (q r p)

Barn som pårørende fra lov til praksis

MANN Jeg snakker om den gangen ved elva. MANN Den første gangen. På brua. Det begynte på brua.

Sikkerhet i GSM mobilteleforsystem

LØSNINGSFORSLAG SIF5015 DISKRET MATEMATIKK Onsdag 18. desember 2002

DIANA Vil du hjelpe meg med matvarene? DAVID Okay. DIANA Tomatene ser fine ut... Har du sett dem? David? DAVID Hva er Gryphon?

Forelesning 10 torsdag den 18. september

b) 17 går ikke opp i 84 siden vi får en rest på 16 når 84 deles med 17 c) 17 går opp i 357 siden

NIO 1. runde eksempeloppgaver

Kvinne 30, Berit eksempler på globale skårer

Litterasitetsutvikling i en tospråklig kontekst

Oblig 1 - MAT2400. Fredrik Meyer

Bursdag i Antarktis Nybegynner Scratch PDF

Kristen homofil Av Ole Johannes Ferkingstad

Forelesning 11 mandag den 22. september

2.3 Delelighetsregler

Thomas er lei av livet. Han forsøker å gjøre det slutt med Sarah, hans elsker. Thomas sitter i bilen. Sarah kommer til vinduet.

Fortelling 3 ER DU MIN VENN?

Fasit - det står en sort prikk bak riktig svar. (NB! Rekkefølgen på oppgavesettene varierte).

Eksamensoppgave i MA0301 Elementær diskret matematikk løsningsforslag

Et lite svev av hjernens lek

Ingen hjelpemiddel er tillatne. Ta med all mellomrekning som trengst for å grunngje svaret. Oppgåve 1... (4%) = = 10 =

Ordenes makt. Første kapittel

Diskret matematikk tirsdag 13. oktober 2015

Hannametoden en finfin nybegynnermetode for å løse Rubik's kube, en såkalt "layer-by-layer" metode og deretter en metode for viderekommende.

Kryptografi, del 2. Aslak Bakke Buan, Ole Enge

Ikkevoldelig kommunikasjon Con-flict. Det handler om å være sammen. Arne Næss

Manus til episodene ligger ikke ute, men serien kan sees på HBO. Scenen er hentet fra episode You Are the Wound. HANNAH

Ingen hjelpemiddel er tillatne. Ta med all mellomrekning som trengst for å grunngje svaret. Oppgåve 1... (4%) = = 10 =

SINE Kris? Er du våken? KRISTOFFER. SINE (Jo, det er du vel.) Bli med meg til København. KRISTOFFER. SINE Jeg vil at du skal bli med.

! Slik består du den muntlige Bergenstesten!

Arnold P. Goldstein 1988,1999 Habiliteringstjenesten i Vestfold: Autisme-og atferdsseksjon Glenne Senter

Transkribering av intervju med respondent S3:

MIDTSEMESTERPRØVE I FAG TMA4140 DISKRET MATEMATIKK Mandag 20. oktober 2003 Tid : INSTRUKSJONER:

Steg 1: Rest etter divisjon

Gangemesteren Nybegynner Scratch PDF

Spøkelsesjakten. Steg 1: Lag et flyvende spøkelse. Sjekkliste. Introduksjon

Livet til det lykkelige paret Howie og Becca blir snudd på hodet når deres fire år gamle sønn dør i en ulykke.

Matematikk for IT, høsten 2016

SEX, LIES AND VIDEOTAPE av Steven Soderbergh

Velkommen til minikurs om selvfølelse

Tall Vi på vindusrekka

LF, KONTINUASJONSEKSAMEN TMA

1. mai Vår ende av båten

ANITA forteller. om søndagsskolen og de sinte mennene

Telle i kor steg på 120 frå 120

Matriser. Kapittel 4. Definisjoner og notasjon

Forelesning 1 mandag den 18. august

Il UNIVERSITETET I AGDER

Øvingsforelesning 5. Binær-, oktal-, desimal- og heksidesimaletall, litt mer tallteori og kombinatorikk. TMA4140 Diskret Matematikk

Transkript:

Oversikt over kryptografi Richard Williamson 3. desember 2014 Oppgave 1 Person A ønsker å sende meldingen Ha det! til person B, og ønsker å benytte RSAalgoritmen for å kryptere den. Den offentlige nøkkelen til person B er (91, 43). Krypter meldingen. Hvordan løse oppgaven? Først oversetter vi meldingen fra symboler til heltall, ved å benytte Tabell 6.1 i forelesningsnotatene. Denne tabellen blir gitt ved behov på eksamen. Vi ganske enkelt erstatter hvert symbol i meldingen Ha det! med dets tilsvarende heltall i tabellen. Det vil si: vi erstatter H med 8, A med 1, osv. Tabellen nedenfor viser hele oversettelsen. Symbol H 8 A 1 0 D 4 E 5 T 20! 42 Tilsvarende heltall Tabell 1: Oversettelsen av meldingen Hva gjør jeg da? Ganske enkelt: opphøy alle de oversatte heltallene i 43, altså i det andre naturlige tallet i den offentlige nøkkelen til person B. Vi får: 8 43 1 43 0 43 4 43 5 43 20 43 42 43. 1

Nå må vi erstatte disse heltallene med heltall som er kongruent til dem modulo det første naturlige tallet i den offentlige nøkkelen til person B, altså 91, og som i tillegg er mindre enn 91 og større enn eller like 0. Hvordan gjør jeg det? Hvis heltallet ikke er for stort, kan du bruke kalkulatoren din. Se oversikten over hvordan gjøre dette. Ellers må du dele opp potensen. Hva mener vi med det? La oss for eksempel regne ut 8 43. Vi kan for eksempel begynne med å observere at 8 2 64 27 (mod 91). Da er Da er Vi konkluderer med: 8 4 ( 27) 2 90 1 (mod 91). 8 40 = ( 8 4) 10 ( 1) 10 = 1 (mod 91). 8 43 = 8 40 8 3 1 8 3 = 8 3 57 (mod 91). Poenget nå er at jobber i denne utregningen med heltall som ikke er for store for kalkulatoren din: 8 2, ( 27) 2, og 8 3. En hvilken som helst måte å dele opp potensen kan benyttes. Kanskje hadde vi for eksempel begynt med å observe at 8 6 ikke er for stort for kalkulatoren, og deretter funnet at 8 6 64 (mod 91). Da er Vi konkluderer at Konklusjon 8 12 = ( 8 6) 2 64 2 1 (mod 91). 8 42 = ( 8 12) 3 86 8 1 64 8 = 512 57 (mod 91). Som sagt, erstatter vi alle heltallene 8 43 1 43 0 43 4 43 5 43 20 43 42 43 med heltall som er kongruent til dem modulo 91 men som er mindre enn like 91 og større enn eller like 0. Nå vet vi hvordan gjøre dette. Vi får: 57 1 0 4 47 6 42. 2

Er det riktig å få det samme heltallet som jeg begynte med? I dette eksempelet får vi 4 når vi erstatter 4 43 med et heltall som er kongruent til det modulo 91, og som er mindre enn 91 og større enn eller like 0. Det samme er tilfellet for 42. Er dette riktig? Ja! Ikke bekymr deg for dette: det kan godt hende. Imidlertid har du gjort noe feil om du får det samme heltallet fra to ulike heltall opphøyde i 31. Oppsummering Å kryptere er ikke noe dypt! Vi gjør følgende. (1) Oversett fra symboler til heltall. (2) Opphøy hvert heltall vi får etter å ha oversatt i det andre naturlige tallet i den offentlige nølkkelen til person B. (3) Erstatt heltallene vi får etter å ha fullført (2) med heltall som er kongruent til dem modulo det første naturlige tallet i den offentlige nøkkelen til person B, og som er mindre enn dette naturlige tallet og større enn eller like 0. Hva er en offentlig nøkkel for noe? Å si at (91, 43) er den offentlige nøkkelen til person B er å si: (1) Det finnes et par primtall slik at vi får 91 når vi ganger dem. I dette eksempelet er de to primtallene 7 og 13. (2) Vi har: sfd(43, (7 1)(13 1)) = 1, altså sfd(43, 72) = 1. Her er 7 og 13 de to primtallene fra (1). Verken (1) eller (2) er viktig når vi krypterer: det er når vi dekrypterer at de er relevante. Alle i verden vet den offentlige nøkkelen til person B, og dermed kan sende person B en melding som har blitt kryptert av RSA-algoritmen. Oppgave 2 Person B har fått meldingen 57 47 9 42 fra person A. Meldingen har blitt krypert av RSA-algoritmen. Den offentlige nøkkelen til person B er (91, 43). Den private nøkkelen til person B er (7, 13). Dekrypter meldingen. Hva er en privat nøkkel for noe? Dette består av de to primtallene som gir 91 når vi ganger dem: krav (1) ovenfor som må oppfylles av en offentlig nøkkel sier at det finnes et slikt par primtall. Rekkefølgen av primtallene i den private nøkkelen har ikke noe å si. 3

Hvordan løse oppgaven? Hvordan dekryptere ligner mye på hvordan kryptere, men vi må først gjennomføre et steg til. Hva er dette steget? Vi må finne en invers til 43 modulo (7 1) (13 1), altså modulo 72. Det vil si: vi ønsker å finne et naturlig tall x slik at Hvordan gjør jeg det? 43x 1 (mod 72). Å finne et slikt x er å løse en lineær kongruens. Se oversikten over hvordan gjøre dette. Husk at vi alltid kan benytte Euklids algoritme om vi ikke kommer fort til en annen måte å finne en løsning. Vi kommer fram til at x = 5 er en løsning til kongruensen 43x 1 (mod 72). Da må vi erstatte 5 med et naturlig tall som er kongruent til det modulo 72, for eksempel 67. For å oppsummere: 67 er en invers til 43 modulo 72. Noe vi må være klart over Når vi finner inversen til 43, jobber vi modulo 72, ikke modulo 91. Ellers jobber vi modulo 91 når vi krypterer og dekrypterer. Det andre kravet som må oppfylles av en offentlig nøkkel Det er dette kravet som garanterer at 43x 1 (mod 72) har en løsning, altså at det finnes en invers til 43 modulo 7. Hva gjør jeg når vi har funnet inversen til 43 modulo 91? Opphøy alle de heltallene i meldingen i 67, altså i inversen til 43 modulo 72. Vi får: 57 67 47 67 9 67 42 67. Akkurat som når vi krypterer, må vi ersatte hvert av disse heltallene med et heltall som er kongruent til det modulo 91, og som er i tillegg mindre enn 91 og større enn eller likt 0. Vi kommer fram til: 8 5 9 42. 4

Konklusjon Nå oversetter vi fra heltall til symboler, ved å benytte Tabell 6.1 i forelesningsnotatene. Tabellen nedenfor viser oversettelsen. Symbol 8 H 5 E 9 I 42! Tilsvarende heltall Tabell 2: Oversettelsen av meldingen Dermed er meldingen fra person A: Hei!. Oppsummering Når vi dekrypterer, gjør vi følgende. (1) Finn en invers modulo (p 1)(q 1) til det andre naturlige tallet i den offentlige nøkkelen til person B, hvor (p, q) er den private nøkkelen til person B. (2) Opphøy hvert heltall i den krypterte meldingen i inversen vi fikk i (1). (3) Erstatt heltallene vi får etter å ha fullført (2) med heltall som er kongruent til dem modulo det første naturlige tallet i den offentlige nøkkelen til person B, og som er mindre enn dette naturlige tallet og større enn eller like 0. Hvorfor virker dette? Med andre ord: hvorfor får vi tilbake meldingen som har blitt kryptert når vi dekrypterer sånn? Dette følger fra Eulers teorem, som du kan lese om i forelesningsnotatene. Hvorfor er RSA-algoritmen sikker? Mens alle i verden vet den offentlige nøkkelen til person B, er det kun person B, eller noen person B stoler på, som vet hans eller huns private nøkkel. Noen som vet den private nøkkelen vet at det er 72 som vi bør jobbe mdoulo når vi finner inversen til 43, og deretter kan finne denne inversen og dekryptere meldingen. Poenget er at, når vi har et produkt av to store primtall, finnes det ikke en effektiv algoritme for å komme fram til de to opprinnelige primtallene gitt produktet. Det er dette som fører til at RSA-algoritmen er sikke: hvis noen finner en effektiv algoritme for å komme fram til de to opprinnelige primtallene gitt produktet, blir RSA-algoritmen usikker, og en annen måte å kryptere og dekryptere meldinger må finnes! 5

Oppgave 3 Person B har fått meldingen 57 47 9 42 fra person A. Meldingen har blitt krypert av RSA-algoritmen. Den offentlige nøkkelen til person B er (91, 43). Knekk koden. Hvordan løse oppgaven? Den eneste forskjellen mellom denne oppgaven og Oppgave 2 er at den private nøkkelen til person B står ikke i oppgaven. Du må finne selv de to primtallene som gir 91 når vi ganger dem, altså 7 og 13. Deretter dekrypterer vi meldingen akkurat som i Oppgave 2. 6