MAT Notat om RSA-kryptografi

Save this PDF as:
 WORD  PNG  TXT  JPG

Størrelse: px
Begynne med side:

Download "MAT Notat om RSA-kryptografi"

Transkript

1 MAT Notat om RSA-kryptografi Erik Bédos Vår 2008 Abstract Dette notatet er et tillegg til heftet i elementær tallteori. Det omhandler anvendelser av tallteorien i kryptografi, med spesiell vekt på såkalt RSA-kryptografi. Matematisk Institutt, Universitetet i Oslo, P.B Blindern, 0316 Oslo, Norge. E-post: 1

2 2 1 Noen bijeksjoner av restklasseringer I hele dette avsnittet lar vi N betegne et naturlig tall. Vi skal her beskrive noen spesielle bijeksjoner av restklasseringen Z/(N), som vi vil ha bruk for i neste avsnitt om kryptografi. Vi minner først om at en bijeksjon av en ikke-tom mengde X er en funksjon fra X inn i seg selv som er både 1 1 og på, m.a.o. som er både injektiv og surjektiv som mange liker å uttrykke det. En bijeksjon av X kalles ofte for en permutasjon av X siden man kan tenke på at det en bijeksjon gjør er å bytte om på elementenes plassering i mengden X. Gitt en bijeksjon f av X kan vi danne den inverse funksjonen f 1 til f, som igjen er bijeksjon av X og som tilfredstiller at f 1 (f(x)) = x = f(f 1 (x)) for alle x X. Anta nå at mengden X er endelig. Vi kan da telle hvor mange forskjellige bijeksjoner av X som finnes. La oss si at X består av N forskjellige elementer {x 1,, x N }. Vi kan tenke oss at alle disse elementene er lagt opp i en hatt; for å lage en bijeksjon av X trekker vi først et element ut av hatten som vi kaller f(x 1 ), deretter trekker vi et nytt element som vi kaller f(x 2 ), og slik kan vi fortsette helt til vi har fått bestemt alle verdiene av f(x) (og tømt hatten!). Vi har da N mulighter til å velge f(x 1 ), deretter N 1 mulighter til å velge f(x 2 ), osv. ; tilsammen gir dette oss N (N 1) 2 1 = N! forskjellige måter å lage bijeksjoner av X. Når N er stor blir N! veldig stor, så det finnes da et hav av bijeksjoner av X. Onsker man å konstruere en tilfeldig bijeksjon av X kan man programmere en datamaskin istedet for å bruke en hatt, men dette blir allikevel ikke veldig effektivt, dessuten vil det også kreve noe tid å få skrevet ut hva den inverse bijeksjonen vil være. Vi skal derfor se hvordan vi kan utnytte den matematiske strukturen til Z/(N) for å generere noen spesielle bijeksjoner som er alle gitt ved en matematisk formel. For å gjøre livet vårt litt enklere begynner vi med å observere at når en mengde X er endelig er det nærmest innlysende at en funksjon f : X X som er 1 1 automatisk må være på, og dermed må være en bijeksjon av X. Vi har jo at antall elementer i f(x) er det samme som antall elementer i X når f er 1 1, og dermed må da f(x) = X. Følgende lemma, som baserer seg på dette enkle faktum, er ofte nyttig (se oppgave 1.1 for en variant av det) :

3 3 Lemma 1.1. La X være en endelig (ikke-tom) mengde og betrakt en funksjon f : X X. Anta at det finnes en funksjon g : X X som er slik at g(f(x)) = x for alle x X. Da er f en bijeksjon av X og f 1 = g. Bevis.Vi kan nemlig argumentere slik : funksjonen f er da 1 1, for hvis x, y X og f(x) = f(y) så er da x = g(f(x)) = g(f(y)) = y. Siden X er antatt å være endelig, er f dermed en bijeksjon av X. Videre er da f 1 (y) = g(f(f 1 (y))) = g(y) for alle y X (der vi har brukt egenskapen som g antaes å ha på elementet x = f 1 (y)). QED Eksempel 1. La a Z/(N) og definer t a : Z/(N) Z/(N) ved t a (x) = x + a. En slik translasjon med a blir en bijeksjon av Z/(N). Dette kan lett begrunnes direkte, men vi kan gå frem slik : gitt a, sett b = a. Da er t b (t a (x)) = (x + a) + b = x + a a = x for alle x. Påstanden følger nå opplagt fra lemma 1.1 (med f = t a og g = t b ), som også gir at t 1 a = t a. Eksempel 2. La a Z/(N) og definer m a : Z/(N) Z/(N) ved m a (x) = a x. Anta at (a, N) = 1. Da er funksjonen m a en bijeksjon av Z/(N) : elementet a har da en invers b = a 1 i Z/(N), og vi har at m b (m a (x)) = a 1 (a x) = 1 x = x for alle x. Påstanden følger igjen fra lemma 1.1 (med f = m a og g = m b ), som også gir at m 1 a = m a 1. Merk at kravet om at (a, N) = 1 er faktisk nødvendig for at m a blir en bijeksjon av Z/(N) (jf. oppgave 1.2). Etter disse to enkle eksemplene, som utnytter henholdsvis den additive og den multiplikative strukturen i Z/(N), skal vi nå se på potensfunksjoner, der situasjonen er noe mer komplisert. Vi begynner med å se på tilfellet der N er et primtall.

4 4 Setning 1.2. Anta at N er et primtall. La a N og definer funksjonen E a : Z/(N) Z/(N) ved E a (x) = x a. Sett M = N 1 og anta at a tilfredstiller at (a, M) = 1. Da er E a en bijeksjon av Z/(N), og Ea 1 er gitt ved E b der b N er en løsning av kongruenslikningen a x 1 (mod M). Bevis. For ordens skyld påpeker vi først at siden vi antar at (a, M) = 1, så følger det fra tallteoriheftet at kongruenslikningen a x 1 (mod M) har (uendelige mange) løsninger, deriblandt noen positive, som vi vet hvordan vi skal gå frem for å bestemme ved hjelp av Euklids algoritme (2. del). Vi lar b betegne en slik positiv løsning. Vi kan da skrive at ab = 1 + km for en passende k N. La x Z/(N). Planen er å vise at da er E b (E a (x)) = x i Z/(N). Når dette er etablert, kan vi bruke Lemma 1.1 (med f = E a og g = E b ) til å konkludere at påstanden i setningen er sann. Merk at E b (E a (x)) = x ab = x 1+kM = x (x M ) k. Hvis (x, N) = 1 får vi fra Fermats lille teorem at x M = x N 1 = 1, som gir at E b (E a (x)) = x 1 k = x. Hvis (x, N) 1, dvs. N deler x, så er x = 0 i Z/(N), og da er E b (E a (x)) = 0 ab = 0 = x. Dette viser at vi alltid har at E b (E a (x)) = x i Z/(N). Dermed er beviset for påstanden fullført. QED Eksempel 3. La N være primtallet 29. Da er M = N 1 = 28. Det er klart at (3, 28) = 1, så vi kan bruke a = 3 i setning 1.2. Fra denne får vi at E 3 (x) = x 3 er en bijeksjon av Z/(29). Det er lett å finne ut at kongruenslikningen 3x 1 (mod 28) har f.eks. løsningen b = 19. Derfor vet vi at E 19 er den inverse til E 3. La oss se hva dette betyr for et konkret element i Z/(29), f.eks. x = 6. Da er E 3 (6) = 6 3 = 76 = 13. Dermed vet vi at E 19 (13) vil være lik 6, dvs. at = 6. Det å beregne direkte og sjekke at det virkelig blir 6 ser ikke veldig fristende ut. Vi skal bekrive en metode på slutten av dette avsnittet som gjør det mulig å beregne på en effektiv måte vilkårlig store potenser av elementer i Z/(N) når N er selv et stort naturlig tall.

5 5 Neste setning, som er klart beslektet med setning 1.2, både i innhold og måten den bevises på, vil vise seg å være selve krumtappen i såkalt RSA-kryptografi. Setning 1.3. Anta at N = pq der p og q er to forskjellige primtall og sett M = (p 1)(q 1). La a N og definer E a : Z/(N) Z/(N) ved E a (x) = x a. Anta at tallet a er slik at (a, M) = 1. Da er E a en bijeksjon av Z/(N), og Ea 1 er gitt ved E b der b N er en løsning av kongruenslikningen a x 1 (mod M). Bevis. Antagelsen om at (a, M) = 1 sikrer oss (jf. tallteoriheftet) at det fins en b N som er slik at ab 1 (mod M). Vi kan da skrive ab = 1 + km = 1 + k(p 1)(q 1) for en passende k N. Planen vår er den samme som i forrige bevis, men vi må argumentere litt annerledes. Vi lar x Z/(N). Igjen er da E b (E a (x)) = x ab i Z/(N), men vi må nå takle det at N = pq når vi skal begrunne at x ab = x. Vi regner modulo p og modulo q hver for seg først. Hvis (x, p) = 1 gir Fermats lille teorem at x p 1 1 (mod p), så da er x ab = x 1+k(p 1)(q 1) = x (x p 1 ) k(q 1) x 1 k(q 1) = x (mod p). Hvis (x, p) 1, så er x 0 (mod p) og da er x ab 0 x (mod p). Altså gjelder alltid at x ab x (mod p). Siden p og q kan bytte rolle i paragrafen ovenfor har vi også at x ab x (mod q). Disse to påstandene betyr at p (x ab x) og q (x ab x). Siden (p, q) = 1 må da pq (x ab x) (jf. oppgave i tallteoriheftet), og dette betyr at x ab x 0(mod pq), som igjen kan skrives som x ab = x i Z/(N). Dermed kan vi konkludere at E b (E a (x)) = x a b = x. Ved hjelp av lemma 1.1 følger det lett at at påstanden i setningen er bevist. QED Eksempel 4. La N = 55 = 5 11, M = (5 1)(11 1) = 40. Siden (3, 40) = 1 får vi fra setning 1.3 at E 3 er en bijeksjon av Z/(55). Man finner ut uten problemer at b = 27 er en løsning av kongruenslikningen 3x 1(mod 40). Så E 27 er nå den inverse av E 3. Siden f.eks. 6 3 = 216 = 51 i Z/(55) vet vi at da må = 6. Når N er et primtall vet vi at φ(n) = N 1, der φ betegner Eulers phi-funksjon. Når N = pq der p og q er to forskjellige primtall følger det av en oppgave i tallteoriheftet at φ(n) = (p 1)(q 1). Ser vi

6 6 på setningene 1.2 og 1.3 er det da nærliggende å tippe at følgende utsagn gjelder : Hvis N N, M = φ(n) og a N er slik at (a, M) = 1, så er E a : Z/(N) Z/(N) definert ved E a (x) = x a en bijeksjon av Z/(N). Det er imidlertid ikke riktig generelt! Vi henviser til oppgave 1.6 for mer om dette. Vi avslutter dette avsnittet med å beskrive hvordan gjentatt kvadreringsmetoden kan brukes til å regne ut potenser av elementer i Z/(N). Anta at x Z/(N) og a N. Vi ønsker å beregne x a (uten å sprenge minne på vår kalkulator/datamaskin dersom vi har med store tall å gjøre). Ideen er å uttrykke a ved hjelp av potenser av 2, dvs. vi skriver a på formen a = s k 2 k + s k 1 2 k s s 0 for passende s k,, s 1, s 0 {0, 1}, k N {0}. (Siffrene s 0, s 1,, s k kan man f.eks. finne ved å heltallsdividere a med 2 gjentatte ganger og ta vare på restene. Er tallet a liten er det som regel lett å finne disse siffrene direkte). Det er nå klart at mye vil være gjort hvis vi kan beregne x 2j for alle j som er slik at s j = 1. Poenget er at alle disse uttrykkene kan vi lett beregne ved å utnytte at x 2n = (x 2n 1 ) 2 når n N, n 2. Hvordan det hele virker illustrerer vi på et enkelt eksempel. Eksempel 5. Vi skal beregne i Z/(41). Vi skriver først 27 = (= ). Når vi regner i Z/(41) får vi at 12 2 = 144 = 21, 12 4 = (12 2 ) 2 = 21 2 = 441 = 31, 12 8 = (12 4 ) 2 = 31 2 = 961 = 18, = (12 8 ) 2 = 18 2 = 324 = 37. Dette gir at = = = = 10 6 = 19. Oppgaver 1.1 Begrunn følgende variant av lemma 1.1 : La X være en endelig (ikke-tom) mengde og betrakt en funksjon f : X X. Anta at det finnes en funksjon g : X X som er slik at f(g(x)) = x for alle x X. Da er f en bijeksjon av X og f 1 = g.

7 7 1.2 Anta at a Z/(N) er slik at (a, N) 1. Begrunn at funksjonen m a definert i Eksempel 2 da ikke er en bijeksjon av Z/(N). 1.3 Anta at a, b Z/(N) og betrakt S a,b : Z/(N) Z/(N) definert ved S a,b (x) = a x + b. Finn ut når S a,b blir en bijeksjon av Z/(N) og angi da dens inverse. 1.4 La N = 13. Avgjør om E 4 og E 5 er bijeksjoner av Z/(13) og angi den inverse når / om den finnes. 1.5 La N N, N 3. Begrunn at E 2 ikke er en bijeksjon av Z/(N). 1.6 Anta at N N og sett M = φ(n), der φ betegner Eulers phifunksjon. La a N og definer E a : Z/(N) Z/(N) ved E a (x) = x a. Anta at tallet a er slik at (a, M) = 1 og la b N være en løsning av kongruenslikningen a x 1 (mod M). a) Vis at da er E b (E a (x)) = x for alle x Z/(N) som er slik at (x, N) = 1. b) Anta at N er på formen N = p 1 p 2 p k der alle p i -ene er primtall slik at p i p j når i j. Vis at E a er da en bijeksjon av Z/(N) med Ea 1 = E b. c) Anta at N = 8. Sjekk at da finnes c N slik at (c, M) = 1 og slik at E c ikke er en bijeksjon av Z/(N). Gjenta dette for N = 9 og N = La N = 55. Avgjør om E 4 og E 7 er bijeksjoner av Z/(55) og angi den inverse når / om den finnes. 1.8 Sjekk ved hjelp av gjentatt kvadreringsmetoden at = 6 i Z/(29) og at = 6 i Z/(55) 1.9 La N N, N 2. Anta at minst en av primtallsfaktorene til N opptrer mer enn en gang i primtallsfaktoriseringen til N. For a N lar vi (som vanlig) E a : Z/(N) Z/(N) betegne funksjonen definert ved E a (x) = x a. For hvilke a N er E a en bijeksjon av Z/(N)?

8 8 2 Om kryptografi og RSA-kryptografi Kryptografi er læren om koding og dekoding av informasjon. En melding eller et dokument skal f.eks. sendes til en annen person på en slik måte at bare vedkommende skal kunne lese meldingen / dokumentet. Det kan også være slik at vi ønsker å lagre et dokument på en sikker måte, dvs. at ingen andre enn oss selv skal kunne forstå innholdet i dokumentet. Meldingen/dokumentet må da krypteres/kodes ved hjelp av en krypteringsnøkkel og tanken er da at bare de som som vet hva dekrypteringsnøkkelen er skal kunne bruke denne til å dekryptere meldingen/dokumentet til sin opprinnelige form. Det finnes veldig mange tilnærminger til hvordan dette kan gjøres og vi skal i dette avsnittet begrense oss til å studere en spesiell metode. Interesserte vil lett oppdage at det finnes utrolig mye litteratur om kryptografi, og som en begynnelse kan man ta en titt på bøkene som er nevnt i referanselista. Vi skal anta at meldingen/dokumentet som skal krypteres er omgjort til et stort naturlig tall angitt på desimalform (for implementering i en datamaskin ville det være mere naturlig å bruke det binære tallsystemet der siffrene er 0 ere og 1 ere, men det er ikke noe poeng for oss her). Måten dette gjøres trenger ikke å være hemmelig, tvert imot bør den være kjent for alle når vi kommer til RSA-kryptografien. En enkel måte, som vi skal bruke i dette notatet, er at alle tegn/symbol (herunder bokstaver, desimalsiffre, punktuasjonstegn, osv.) som til vanlig brukes til å skrive meldinger/dokumenter tilordnes hvert sitt naturlig tall mellom 00 og 99, angitt med to desimalsiffre : vi kan f.eks. tilordne 00 til et blankt mellomrom, 01 til bokstaven A, 02 til bokstaven B,, 29 til bokstaven Å, 30 til punktum, 31 til komma, osv (vi vil ikke trenge å vite hvilke tall de andre tegnene har fått tilordnet i dette notatet). Når dette er gjort kan vi omgjøre enhver melding/dokument til et stort naturlig tall ved å erstatte alle tegnene som inngår med sine respektive tosiffrede tall og slå disse sammen til et stort tall på den opplagte måten : La oss f.eks. anta at meldingen er HEI : siden H svarer til 08, E svarer til 05 og I svarer til 09, så blir da HEI omgjort til tallet Er meldingen ANGRIP IDAG, er det lett å sjekke at den blir omgjort til tallet

9 9 For korte meldinger vil dette med å slå sammen alle siffrene til et stort tall kunne sees på som unødvendig tungvint : vi kunne jo ha valgt å betrakte hvert tegn for seg, dvs. omgjort hele meldingen til en sekvens av tosiffrede tall som krypteres videre hver for seg. Men er meldingen lang ville dette gå veldig tregt, dessuten vil meldingen lett kunne tydes av andre ved hjelp av såkalt frekvens analyse (som bruker den tilgjengelige kjennskapen til hvor ofte de enkelte tegnene opptrer i dokumenter, statistisk sett). Vi antar nå at meldingen/dokumentet som skal krypteres er omgjort til et (stort) naturlig tall T angitt på desimalform ved å følge prosedyren beskrevet ovenfor. Med en krypteringsnøkkel vil vi mene en bijeksjon f av Z/(N), der N er et eller annet naturlig tall større eller lik 10 (i realistiske anvendelser vil N ofte kunne ha desimalsiffre!). Vi bestemmer først det naturlige tallet s som er slik at 10 s N < 10 s+1 (mao er s = d 1 der d er lik antall desimalsiffre i N). Deretter gjør vi om tallet T til en sekvens av s-siffrede naturlige tall ved at vi begynner fra venstre i T og jobber oss bortover mot høyre. Dersom det siste tallet i sekvensen vi får frem ikke har s siffre, legger vi bare vi til det passende antall 0 ere til høyre for dette siste tallet slik at det også har s siffre. Anta f.eks. at T = Hvis N = 115 blir s = 2 og vi gjør om T til sekvensen 08, 05, 09 (dvs. vi gjør om tegn for tegn!). Hvis N = 1139 blir s = 3 og vi gjør da om T til sekvensen 080, 509. Hvis N = blir s = 4 og vi gjør om T til sekvensen 0805, 0900 (vi har da lagt til to 0 ere til det siste tallet i sekvensen). Vi kan nå bruke krypteringsnøkkelen f til å krypterere sekvensen av s-siffrede tall vi har laget oss fra T : Hvis sekvensen er t 1, t 2,, t k, krypterer vi denne ved å beregne sekvensen f(t 1 ), f(t 2 ), f(t k ). Sekvensen av elementer i Z/(N) som derved fremkommer blir den krypterte meldingen som vi sender (evt. lagrer). For å kunne dekryptere en kryptert melding må personen som mottar denne kjenne til den inverse av f som en funksjon av Z/(N). La oss forutsette dette og anta at den krypterte meldingen som er mottatt er sekvensen y 1, y 2,, y k. Vedkommende vet da at y j = f(t j ) for passende t j Z/(N), j = 1,, k. For å bestemme t j -ene anvender han/hun f 1 på hvert element i den mottatte sekvensen.

10 10 Siden f 1 (y 1 ), f 1 (y 2 ),, f 1 (y k ) = f 1 (f(t 1 )), f 1 (f(t 2 )),, f 1 (f(t k )) = t 1, t 2,, t k er det nå en smal sak å gjøre om denne til sekvensen t 1, t 2,, t k, skrevet ut som s-siffrede tall (denne detaljen er viktig å huske!). Så kan han/hun danne det tilhørende tallet T ved å skjøte alle t j - ene sammen, og deretter oversette tallet T til en lesbar melding. Overgangen fra T til en lesbar melding er en enkel affære : man begynner fra venstre i T og leser to siffre om gangen, som hver for seg oversettes til et tegn ved hjelp av den motsatte tilordningen av den vi snakket om helt i begynnelsen av dette avsnittet; har man laget seg tabeller for overgangene mellom tegn og tosiffrede tall, og omvendt, er dette en triviell prossess. Eksempel 1 Vi skal sende passordet til nettbankontoen til Norske Matematikeres Landsforbund til den nye kasseren. Passordet er, ikke helt uventet, NHABEL. Omgjort til et naturlig tall blir det tallet T = Vi har valgt som krypteringsnøkkel bijeksjonen f av Z/(10000) gitt ved f(x) = 9 x. Merk at (9, 10000) = 1, så vi vet fra Eksempel 2 i seksjon 1 at dette er en bijeksjon av Z/(10000) og at den tilhørende dekrypteringsnøkkelen f 1 er da gitt ved f 1 (x) = 9 1 x. Ved å løse kongruenslikningen 9x 1 (mod 10000) finner man at 9 1 = 8889 i Z/(10000). Kasseren har derfor tidligere fått vite (på en eller annen trygg måte!) at dekrypteringsnøkkelen hun skal bruke er bijeksjonen av Z/(10000) gitt ved f 1 (x) = 8889 x. Siden vi bruker N = er s = 4. Den krypterte medlingen vi sender til kasseren blir derfor sekvensen f(1408), f(0102), f(0512) = , , = 2672, 918, Kasseren mottar altså den krypterte meldingen 2672, 918, For å dekryptere denne, anvender hun dekrypteringsnøkkelen f 1 og beregner sekvensen f 1 (2672), f 1 (918), f 1 (4608) = , , = , , = 1408, 102, 512. Hun danner da tallene 1408, 0102 og 0512 (merk at hun vet at tallene skal angies med 4 siffre siden dekrypteringsnøkkelen er en

11 11 bijeksjon av Z/(10000), så N = og dermed s = 4). Denne sekvensen setter hun sammen til tallet og oversetter det til klartekst ved å ta for seg to siffre av gangen fra venstre. Hun kommer derved frem til at den sendte meldingen er NHABEL. I modellen for kryptografi vi har beskrevet ovenfor kan man i utgangspunktet velge fritt en passende N (helst ikke for liten) og deretter en bijeksjon f av Z/(N) som kryperingsnøkkel. Men det er hensiktsmessig å velge en f som er slik at både f og f 1 kan angies ved en formel som gjør det mulig å beregne verdier av disse på en effektiv måte. Bijeksjonene vi studerte i forrige seksjon egner seg godt til dette. Et problem som må håndteres er hvordan dekrypteringsnøkkelen f 1 skal kunne kommuniseres til rette person på en trygg måte. Hvis poenget med å kryptere meldinger er at man vil kunne utveksle hemmelige meldinger via en usikker kommunikasjonskanal (f.eks. Internett) kan man jo ikke sende dekrypteringsnøkkelen via denne kanalen, og man må finne en annen måte, som ofte vil være tungvinn og tidkrevende (f.eks. ved personlig møte, ved en kurer eller ved vanlig post). Men når dette er gjort kan sikker kommunikasjon mellom de to involverte foretaes via den usikre kanalen. Legg merke til at krypteringsnøkkelen f for den ene personen kan da brukes som dekrypteringsnøkkel ved mottakk av krypterte meldinger fra den andre dersom den andre personen bruker f 1 som krypteringsnøkkel. Siden den usikre kommunikasjonskanalen antaes å kunne være overvåket av tredje personer, er det ofte vanlig å skifte krypteringsnøkler med jevne mellomrom for å unngå at disse tredje personene skal klare å knekke koden ved å resonere seg til hva dekrypteringsnøkkelen er. Vi skal ikke ta opp i dette notatet hvordan dette kan gøres, men det er liten tvil at foregår mye (hemmelig!) forskningsaktivitet på den fronten. Et problem med vanlig kryptografi oppstår når mange deltagere i et nettverk ønsker å kunne utveksle sensitiv informasjon på kryss og tvers i nettverket. Dersom det er n deltagere d 1, d 2,, d n og enhver deltager d i skal kunne kommunisere på sikker vis, via en usikker kommunikasjonskanal, med enhver annen deltager d j (der i j) blir det fort mange krypteringsnøkler/dekrypteringsnøkler som skal velges og utveksles : for hvert par (d i, d j ) der i < j må det velges og utveksles et par av nøkler f (i,j), f 1 (i,j). Teller vi opp hvor mange slike par det må velges og utveksles, finner vi

12 12 n 1 i=1 n i = n(n 1)/2. Er n relativt stor, f.eks. n = 1000, blir det da /2 = par av nøkler, og det blir vanskelig/umulig å gjøre dette i praksis. Det enkle alternativet der alle deltagerne skal bare bruke samme krypteringsnøkkel til å kryptere og samme dekrypteringsnøkkel til å dekryptere er i de fleste tilfellene uaktuelt pga stor fare for lekkasje om hva nøklene er. Dessuten er det ofte ønskelig at hvert par av deltagere skal kunne utveksle informasjon uten at de andre deltagerne skal kunne lese den (tenk f.eks. på Internett der alle som er koblet til nettet kan ansees som deltagere). En løsning på dette problemet ble skissert av Diffie, Hellman og Merkel i Den kalles gjerne offentlig nøkkel kryptografi. I vår modell kan ideen beskrives slik : forestill deg først at det er mulig å lage bijeksjoner av Z/(N) for passende verdier av N, som er slik at både bijeksjonen f og dens invers f 1 kan la seg beregne av en person, men at det er (så godt som) umulig for andre å beregne f 1, selv om de får opplyst ved en formel hvordan f er definert. Da kan man gå frem slik : i) enhver deltager d i lager seg en nøkkel f i av typen beskrevet ovenfor og beregner f 1 i. Nøkkelen f i er hans offentlige nøkkel mens f 1 i er hans private nøkkel (som holdes strengt hemmelig for alle andre). ii) alle de offentlige nøklene publiseres i en felleskatalog der hver deltager er angitt med sin offentlig nøkkel. Denne katalogen kan godt være tilgjengelig for alle, også for eventuelle overvåkere av nettverket. iii) når deltager d i ønsker å sende en melding til deltager d j finner han frem til d j s offentlige nøkkel i katalogen og bruker denne til å kryptere meldingen, som han så sender til d j. Når d j mottar den krypterte meldingen bruker han bare sin private nøkkel på denne og kan da lese meldingen i klartekst. Merk at hvis en tredje person skulle klare å fange opp en kryptert melding som er sendt fra en av deltagerne d i i nettverket til en av de andre deltagerne d j kan denne tredje person (høyst sannsynlig) ikke dekryptere den uten videre: det forutsetter jo kjennskap til d j s private nøkkel, og den skal ikke la seg beregne utifra d j s offentlige nøkkel, det var nettopp derfor nøklene ble valgt slik det ble.

13 13 Nå hadde det seg slik at når Diffie, Hellmann og Merkel lanserte ideen om offentlig nøkkel kryptografi, så viste de ikke om noen spesielle bijeksjoner som tilfredstilte de forutsatte kravene. Tenker man litt over det, kan det virke paradoksalt at slike finnes i det hele tatt. Det gikk imidlertid ikke mer enn ett år før Rivest, Shamir og Adleman innså at bijeksjonene som er beskrevet i setning 1.3 kunne anvendes, og det ga opphavet til den spesielle form for offentlig nøkkel kryptografi som idag kalles RSA-kryptografi (etter initialene til opphavsmennene) og som brukes til sikker overføring av informasjon i mange situasjoner : den ligger bl.a. til grunn for Internet-protokollen Secure Sockets Layer (SSL), som når det brukes ved overføring via http markeres ved https på nettleseren, og for EMV -protokollen som brukes ved betalinger med smartkort av typen Visa, Mastercard, etc. Vi skal nå se nærmere på detaljene i RSA-kryptografien og begrunne hvorfor bijeksjonene av typen angitt i setning 1.3 kan brukes. Hver deltager skal altså produsere en offentlig nøkkel ved å velge en slik bijeksjon, og beregne dens invers, som blir hans private nøkkel (og som han skal holde for seg selv). En modell for RSA-kryptografi: I) Hver deltager i nettverket gjør følgende : i) Velger seg to (helst store) primtall p og q som er forskjellige fra hverandre, beregner N = pq og M = (p 1)(q 1). ii) Velger en a N som er slik at (a, M) = 1. Som regel velges 2 < a M 1. Når M er så stor at det ikke er aktuelt å prøve på å finne en primtallsfaktorisering av M må man bare prøve seg fram for å finne en passende a. iii) Bestemmer en b N som er slik at a b 1 (mod M). Som regel velges 2 < b M 1. iv) Bijeksjonen E a av Z/(N) velges som deltagerens offentlige nøkkel, mens E b, som er lik Ea 1 i henhold til setning 1.3, blir hans/hennes private nøkkel. Verdiene av p, q og M tilintetgjøres av deltageren (eller holdes strengt hemmelig for alle andre).

14 14 II) I felleskatalogen over de offentlige nøklene, som skal være tilgjengelig for alle, publiseres verdiene av N og a som hver enkel deltager har valgt. Da vet alle deltagerne at E a : Z/(N) Z/(N) gitt ved E a (x) = x a er den tilhørende offentlige nøkkelen til den aktuelle deltageren. III) Sending av krypterte meldinger og dekryptering av slike følger nå den generelle prosedyren for offentlig nøkkel kryptografi med de spesielle valg av offentlige (og private) nøkler angitt ovenfor. I oppskriften ovenfor er det veldig viktig at det er kun verdiene av N og a som hver deltager har valgt som gjøres kjent. Hadde enten p, q eller M også vært kjent for noen, ville vedkommende kunne finne ut hva b var, altså kunne bestemme hva den tilhørende private nøkkelen E b var. Hele poenget er nå at hvis N er stor (her snakker man p. idag gjerne om tall med flere hundre desimalsiffre), så eksisterer det ingen kjent metode som er effektiv nok til å kunne finne ut hva p, q eller M er innenfor et akseptabelt tidsaspekt, selv ved hjelp av de kraftigste datamaskinene som er tilgjengelige på markedet. Mer generelt, så kjenner man ikke til noen effektiv metode til å primtallsfaktorisere store naturlige tall. Skulle slike metoder bli oppfunnet ville RSA-kryptografien bryte sammen... Men inntil videre fungerer den utmerket : ingen har klart så langt å finne på en metode for hvordan man skulle kunne beregne E b når man bare kjenner verdiene av N og a. Igjen er det underforstått her at N er såpass stor at det ikke er aktuelt å tenke på å lage en tabell over alle verdiene av E a for deretter å invertere denne for å lage en tabell for E b. Det sier seg selv at når man regner for hånd blir det håpløst å bruke store verdier for N. Men prinsippene bak RSA-kryptografien kommer godt frem selv med relativt små N. Eksempel 2. La oss gå tilbake til situasjon i Eksempel 1. Vi antar nå at alle medlemmene i Norske Matematikere Landsforbund er deltagere i samme nettverk og at den nye kassereren har publisert N = 65 og a = 5 som sin offentlig nøkkel i felleskatalogen over slike nøkler. Vi vet da at vi skal bruke krypteringsnøkkelen E 5 : Z/(65) Z/(65) når vi skal sende henne det nye passordet NHABEL, som, slik vi så

15 15 i Eksempel 1, er T = når NHABEL oversettes til et tall. Siden N har bare 2 desimalsiffre må vi velge s = 1 (dvs sende siffer for siffer) i henhold til oppsettet vi har valgt. Her kunne vi faktisk ha brukt s = 2 siden det ville gitt oss en sekvens av tall som alle var mindre enn 65, men da måtte alle medlemmene være klar over denne konvensjonen, så vi gjør ikke det, selv om det er fristende. Den krypterte sekvensen vi skal sende til kasseren blir derfor E 5(1), E 5(4), E 5(0), E 5(8), E 5(0), E 5(1), E 5(0), E 5(2), E 5(0), E 5(5), E 5(1), E 5(2) = 1 5, 4 5, 0 5, 8 5, 0 5, 1 5, 0 5, 2 5, 0 5, 5 5, 1 5, 2 5. Etter en mellomregning finner vi at dette gir sekvensen 1, 49, 0, 8, 0, 1, 0, 32, 0, 5, 1, 32 og den sender vi til kasseren. Når kasseren mottar denne sekvensen, kan hun da bruke sin private nøkkel til å dekryptere sekvensen, finne T og oversette det til NHABEL. Det må her bemerkes at kasserens valg av N var usedvanlig lav og dermed absolutt ikke anbefalelsesverdig. En overvåker av systemet vil straks se at N = 65 = 5 13, dermed skjønne at M = (5 1)(13 1) = 48 og lett finne ut at b = 29 er en løsning av 5x 1 (mod 48). Vedkommende vil da kjenne til den private nøkkelen til kasseren og dermed kunne finne frem til det sendte passordet ved å beregne T utifra sekvensen 1 29, 49 29, 0 29, 8 29, 0 29, 1 29, 0 29, 32 29, 0 29, 5 29, 1 29, i Z/(65). = 1, 4, 0, 8, 0, 1, 0, 2, 0, 5, 1, 2 Eksempel 3. Adam og Eva er begge deltagere i samme nettverk. Når Adam skulle lage sine nøkler, valgte han primtallene p = 47 og q = 227, og beregnet N = = Deretter beregnet han tallet M = (47 1)(227 1) = = og valgte a = 3 (som opplagt er relativt primisk med M = siden 3 ikke deler M). Dermed hadde han valgt N og a, og han gikk så løs på kongruenslikningen 3x 1 (mod 10396).

16 16 Han fant ut etter en stund at b = 6931 var en løsning (noe vi kan se stemmer fordi = = ). Han viste da hva hans private nøkkel skulle være og meldte så fra om sin offentlig nøkkel til katalogpubliseringstjenesten (han passet ellers på å slette verdiene av p, q og M for sikkerhets skyld). Etter en tilsvarende operasjon hadde Eva valgt sine nøkler, og hennes offentlige nøkkel var bestemt ved at N = 667 og a = 15. I felleskatalogen kunne man derfor lese noe som : Adam offentlig nøkkel: N = 10669, a = 3. Eva offentlig nøkkel: N = 667, a = 15. En dag ønsker Eva å sende meldingen KOM IDAG til Adam. I katalogen finner hun Adams offentlige nøkkel og hun vet derfor at hun skal bruke E 3 : Z/(10669) Z/(10669) til å kryptere meldingen. Meldingen KOM IDAG svarer til tallet T = Nå er s = 4 (siden N har fem desimalsiffre), så den kryperte meldingen hun skal sende til Adam få r hun ved å regne ut følgende sekvens : E 3 (1115), E 3 (1300), E 3 (0904), E 3 (0107) = , , 904 3, i Z/(10669). Etter noe regning finner Eva ut at dette gir sekvensen som hun sender til Adam. 4712, 7513, 9697, 8777 Når Adam mottar denne krypterte sekvensen, bruker han sin private nøkkel (som er E 6931 ) på denne og regner ut sekvensen han da får : E 6931 (4712), E 6931 (7513), E 6931 (9697), E 6931 (8777) = , , , = 1115, 1300, 904, 107 i Z/(10669). Her anvender han nok gjentatt kvadreringsmetoden (eller en datamaskin utstyrt med en programpakke a la Matlab eller Maple) til å utføre selve utregningene. Denne sekvensen lager Adam om til en sekvens av tall med 4 desimalsiffre, som han setter sammen til tallet Uten problemer oversetter han det til meldingen KOM IDAG.

17 17 Adam er ikke vond å be, men han er en mann av få ord, så han ønsker bare å svare OK, som oversatt til et tall gir T = Han finner frem til Evas offentlige nøkkel, som gir ham krypteringsnøkkelen E 15 : Z/(667) Z/(667). Han sender derfor følgende krypterte sekvens tilbake til Eva: E 15 (15), E 15 (11) = 15 15, = 159, 424. Eva bruker da sin private nøkkel, som viser seg å være E 575 (jf. oppgave 2.4) og regner ut E 575 (159), E 575 (424) = , = 15, 11. Hun kommer frem til tallet 1511, som hun oversetter til OK og alt er vel. Dette eksemplet fortjener et par kommentarer: Først må det sies at Evas valg av N er for dårlig. En ting er at N = 667 ikke er spesiell stor og dermed lett å faktorisere. En annen ting er at de to primtallene p og q som inngår som faktorer i N = 667 er slik at differansen q p er liten, og i slike tilfeller er det generelt lett å finne frem til hva p og q må være (jf. oppgavene 2.3 og 2.4). Så dette pleier man å unngå når p og q skal velges. Deretter bør det sies at vanligvis ville nok både Eva og Adam ha undertegnet sine meldinger, mao skrevet noe som KOM IDAG, EVA og OK, ADAM. Dette gjorde vi ikke i eksemplet for å unngå at det ble lengre utregninger. La oss nå tenke at alle meldinger som sendes mellom deltagere er undertegnet. Hvordan kan da mottakeren av en melding vite at det virkelig er underskriveren av meldingen som har sendt denne? I eksemplet ovenfor kunne det jo være slik at det fantes en annen deltager som ville tulle med Adam og som derfor sendte ham meldingen KOM IDAG. EVA. Et interessant aspekt ved RSA-kryptografi er at det er mulig å finne løsninger for å hindre slike falske meldinger : det snakkes da om signering og autentifisering av meldinger. Hvis f.eks. banken din får beskjed via Internett om at det skal overføres en ikke ubetydelig sum penger fra din konto til en annens konto, er det jo viktig at banken kan virkelig være sikker på at denne meldingen kommer fra deg og at den kan bevise det dersom du senere skulle finne på å opponere mot transaksjonen.

18 18 Vi skal til slutt gi en liten smakebit på hvordan man kan gå frem for å signere og autentifisere meldinger under RSA-kryptografi. - Hver deltager velger et tall d mellom 1 og N (der N er som i deltagerens offentlige nøkkel). Alle disse tallene publiseres i felleskatalogen som deltagernes signatur. - Hver deltager beregner d := E b (d) i Z/(N), der b er tallet som gir deltagerens private nøkkel. - Når en deltager skal sende en melding (underskrevet med sitt navn til slutt) til en annen deltager, og denne meldingen oversettes til et tall T, krypterer han/hun T om til en sekvens på vanlig måte ved hjelp av den andre deltagerens offentlige nøkkel. Før den krypterte sekvensen sendes over, forlenger han/hun denne på dens høyre side ved å legge til 0, etterfulgt av den krypterte versjonen av d (dvs kryptert ved hjelp av den andre deltagerens offentlige nøkkel). Merk at dersom mottakerens N er mindre enn utsenderens N kan det hende at d må brytes opp i en sekvens av restklasser på opplagt måte før krypteringen kan foretaes. - Når en deltager mottar en slik kryptert sekvens bruker han/hun som vanlig sin private nøkkel på hele den mottatte sekvensen. Vedkommende vet nå at det som står til høyre for 0 eren lengst til høyre vil være d (eller muligens en sekvens utledet av denne). Det som står til venstre for 0 eren vil være en sekvens som svarer til et tall T, som oversatt gir den sendte meldingen i klartekst. Denne meldingen skal være underskrevet med et navn. For å forsikre seg om at det virkelig er underskriveren som har sendt meldingen, leter mottakeren opp navnet til underskriveren i felleskatalogen og leser av underskriverens offentlige nøkkel. Ved å anvende denne på d (nå betraktet som et element i Z/(N u ) der N u er underskriverens N) kommer mottakeren frem til en restklasse e Z/(N u ), der e ligger mellom 1 og N u. Er dette tallet e lik underskriverens d (som står oppgitt i felleskatalogen) er det høyst sannsynlig at meldingen virkelig kommer fra underskriveren. For å kunne være absolutt helt sikker må det passes på at ingen deltager velger samme tall d som sin signatur. Men er e d kan det med sikkerhet slåes fast at det ikke kan være underskriveren som har sendt den mottatte meldingen og denne må derfor ansees som et falskneri.

19 19 Eksempel 4. La oss betrakte samme Adam og Eva som vi møtte i Eksempel 3, begge utstyrt med de samme nøklene. Eva vil nå sende meldingen HJELP.EVA til Adam. Denne meldingen oversettes til tallet T = og det er ikke altfor vanskelig å regne ut at den krypterte sekvensen som Eva ville ha sendt til Adam uten å legge til sin signatur er sekvensen 810 3, 512 3, , 522 3, = 7441, 1708, 7858, 8209, 7783 i Z/(10669). La oss nå anta at Eva har valgt d = 333 som sin signatur og at dette er angitt i felleskatalogen. (Man kan forøvrig unngå at alle d ene skal oppgies i katalogen dersom alle deltagerne er blitt enige om på forhånd at d kan beregnes ut i fra N (eller N og a) ved en bestemt formel, f.eks. d = (N 1)/2). Eva beregner da sin (hemmelige) d i Z/(667) ved d = E 575 (333) = = 595. Hun betrakter så 595 som et element i Z/(10669) og krypterer denne ved hjelp av Adams offentlige nøkkel. Hun får da E 3 (595) = = Til den krypterte sekvensen ovenfor legger hun derfor til 0, Altså sender hun følgende sekvens til Adam : 7441, 1708, 7858, 8209, 7783, 0, Når Adam bruker sin private nøkkel (som er E 6931 ) på denne sekvensen i Z/(10669), får han (etter en del regning) sekvensen 810, 512, 1630, 522, 100, 0, 595. Fra den delen av sekvensen som kommer før 0 konstruerer han tallet , som han oversetter til meldingen HJELP.EVA For å verifisere at det virkelig er Eva som har sendt ham denne meldingen, finner han frem til Evas offentlige nøkkel i katalogen og anvender denne på 595 (som er det som står til høyre for 0 i sekvensen ovenfor) : han får da E 15 (595) = = 333 i Z/(667). Dette stemmer med d siden Evas signatur (som skal være oppgitt i katalogen) er jo d = 333. Adam kan dermed være rimelig sikker på at dette er en melding fra Eva (og han iler nok bort til henne).

20 20 Det er dessverre et problem med fremgangsmåten for signatur og autentifisering vi har beskrevet ovenfor. La oss anta at en deltager, f.eks. Eva, sender en krypert melding undertegnet med sitt navn til en annen deltager, f.eks. Adam, og la oss forutsette at hun følger den angitte prosedyren for signatur, altså en situasjon lik den vi så på i Eksempel 4. Når Adam mottar den krypterte meldingen og han sjekker om meldingen virkelig er sendt av Eva, får han da kjennskap til hva Evas d er (som man trenger Evas private nøkkel for å kunne beregne). Denne informasjonen kan Adam bruke videre, hvis han er en uærlig person, til å sende krypterte meldinger undertegnet med Evas navn til andre deltagere : han kan jo bruke hennes d som han nå kjenner til å signere disse meldingene, uten fare for at det blir avslørt at det er han og ikke Eva som har sendt disse. Vil man unngå dette problemet må man bruke andre, beslektede, fremgangsmåter (se oppgave 2.8 for et par alternativer), som er noe mere kompliserte og regnetunge enn den enkle prosedyren vi anga ovenfor. Oppgaver I disse oppgavene kan det godt brukes kalkulator/datamaskin når det er hensiktsmessig. 2.1 Vi betrakter situasjonen fra Eksempel 1 i avsnitt 2. a) Kasseren ønsker å sende oss tilbake meldingen TAKK Regn ut hvilken kryptert sekvens hun da må sende. b) Anta at vi er blitt enige med kasseren om å velge nye krypteringsnøkler. Vi skal nå bruke f : Z/(101) Z/(101) gitt ved f(x) = x 17 (mao f = E 17 ) og hun skal bruke f 1. Regn ut den krypterte sekvensen vi må sende henne når vi skal sende henne passordet NHABEL Bestem deretter f 1 og regn ut den krypterte sekvensen hun sender oss tilbake når hun svarer TAKK 2.2 Anta at p, q R, p q. Sett N = pq og M = (p 1)(q 1). Vis at man kan uttrykke p og q ved hjelp av N og M. En liten kommentar til oppgave 2.2. Merk at M = φ(n) dersom p og q er to forskjellige primtall. Det følger derfor av denne opp-

21 21 gaven at dersom vi betrakter de naturlige tallene som har den egenskapen at de kan skrives som et produkt av to forskjellige primtall, og en person (du?) skulle klare å finne ut en effektiv måte for å beregne Eulers φ(n) for slike naturlige tall, så ville han/hun klare å faktorisere disse tallene (forutsatt at han/hun er rask til å beregne kvadratrøtter). Dette ville ikke være bra for RSA-kryptografien a) Anta at p, q R, 0 p q. Sett N = pq og D = q p. Vis at man kan uttrykke p og q ved hjelp av N og D. b) Anta at N er et naturlig tall som du vet kan skrives som et produkt av to primtall p og q der p < q. Bruk a) til å beskrive hvordan du kan gå frem for å bestemme p og q i løpet av relativ kort tid dersom det viser seg at q p er relativ liten. 2.4 Bruk oppgave 2.3 til skrive N = 667 på formen N = pq der p < q er begge primtall. (Har du ikke løst oppgave 2.3 er det ikke vanskelig å bestemme p og q allikevel dersom du bruker at p N. Så det kan du prøve på da). Når det er gjort kan du sjekke om du ville ha klart å bestemme Evas private nøkkel i Eksempel Du er blitt leder i Norske Matematikeres Landsforbund. Du valgte deg primtallene p = 37 og q = 79 når du skulle lage din offentlig nøkkel. Dermed var din N lik N = = a) Hvor mange valgmuligheter hadde du når du skulle velge din a, forutsatt at 2 < a < M 1 (der M = (p 1)(q 1))? b) La oss si du valgte a = 5 og regnet ut at b = 1685 var tallet som bestemte din private nøkkel. Sjekk at b har den nødvendige egenskapen. c) Etter at du har publisert ditt valg av offentlig nøkkel mottar du følgende kryptert sekvens fra ett av de andre medlemmene : 1755, 2814, 722, 926, 177, 817, 2832 Dekrypter denne sekvensen til en melding i klartekst. 2.6 Kristin og Sverre er deltagere i samme (militært) nettverk. I felleskatalogen over offentlige nøkler står det at Kristins er N = 1243 og a = 249, mens Sverres er N = og a = 3. a) Kristin skal sende meldingen ANGRIP IKKE VENT til Sverre. Regn ut hva den krypterte sekvensen hun sender til ham er (du kan

22 22 nøye deg med de to første eller de to siste elementene i sekvensen hvis du vil). b) Etter å ha dekryptert denne meldingen sender Sverre følgende kryptert sekvens tilbake til Kristin: Finn ut hva Sverre svarte. 404, 1183, 26, 354, 976, Vi betrakter situasjonen fra Eksempel 4 i avsnitt 2. Adam har valgt d = 1479 som sin offentlig signatur. Etter å ha mottatt meldingen HJELP.EVA fra Eva (og verifisert at den virkelig var sendt av henne) ønsker Adam (som nå er i dårlig humør) å sende henne meldingen GLEM DET.ADAM tilbake. Adam finner ut at den krypterte sekvensen han da ville ha sendt til Eva dersom han ikke skulle ha lagt til sin signatur er 152, 220, 295, 593, 0, 555, 295, 310, 175, 1, 555, 1, 593 a) Ut i fra det vi vet fra Eksempel 3 er to måter å sjekke at dette er den riktige sekvensen (hvilke?). Velg av en av disse og sjekk at de to første elementene (fra venstre) i sekvensen svarer til GL (du kan sjekke at hele sekvensen er riktig hvis du har tid til overs!). b) Adam vil gjerne legge til sin digitale signatur til sekvensen ovenfor slik at Eva ikke skal være i tvil om at meldingen hun mottar virkelig er fra ham. Han finner ut at han da må legge til 0, 166 til høyre for den krypterte sekvensen ovenfor før den sendes til Eva. Er dette korrekt? Hvis det ikke er det, hva skulle han ha lagt til? 2.8 Dette med signatur og verifisering av meldinger under RSAkryptografi er et interessant tema (og mange vil si at RSA-kryptografi der dette aspektetet er utelatt ikke er brukbart). Prosedyren som ble beskrevet på slutten av avsnitt 2 kan som nevnt forbedres. Her er to mulige tips: a) I stedet for å la signaturen d være et tall som hver deltager velger og offentligjør, kan man la d være en passende funksjon av meldingen som sendes (mao d = d(t ) der T er desimaltallet som svarer til meldingen). Hvilken signaturfunskjon d som velges må da være offentlig kjent. Diskuterer naturlige kandidater for slike

23 REFERENCES 23 signaturfunksjoner og hvordan dette kan implementeres i vårt RSAopplegg. b) I stedet for å dobbel-kryptere signaturen d før en melding sendes, kan man dobbel-kryptere selve meldingen og erstatte d med en enkel kryptert versjon av det offentlige navnet på avsenderen av meldingen. Diskuterer detaljene rundt en slik løsning. References [1] A.A. Bruen, M.A. Forcinito: Cryptography, information theory, and error-correction : a handbook for the 21st century. Hoboken, N.J., Wiley-Interscience (2005). [2] P. Garrett : Making, breaking codes: an introduction to cryptography. Prentice Hall (2000). [3] B. Johnsen: Kryptografi : den hemmelige skriften. Tapir (2001). [4] B. Johnsen: Kryptografi: en prosjektorientert introduksjon. Tapir (2005). [5] W. Mao: Modern cryptography: theory and practice. Upper Saddle River, N.J., Pearson Education (2004). [6] R. Mollin: RSA and public-key cryptography. CRC Press LLC Boca Raton (2002). [7] D.R. Stinson : Cryptography theory and practice. CRC Press LLC Boca Raton (2005). [8] A.L. Young: Mathematical Ciphers from Caesar to RSA. American Mathematical Society, Mathematical World, Volume 25 (2006).

OFFENTLIG-NØKKELKRYPTOGRAFI

OFFENTLIG-NØKKELKRYPTOGRAFI OFFENTLIG-NØKKELKRYPTOGRAFI S. O. SMALØ Abstract. I dette notatet, som skal inngå som pensum i etterog viderutdanningskurs i datasikkerhet, vil vi gi en kort innføring i oentlig-nøkkel-kryptogra med illustrasjoner

Detaljer

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

6 Kryptografi Totienten Eulers teorem Et eksempel på et bevis hvor Eulers teorem benyttes RSA-algoritmen... Innhold 6 Kryptografi 3 6.1 Totienten.................................... 3 6.2 Eulers teorem.................................. 8 6.3 Et eksempel på et bevis hvor Eulers teorem benyttes............ 19

Detaljer

Oversikt over kryptografi

Oversikt over kryptografi 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

Detaljer

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.

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. Endelige grupper Teorem 10 (Z n, + n ) er en endelig abelsk gruppe. En gruppe er en mengde S sammen med en binær operasjon definert på S, betegnes (S, ), med følgende egenskaper: 1. a, b S, a b S 2. det

Detaljer

Forelesning 24 mandag den 10. november

Forelesning 24 mandag den 10. november Forelesning 24 mandag den 10. november 6.3 RSA-algoritmen Merknad 6.3.1. Én av de meste berømte anveldesene av tallteori er i kryptografi. Alle former for sikre elektroniske overføringer er avhengige av

Detaljer

MAT3000/ Våren 2013 Obligatorisk oppgavesett nr. 2 Løsningsskisse

MAT3000/ Våren 2013 Obligatorisk oppgavesett nr. 2 Løsningsskisse MAT3000/4000 - Våren 2013 Obligatorisk oppgavesett nr. 2 Løsningsskisse Oppgave 1 Din offentlig nøkkel er N = 377 og a = 269, mens lederen av klubben har valgt N = 1829 og a = 7. Passordet som du har mottatt

Detaljer

KAPITTEL 10. EUKLIDS ALGORITME OG DIOFANTISKE LIGNINGER

KAPITTEL 10. EUKLIDS ALGORITME OG DIOFANTISKE LIGNINGER KAPITTEL 10. EUKLIDS ALGORITME OG DIOFANTISKE LIGNINGER Euklids algoritme Euklid s setning 1, divisjonslemmaet, fra Bok 7 Gitt to ulike tall. Det minste trekkes så fra det største så mange ganger dette

Detaljer

Koder. Kristian Ranestad. 8. Mars 2005

Koder. Kristian Ranestad. 8. Mars 2005 i kryptering 8. Mars 2005 i kryptering i kryptering i kryptering En hemmelig melding Kari sender til Ole den hemmelige meldingen: J MPWF V siden responsen er litt treg prøver hun påny med: U EVOL I Nå

Detaljer

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

Dette brukte vi f.eks. til å bevise binomialteoremet. n i. (a + b) n = a i b n i. i=0 Prinsippet om matematisk induksjon: anta du har en påstand som er avhengig av et positivt heltall n. Om du kan vise to ting, nemlig at påstanden er sann for n = 1 og at om påstanden er sann for n = k,

Detaljer

MA1301 Tallteori Høsten 2014 Oversikt over pensumet

MA1301 Tallteori Høsten 2014 Oversikt over pensumet MA1301 Tallteori Høsten 2014 Oversikt over pensumet Richard Williamson 3. desember 2014 Innhold Pensumet 2 Generelle råd 2 Hvordan bør jeg forberede meg?.......................... 2 Hva slags oppgaver

Detaljer

Kryptografi, del 2. Aslak Bakke Buan, Ole Enge

Kryptografi, del 2. Aslak Bakke Buan, Ole Enge Aslak Bakke Buan, Ole Enge Kryptografi, del 2 Offentlig-nøkkel kryptografi Anta du vil handle på internett og blir bedt om å oppgi kredittkortnummeret ditt. Du stoler kanskje på at nettstedet du vil handle

Detaljer

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

Kryptering Kongruensregning Kongruensregning i kryptering Litteratur. Hemmelige koder. Kristian Ranestad. 9. Mars 2006 i kryptering 9. Mars 2006 i kryptering i kryptering i kryptering En hemmelig melding Kari sender til Ole den hemmelige meldingen: J MPWF V siden responsen er litt treg prøver hun påny med: U EVOL I Nå

Detaljer

INF1040 Oppgavesett 14: Kryptering og steganografi

INF1040 Oppgavesett 14: Kryptering og steganografi INF1040 Oppgavesett 14: Kryptering og steganografi (Kapittel 19) Husk: De viktigste oppgavetypene i oppgavesettet er Tenk selv - og Prøv selv - oppgavene. Fasitoppgaver 1. Krypter følgende strenger ved

Detaljer

Lineære likningssystemer og matriser

Lineære likningssystemer og matriser Kapittel 3 Lineære likningssystemer og matriser I dette kapittelet skal vi sette sammen Kapittel 1 og 2. 3.1 Den utvidede matrisen til et likningssystem Vi starter med et lineært likningssystem med m likninger

Detaljer

Kapittel 6: Funksjoner

Kapittel 6: Funksjoner MAT1030 Diskret Matematikk Forelesning 14: Mer om funksjoner Roger Antonsen Institutt for informatikk, Universitetet i Oslo Kapittel 6: Funksjoner 10. mars 2009 (Sist oppdatert: 2009-03-10 11:34) MAT1030

Detaljer

MA1301 Tallteori Høsten 2014

MA1301 Tallteori Høsten 2014 MA1301 Tallteori Høsten 014 Richard Williamson 1. august 015 Innhold Forord 7 1 Induksjon og rekursjon 9 1.1 Naturlige tall og heltall............................ 9 1. Bevis.......................................

Detaljer

MAT1030 Forelesning 14

MAT1030 Forelesning 14 MAT1030 Forelesning 14 Mer om funksjoner Roger Antonsen - 10. mars 2009 (Sist oppdatert: 2009-03-10 11:34) Kapittel 6: Funksjoner Surjektive funksjoner Den neste gruppen av funksjoner vi skal se på er

Detaljer

Oppgaver til kapittel 19 - Kryptering og steganografi

Oppgaver til kapittel 19 - Kryptering og steganografi Oppgaver til kapittel 19 - Kryptering og steganografi Oppgave 1 - Cæsars kode (plenum) I symmetrisk kryptering brukes samme nøkkel både for å kryptere og dekryptere. Avhengig av hvordan nøkkelen utformes

Detaljer

ECC i akademia vs. industrien

ECC i akademia vs. industrien Conax AS 2007 RSA ECC Utbredelse Kampen mellom ECC og RSA har pågått lenge. I akademia går ECC av som vinner, mens i industrien er det fortsatt RSA som gjelder. RSA RSA ECC Utbredelse I 1977 publiserte

Detaljer

KODER I KLASSEROMMET

KODER I KLASSEROMMET KODER I KLASSEROMMET Kristian Ranestad 28.02.2001 Dette heftet er utarbeidet til klasseromsprosjektet ved Matematisk institutt, UiO. I dette prosjektet inngår det halvdags kurs for lærere i forskjellige

Detaljer

Kryptogra og elliptiske kurver

Kryptogra og elliptiske kurver Kryptogra og elliptiske kurver Eivind Eriksen Høgskolen i Oslo Gjesteforelesning, 7. november 2007 Eivind Eriksen (Høgskolen i Oslo) Kryptogra og elliptiske kurver 1 / 23 Plan: 1 Generelt om kryptogra

Detaljer

TALL. 1 De naturlige tallene. H. Fausk

TALL. 1 De naturlige tallene. H. Fausk TALL H. Fausk 1 De naturlige tallene De naturlige tallene er 1, 2, 3, 4, 5,... (og så videre). Disse tallene brukes til å telle med, og de kalles også telletallene. Listen med naturlige tall stopper ikke

Detaljer

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

Løsningsforslag Øving 5 TMA4140 Diskret matematikk Høsten 2010 Løsningsforslag Øving 5 TMA4140 Diskret matematikk Høsten 2010 1. a) Ingen andre tall enn en deler en, og en deler fire, så (1, 4) = 1 b) 1 c) 7 er et primtall og 7 er ikke en faktor i 41, så største felles

Detaljer

Obligatorisk oppgavesett 1 MAT1120 H16

Obligatorisk oppgavesett 1 MAT1120 H16 Obligatorisk oppgavesett MAT0 H6 Innleveringsfrist: torsdag /09 06, innen kl 4.30. Besvarelsen leveres på Matematisk institutt, 7. etasje i N.H. Abels hus. Husk å bruke forsiden som du finner via hjemmesiden.

Detaljer

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

1. Cæsarchiffer er en av de enkleste krypteringsteknikkene. Hva går teknikken ut på? Prøve i kryptografi Navn: Karakter: Poeng: /30 Lykke til! Hjelpemidler: Viskelær og skrivesaker Teknologi i praksis, fre. 23. september Del 1 Flervalgsoppgaver Sett ring rundt alternativ A, B, C eller

Detaljer

Et detaljert induksjonsbevis

Et detaljert induksjonsbevis Et detaljert induksjonsbevis Knut Mørken 0. august 014 1 Innledning På forelesningen 0/8 gjennomgikk vi i detalj et induksjonsbevis for at formelen n i = 1 n(n + 1) (1) er riktig for alle naturlige tall

Detaljer

Analysedrypp I: Bevis, mengder og funksjoner

Analysedrypp I: Bevis, mengder og funksjoner Analysedrypp I: Bevis, mengder og funksjoner Hensikten med Analysedrypp er å bygge en bro mellom MAT1100 og MAT1110 på den ene siden og MAT2400 på den andre. Egentlig burde det være unødvendig med en slik

Detaljer

Modulo-regning. hvis a og b ikke er kongruente modulo m.

Modulo-regning. hvis a og b ikke er kongruente modulo m. Modulo-regning Definisjon: La m være et positivt heltall (dvs. m> 0). Vi sier at to hele tall a og b er kongruente modulo m hvis m går opp i (a b). Dette betegnes med a b (mod m) Vi skriver a b (mod m)

Detaljer

Forelesning 14 torsdag den 2. oktober

Forelesning 14 torsdag den 2. oktober Forelesning 14 torsdag den 2. oktober 4.1 Primtall Definisjon 4.1.1. La n være et naturlig tall. Da er n et primtall om: (1) n 2; (2) de eneste naturlige tallene som er divisorer til n er 1 og n. Eksempel

Detaljer

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

Største felles divisor. (eng: greatest common divisors) Største felles divisor. (eng: greatest common divisors) La a og b være to tall der ikke begge er 0. Største felles divisor (eller faktor) for a og b er det største heltallet som går opp i både a og b.

Detaljer

Sekventkalkyle for utsagnslogikk

Sekventkalkyle for utsagnslogikk Sekventkalkyle for utsagnslogikk Tilleggslitteratur til INF1800 Versjon 11. september 2007 1 Hva er en sekvent? Hva er en gyldig sekvent? Sekventkalkyle er en alternativ type bevissystem hvor man i stedet

Detaljer

Forelesning 1 mandag den 18. august

Forelesning 1 mandag den 18. august Forelesning 1 mandag den 18 august 11 Naturlige tall og heltall Definisjon 111 Et naturlig tall er et av tallene: 1,, Merknad 11 Legg spesielt merke til at i dette kurset teller vi ikke 0 iblant de naturlige

Detaljer

Forelesning 19 torsdag den 23. oktober

Forelesning 19 torsdag den 23. oktober Forelesning 19 torsdag den 23. oktober 5.3 Eulers kriterium Merknad 5.3.1. Følgende proposisjon er kjernen til teorien for kvadratiske rester. Kanskje ser beviset ikke så vanskelig ut, men la merke til

Detaljer

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

Euklids algoritmen. p t 2. 2 p t n og b = p s 1. p min(t 2,s 2 ) For å finne største felles divisor (gcd) kan vi begrense oss til N, sidenfor alle a, b Z, harvi gcd(a, b) =gcd( a, b ). I prinsippet, dersom vi vet at a = p t 1 kan vi se at 1 p t 2 2 p t n og b = p s

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF1080 Logiske metoder for informatikk Eksamensdag: 26. november 2010 Tid for eksamen: 13:00 17:00 Oppgave 1 La A = { }. Mengdelære

Detaljer

Notat 05 for MAT Relasjoner, operasjoner, ringer. 5.1 Relasjoner

Notat 05 for MAT Relasjoner, operasjoner, ringer. 5.1 Relasjoner Notat 05 for MAT1140 5 Relasjoner, operasjoner, ringer 5.1 Relasjoner Når R er en relasjon som er veldefinert på A B, slik at R(x, y) er en påstand når x A og B B, tenker vi på relasjonen som noe som lever

Detaljer

NOTAT OM UNIFORM KONTINUITET VEDLEGG TIL BRUK I KURSET MAT112 VED UNIVERSITETET I BERGEN

NOTAT OM UNIFORM KONTINUITET VEDLEGG TIL BRUK I KURSET MAT112 VED UNIVERSITETET I BERGEN NOTAT OM UNIFORM KONTINUITET VEDLEGG TIL BRUK I KURSET MAT2 VED UNIVERSITETET I BERGEN ANDREAS LEOPOLD KNUTSEN OG ARNE STRAY. Innledning og definisjoner Vi vil i dette notatet betrakte reelle funksjoner

Detaljer

Løsningsforslag til eksamenen i MAT103, våren 2016

Løsningsforslag til eksamenen i MAT103, våren 2016 Løsningsforslag til eksamenen i MAT103, våren 2016 Oppgave 1 (vekt 10%) a) Sjekk om følgende tall er delelig med 9: 654, 45231, 1236546 Løsning: Et tall er delelig med 9 hvis og bare hvis tverrsummen er

Detaljer

MAT1120 Notat 1 Tillegg til avsnitt 4.4

MAT1120 Notat 1 Tillegg til avsnitt 4.4 MAT1120 Notat 1 Tillegg til avsnitt 4.4 Dette notatet tar utgangspunkt i Teorem 8 fra avsnitt 4.4 i boka. For ordens skyld gjentar vi dette teoremet her: Teorem 8 [Avsn. 4.4]: Anta at B = {b 1,..., b n

Detaljer

blir enda viktigere en før fordi tjenestene bllir meget tilgjengelige på Internett

blir enda viktigere en før fordi tjenestene bllir meget tilgjengelige på Internett " %$ # " >9 : B D 1. Åpne og lukkede nettverk - Internett og sikkerhet 2. Krav til sikre tjenester på Internett 3. Kryptografi 4. Kommunikasjonssikkerhet og meldingssikkerhet 5. Elektronisk legitimasjon

Detaljer

Kryptografi og nettverkssikkerhet

Kryptografi og nettverkssikkerhet Kryptografi og nettverkssikkerhet Kapittel : Blokkchiffere og DES (the Data Encryption Standard) Moderne symmetrisk kryptografi Skal se på moderne blokkchiffere, en av de mest brukte kryptoalgoritmene.

Detaljer

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

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 STØRRELSER OG TALL Om størrelser skriver Euklid i Bok 5:. En størrelse er en del av en annen størrelse, den mindre av den større når den måler (går opp i) den større.. Den større er et multiplum av den

Detaljer

Egenverdier for 2 2 matriser

Egenverdier for 2 2 matriser Egenverdier for matriser (Bearbeidet versjon av tidligere notat på nett-sidene til MA101 - Lineær algebra og geometri Versjon oppdatert med referanser til 10utg av læreboken) Egenvektorer og egenverdier

Detaljer

6.4 Gram-Schmidt prosessen

6.4 Gram-Schmidt prosessen 6.4 Gram-Schmidt prosessen La W {0} være et endeligdimensjonalt underrom av R n. (Senere skal vi mer generelt betrakte indreprodukt rom; se seksjon 6.7). Vi skal se hvordan vi kan starte med en vanlig

Detaljer

MAT1030 Diskret matematikk

MAT1030 Diskret matematikk MAT1030 Diskret matematikk Forelesning 13: Funksjoner Dag Normann Matematisk Institutt, Universitetet i Oslo 25. februar 2008 Opphenting Forrige forelesning fortsatte vi innføringen av ekvivalensrelasjoner.

Detaljer

Kryptografi og nettverkssikkerhet

Kryptografi og nettverkssikkerhet Kryptografi og nettverkssikkerhet Kapittel : Blokkchiffere og DES (the Data Encryption Standard) Moderne symmetrisk kryptografi Skal se på moderne blokkchiffere, en av de mest brukte kryptoalgoritmene.

Detaljer

MAT1140: Kort sammendrag av grafteorien

MAT1140: Kort sammendrag av grafteorien MAT1140, H-15 MAT1140: Kort sammendrag av grafteorien Dette notatet gir en kort oppsummering av grafteorien i MAT1140. Vekten er på den logiske oppbygningen, og jeg har utelatt all motivasjon og (nesten)

Detaljer

MAT1120 Notat 2 Tillegg til avsnitt 5.4

MAT1120 Notat 2 Tillegg til avsnitt 5.4 MAT1120 Notat 2 Tillegg til avsnitt 54 Dette notatet utfyller bokas avsnitt 54 om matriserepresentasjoner (også kalt koordinatmatriser) av lineære avbildninger mellom endeligdimensjonale vektorrom En slik

Detaljer

Forelesning 6 torsdag den 4. september

Forelesning 6 torsdag den 4. september Forelesning 6 torsdag den 4. september 1.13 Varianter av induksjon Merknad 1.13.1. Det finnes mange varianter av induksjon. Noen av disse kalles noen ganger sterk induksjon, men vi skal ikke benytte denne

Detaljer

Kapittel 6: Funksjoner

Kapittel 6: Funksjoner MAT1030 Diskret Matematikk Forelesning 14: Mer om funksjoner Dag Normann Matematisk Institutt, Universitetet i Oslo Kapittel 6: Funksjoner 3. mars 2010 (Sist oppdatert: 2010-03-03 15:00) MAT1030 Diskret

Detaljer

Turingmaskiner en kortfattet introduksjon. Christian F Heide

Turingmaskiner en kortfattet introduksjon. Christian F Heide 13. november 2014 Turingmaskiner en kortfattet introduksjon Christian F Heide En turingmaskin er ikke en fysisk datamaskin, men et konsept eller en tankekonstruksjon laget for å kunne resonnere omkring

Detaljer

Reelle tall på datamaskin

Reelle tall på datamaskin Reelle tall på datamaskin Knut Mørken 5. september 2007 1 Innledning Tirsdag 4/9 var tema for forelesningen hvordan reelle tall representeres på datamaskin og noen konsekvenser av dette, særlig med tanke

Detaljer

MAT1030 Forelesning 19

MAT1030 Forelesning 19 MAT1030 Forelesning 19 Generell rekursjon og induksjon Roger Antonsen - 25. mars 2009 (Sist oppdatert: 2009-03-25 11:06) Forelesning 19 Forrige gang så vi på induktivt definerte mengder og noen eksempler

Detaljer

Forelesning 21 torsdag den 30. oktober

Forelesning 21 torsdag den 30. oktober Forelesning 21 torsdag den 30. oktober 5.12 Mersenne-primtall Merknad 5.12.1. Nå kommer vi til å se på et fint tema hvor kvadratisk gjensidighet kan benyttes. Terminologi 5.12.2. La n være et naturlig

Detaljer

Mer om mengder: Tillegg til Kapittel 1. 1 Regneregler for Booleske operasjoner

Mer om mengder: Tillegg til Kapittel 1. 1 Regneregler for Booleske operasjoner MAT1140, H-16 Mer om mengder: Tillegg til Kapittel 1 Vi trenger å vite litt mer om mengder enn det som omtales i første kapittel av læreboken. I dette tillegget skal vi først se på regneregler for Booleske

Detaljer

MAT 100a - LAB 3. Vi skal først illustrerere hvordan Newtons metode kan brukes til å approksimere n-te roten av et positivt tall.

MAT 100a - LAB 3. Vi skal først illustrerere hvordan Newtons metode kan brukes til å approksimere n-te roten av et positivt tall. MAT 100a - LAB 3 I denne øvelsen skal vi bruke Maple til å illustrere noen anvendelser av derivasjon, først og fremst Newtons metode til å løse likninger og lokalisering av min. og max. punkter. Vi skal

Detaljer

Navn og referenser. William Shakespeare 1564-1616 Galileo Galilei 1564-1642 Claudio Monteverdi 1567-1643

Navn og referenser. William Shakespeare 1564-1616 Galileo Galilei 1564-1642 Claudio Monteverdi 1567-1643 Navn og referenser 1 GRUNNFORSKNING SKAL IKKE VÆRE NYTTIG. ET EKSEMPEL OM PRIMTALL Blackeberg, Kungsholmen, Spånga, Åsö, Norra R. 20-22-23 mars 2001, 19-21 mars 2002 grunnforskning nytte anvendelser offentlig

Detaljer

Repetisjon og mer motivasjon. MAT1030 Diskret matematikk. Repetisjon og mer motivasjon

Repetisjon og mer motivasjon. MAT1030 Diskret matematikk. Repetisjon og mer motivasjon Repetisjon og mer motivasjon MAT030 Diskret matematikk Forelesning 22: Grafteori Roger Antonsen Matematisk Institutt, Universitetet i Oslo 4. april 2008 Først litt repetisjon En graf består av noder og

Detaljer

1. Krypteringsteknikker

1. Krypteringsteknikker Krypteringsteknikker Olav Skundberg Opphavsrett: Forfatter og Stiftelsen TISIP Lærestoffet er utviklet for faget 1. Krypteringsteknikker 1.1. Fire formål med sikker kommunikasjon Aller først, pålitelig

Detaljer

= 3 11 = = 6 4 = 1.

= 3 11 = = 6 4 = 1. MAT3000/4000 Eksamen V3 Løsningsforslag Oppgave [0 poeng] Sjekk at 3 er en kvadratisk rest i Z/(3) og finn løsningene av likningen x = 3 i Z/(3) (uten å lage en tabell for x ) Du får lov til å bruke at

Detaljer

Partielle ordninger, Zorns lemma og utvalgsaksiomet

Partielle ordninger, Zorns lemma og utvalgsaksiomet MAT1140, H-15 Partielle ordninger, Zorns lemma og utvalgsaksiomet I dette notatet skal vi se på Zorns lemma, som er et kraftig redskap for å bevise eksistensen av matematiske objekter. Beviset for Zorns

Detaljer

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

Oversikt over bevis at det finnes uendelig mange primtall med bestemte egenskaper Oversikt over bevis at det finnes uendelig mange primtall med bestemte egenskaper Richard Williamson 3. desember 2014 Oppgave 1 La n være et naturlig tall. Bevis at det finnes et primtall p slik at p >

Detaljer

MAT1030 Forelesning 14

MAT1030 Forelesning 14 MAT1030 Forelesning 14 Mer om funksjoner Dag Normann - 3. mars 2010 (Sist oppdatert: 2010-03-03 15:01) Kapittel 6: Funksjoner Injektive funksjoner Igår begynte vi på kapitlet om funksjoner f : X Y, og

Detaljer

Grublegruppe 19. sept. 2011: Algebra I

Grublegruppe 19. sept. 2011: Algebra I Grublegruppe 19. sept. 2011: Algebra I Ivar Staurseth ivarsta@math.uio.no Innledning, definisjoner Vi har så langt jobbet med mengder, X, hvor vi har hatt et avstandsbegrep og hvor vi har vært i stand

Detaljer

Dette krever ikke noe nytt aksiom. Hvorfor? Og hvorfor må vi anta at A ikke er tom? Merk at vi har:

Dette krever ikke noe nytt aksiom. Hvorfor? Og hvorfor må vi anta at A ikke er tom? Merk at vi har: Notat 4 for MAT1140 4 Mer om mengder 4.1 Familier av mengder Union og snitt. Aksiom 4.1. Dersom A er en mengde bestående av mengder, kan de sistnevnte føyes sammen til en stor mengde, kalt unionen til

Detaljer

Litt om diofantiske likninger

Litt om diofantiske likninger 1 Litt om diofantiske likninger av Dag Magne Johannessen Når vi skal løse en likning eller et likningssett, diskuterer vi sjelden hvilken grunnmengde som er til rådighet. Problemet går som regel ut på

Detaljer

VEDLEGG 7 SIKKERHET 1. KRAV TIL SIKRING AV DATAFILER VED OVERFØRING TIL/FRA BANKEN

VEDLEGG 7 SIKKERHET 1. KRAV TIL SIKRING AV DATAFILER VED OVERFØRING TIL/FRA BANKEN VEDLEGG 7 SIKKERHET 1. KRAV TIL SIKRING AV DATAFILER VED OVERFØRING TIL/FRA BANKEN 1.1 Sikkerhetskravene bygger på at det til enhver tid skal være et 1 til 1-forhold mellom det som er registrert i Virksomhetens

Detaljer

Forelesning 13. Funksjoner. Dag Normann februar Opphenting. Opphenting. Opphenting. Opphenting

Forelesning 13. Funksjoner. Dag Normann februar Opphenting. Opphenting. Opphenting. Opphenting Forelesning 13 Dag Normann - 25. februar 2008 Forrige forelesning fortsatte vi innføringen av ekvivalensrelasjoner. Vi definerte hva vi mener med partielle ordninger og med totale ordninger. Deretter snakket

Detaljer

MAT Grublegruppen Notat 10

MAT Grublegruppen Notat 10 MAT1100 - Grublegruppen Notat 10 Jørgen O. Lye Ringer Vi fortsetter i et lynkurs i algebraiske dyr. Først ut er ringer. En ring A (også kalt R) er en abelsk gruppe med addisjon + som operasjon. I tillegg

Detaljer

MAT1030 Diskret Matematikk

MAT1030 Diskret Matematikk MAT1030 Diskret Matematikk Forelesning 26: Trær Roger Antonsen Institutt for informatikk, Universitetet i Oslo 5. mai 2009 (Sist oppdatert: 2009-05-06 22:27) Forelesning 26 MAT1030 Diskret Matematikk 5.

Detaljer

MAT1030 Diskret Matematikk

MAT1030 Diskret Matematikk MAT1030 Diskret Matematikk Plenumsregning 10: Ukeoppgaver Mathias Barra Matematisk institutt, Universitetet i Oslo 20. mars 2009 (Sist oppdatert: 2009-03-30 09:38) Oppgave 6.1 Avgjør hvorvidt følgende

Detaljer

Obligatorisk innleveringsoppgave, løsning Lineær algebra, Våren 2006

Obligatorisk innleveringsoppgave, løsning Lineær algebra, Våren 2006 Obligatorisk innleveringsoppgave, løsning Lineær algebra, Våren 006 Oppgave I hele oppgaven bruker vi I = 0 0 0 0. 0 0 a) Matrisen A har størrelse og B har størrelse slik at matriseproduktet A B er en

Detaljer

Løsningsforslag til eksamenen i MAT103, våren 2015

Løsningsforslag til eksamenen i MAT103, våren 2015 Løsningsforslag til eksamenen i MAT103, våren 2015 Oppgave 1 (vekt 10%) a) Et tall a er et partall hvis a er delelig med 2, dvs a 0(mod 2). Et tall a er et oddetall hvis a ikke delelig med 2, dvs a 1(mod

Detaljer

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

Oversikt over lineære kongruenser og lineære diofantiske ligninger Oversikt over lineære kongruenser og lineære diofantiske ligninger Richard Williamson 3. desember 2014 Oppgave 1 Finn et heltall x slik at 462x 27 (mod 195). Benytt først Euklids algoritme for å finne

Detaljer

KONTINUASJONSEKSAMEN I TMA4140 LØSNINGSFORSLAG

KONTINUASJONSEKSAMEN I TMA4140 LØSNINGSFORSLAG Norges teknisk naturvitenskapelige universitet Institutt for matematiske fag Side av 6 KONTINUASJONSEKSAMEN I TMA440 LØSNINGSFORSLAG Oppgave Sannhetsverditabell for det logiske utsagnet ( (p q) ) ( q r

Detaljer

Matematisk induksjon

Matematisk induksjon Matematisk induksjon 1 Innledning Dette er et nytt forsøk på å forklare induksjon. Strategien min i forelesning var å prøve å unngå å få det til å se ut som magi, ved å forklare prinsippet fort ved hjelp

Detaljer

Forelesning 22 MA0003, Mandag 5/11-2012 Invertible matriser Lay: 2.2

Forelesning 22 MA0003, Mandag 5/11-2012 Invertible matriser Lay: 2.2 Forelesning 22 M0003, Mandag 5/-202 Invertible matriser Lay: 2.2 Invertible matriser og ligningssystemet x b Ligninger på formen ax b, a 0 kan løses ved å dividere med a på begge sider av ligninger, noe

Detaljer

Diskret matematikk tirsdag 13. oktober 2015

Diskret matematikk tirsdag 13. oktober 2015 Eksempler på praktisk bruk av modulo-regning. Tverrsum Tverrsummen til et heltall er summen av tallets sifre. a = 7358. Tverrsummen til a er lik 7 + 3 + 5 + 8 = 23. Setning. La sum(a) stå for tverrsummen

Detaljer

Mengder, relasjoner og funksjoner

Mengder, relasjoner og funksjoner MAT1030 Diskret Matematikk Forelesning 15: og induksjon Dag Normann Matematisk Institutt, Universitetet i Oslo Mengder, relasjoner og funksjoner 9. mars 2010 (Sist oppdatert: 2010-03-09 14:18) MAT1030

Detaljer

MAT1030 Diskret Matematikk

MAT1030 Diskret Matematikk MAT1030 Diskret Matematikk Forelesning 16: Rekursjon og induksjon Roger Antonsen Institutt for informatikk, Universitetet i Oslo 17. mars 009 (Sist oppdatert: 009-03-17 11:4) Forelesning 16 MAT1030 Diskret

Detaljer

Konvertering mellom tallsystemer

Konvertering mellom tallsystemer Konvertering mellom tallsystemer Hans Petter Taugbøl Kragset hpkragse@ifi.uio.no November 2014 1 Introduksjon Dette dokumentet er ment som en referanse for konvertering mellom det desimale, det binære,

Detaljer

4.4 Koordinatsystemer

4.4 Koordinatsystemer 4.4 Koordinatsystemer Minner om at B = { b 1, b 2,..., b n } kalles en basis for et vektorrom V dersom B er lineært uavhengig og utspenner V. I samme vektorrom kan vi innføre ulike koordinatsystemer ;

Detaljer

Rekurrens. MAT1030 Diskret matematikk. Rekurrens. Rekurrens. Eksempel. Forelesning 16: Rekurrenslikninger. Dag Normann

Rekurrens. MAT1030 Diskret matematikk. Rekurrens. Rekurrens. Eksempel. Forelesning 16: Rekurrenslikninger. Dag Normann MAT1030 Diskret matematikk Forelesning 16: likninger Dag Normann Matematisk Institutt, Universitetet i Oslo INGEN PLENUMSREGNING 6/3 og 7/3 5. mars 008 MAT1030 Diskret matematikk 5. mars 008 Mandag ga

Detaljer

Obligatorisk oppgave 1 MAT1120 H15

Obligatorisk oppgave 1 MAT1120 H15 Obligatorisk oppgave MAT20 H5 Innleveringsfrist: torsdag 24/09-205, innen kl 4.30. Besvarelsen leveres på Matematisk institutt, 7. etasje i N.H. Abels hus. Husk å bruke forsiden som du finner via hjemmesiden.

Detaljer

MAT1030 Diskret matematikk

MAT1030 Diskret matematikk MAT1030 Diskret matematikk Forelesning 14: Rekursjon og induksjon Dag Normann Matematisk Institutt, Universitetet i Oslo 27. februar 2008 Oppsummering Mandag repeterte vi en del om relasjoner, da spesielt

Detaljer

MAT1120 Notat 1 Tillegg til avsnitt 4.4

MAT1120 Notat 1 Tillegg til avsnitt 4.4 MAT1120 Notat 1 Tillegg til avsnitt 4.4 Vi tar utgangspunkt i Teorem 8 fra avsn. 4.4 i boka. For ordens skyld gjentar vi teoremet her: Teorem 8 [Avsn. 4.4]: Anta at B = {b 1,..., b n } er en (ordnet) basis

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i MAT-INF 00 Modellering og beregninger. Eksamensdag: Torsdag 6. desember 202. Tid for eksamen: 9:00 3:00. Oppgavesettet er på 8

Detaljer

Repetisjon. MAT1030 Diskret Matematikk. Oppsummering. Oppsummering. Forelesning 15: Rekursjon og induksjon. Roger Antonsen

Repetisjon. MAT1030 Diskret Matematikk. Oppsummering. Oppsummering. Forelesning 15: Rekursjon og induksjon. Roger Antonsen MAT1030 Diskret Matematikk Forelesning 15: og induksjon Roger Antonsen Institutt for informatikk, Universitetet i Oslo Repetisjon 11. mars 2009 (Sist oppdatert: 2009-03-10 20:38) MAT1030 Diskret Matematikk

Detaljer

Forelesningsnotater SIF 5021 Algebra og tallteori V-02. Et kort innføring med eksempler fra kodeteori

Forelesningsnotater SIF 5021 Algebra og tallteori V-02. Et kort innføring med eksempler fra kodeteori Forelesningsnotater SIF 5021 Algebra og tallteori V-02. Et kort innføring med eksempler fra kodeteori Sverre O. Smalø I forbindelse med elektronisk digital kommunikasjon vil kommunikasjonskanalen av og

Detaljer

Sondre Granlund Moen

Sondre Granlund Moen Kryptering i sjøforsvaret Sondre Granlund Moen 27.06.17 Innhold Hva er kryptering?... 3 Symmetrisk kryptering... 3 Asymmetrisk kryptering... 3 Historie:... 3 Egypterne... 3 Cæsar- siffer (alfabetet)...

Detaljer

Eneboerspillet del 2. Håvard Johnsbråten, januar 2014

Eneboerspillet del 2. Håvard Johnsbråten, januar 2014 Eneboerspillet del 2 Håvard Johnsbråten, januar 2014 I Johnsbråten (2013) løste jeg noen problemer omkring eneboerspillet vha partall/oddetall. I denne parallellversjonen av artikkelen i vil jeg i stedet

Detaljer

King Kong Erfaren Scratch PDF

King Kong Erfaren Scratch PDF King Kong Erfaren Scratch PDF Introduksjon I dette spillet inspirert av historien om King Kong, skal vi se hvor lett det er å bruke grafikk som ikke allerede ligger i Scratchbiblioteket. I spillet styrer

Detaljer

Generell induksjon og rekursjon. MAT1030 Diskret matematikk. Generell induksjon og rekursjon. Generell induksjon og rekursjon.

Generell induksjon og rekursjon. MAT1030 Diskret matematikk. Generell induksjon og rekursjon. Generell induksjon og rekursjon. MAT1030 Diskret matematikk Forelesning 18: Generell rekursjon og induksjon Dag Normann Matematisk Institutt, Universitetet i Oslo 12. mars 2008 Mandag så vi på induktivt definerte mengder og noen eksempler

Detaljer

Potenser og tallsystemer

Potenser og tallsystemer 1 Potenser og tallsystemer Mål for opplæringen er at eleven skal kunne regne med potenser og tall på standardform med positive og negative eksponenter og bruke dette i praktiske sammenhenger gjøre rede

Detaljer

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG HØGSKOLEN I SØR-TRØNDELAG AVDELING FOR INFORMATIKK OG E-LÆRING Kandidatnr: Eksamensdato: 9.mai 2005 Varighet: Fagnummer: Fagnavn: 3 timer LV 252 D Internett og sikkerhet Klasse(r): Studiepoeng: 6 Faglærer(e):

Detaljer

Direkte produkter. (a, b)(a 0,b 0 )=(ab, a 0 b 0 ).

Direkte produkter. (a, b)(a 0,b 0 )=(ab, a 0 b 0 ). Direkte produkter Vi kjenner det kartesiske produktet av to mengder Y.Detbeståravallepar(x, y) av elementer x 2 og y 2 Y.OrdetkartesiskerdannetavegennavnetRenéDécartes, en fransk filosof og matematiker

Detaljer

En rekke av definisjoner i algebra

En rekke av definisjoner i algebra En rekke av definisjoner i algebra Martin Strand, martin.strand@math.ntnu.no 11. november 2010 Definisjonene som er gitt her, kommer i MA2201 Algebra og MA3201 Ringer og moduler. Forhåpentligvis blir det

Detaljer

Diofantiske likninger Peer Andersen

Diofantiske likninger Peer Andersen Diofantiske likninger av Peer Andersen Peer Andersen 2013 Innhold Når en diofantisk likning har løsning... 3 Generell løsning av den diofantiske likningen... 4 Løsningsmetode når vi kjenner en spesiell

Detaljer

MAT1140: Partielle ordninger, Zorns lemma og utvalgsaksiomet

MAT1140: Partielle ordninger, Zorns lemma og utvalgsaksiomet MAT1140: Partielle ordninger, Zorns lemma og utvalgsaksiomet I dette notatet skal vi se på Zorns lemma, som er et kraftig redskap for å bevise eksistensen av matematiske objekter. Beviset for Zorns lemma

Detaljer

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)

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) . Oppgave. Bevis følgende logiske ekvivalens: ((p q) p) (p q). Bestem de sannhetsverdier for p, q og r som gjør følgende utsagn galt: (p (q r)) (q r p) 3. Avgjør om følgende utsagn er sant i universet

Detaljer