Projekt 0.6 RSA kryptering

Størrelse: px
Starte visningen fra side:

Download "Projekt 0.6 RSA kryptering"

Transkript

1 Projekt 0.6 RSA kryptering 1. Introduktion. Nøgler til kryptering Alle former for kryptografi prøver at løse følgende problem: En afsender, A ønsker at sende en mdelelse til en modtager, M, såles at den ikke kan læses af uvkommende. Afsenderen koder derfor mdelelsen v brug af en "nøgle". Modtageren afkoder den kode mdelelse ligeles v brug af en "nøgle". Derfor er et godt bille på, hvad der foregår, at afsenderen låser sin mdelelse inde i en boks m brug af sin A-nøgle. Modtageren låser boksen op m brug af sin M-nøgle. Andre kunne finde mdelelsen, hvis de kunne lave sig en M-nøgle, eller hvis de på anden vis kunne dirke låsen op. I klassiske systemer har A-nøgler og M-nøgler været (stort set) identiske. Man har tænkt i baner som: En nøgle kan både låse i og låse op. Men det er jo ikke rigtigt. Tænk på en banks døgnboks, hvori en forretning lægger dagens omsætning, når banken er lukket. "Afsenderen" har her en nøgle, der ikke er spor hemmelig; blot m et beskent gebyr kan enhver blive tilkoblet denne døgnboks-service og få sig en nøgle. Dette er altså en offentlig nøgle. M nøglen åbnes boksen, kuverten m pengene lægges i, og boksen lukkes. Hvis man nu fortryder, er det for sent: Luk op igen og se - kuverten er forsvundet. Naturligvis, for ellers ville den næste jo kunne tage pengene. Du skal have en helt anden hemmelig nøgle, for at kunne komme ind til de deponere penge. Enhver kender i øvrigt dette, at man kan låse noget inde, uden at kunne låse op igen. Måske har man prøvet at smække sig ude! Eller hvis man har en cykel, eller et rum, der er låst m en smæklås (feks en hængelås), ja så kan man jo låse, uanset om man har nøglen eller ej. Det er denne tankegang moderne kryptografiske metoder bygger på. Lad blot den "nøgle", som afsenderen skal bruge til at kode sin mdelelse m, være offentligt tilgængelig, og sørg alene for, at nøglen til at afkode m er hemmelig. Det kræver selvfølgelig, at de to nøgler er vidt forskellige, og at den ene ikke kan findes ud fra kendskab til den anden. Men man skal også sikre sig mod indbrud, feks af hackere. Derfor er det et krav, at når mdelelsen er sendt afst i kodet form, er det næsten umuligt for uvkommende at nå ind til den. I matematisk talteori svarer dette til begrebet en énvejsfunktion. Dette er en funktion E(x) fra en talmængde til en anden, hvor der gælder: - Ex ( ) er altid let at beregne (dvs det er let at kode) - Hvis man kender Ex ( ) er det et beregningsmæssigt svært (i praksis umuligt) problem at finde x, altså at svare på, "hvor Ex ( ) kommer fra". Eksempel 1 Lad os sige vi har givet tallene a = 123, b = 3589 og y = De er offentligt kendte. Find nu et tal x, såles at 123 x v division m 3589 får en rest på Det er et meget vanskeligt problem. Vælges a, b og y betragteligt større, feks tal m 30, 40 eller 100 cifre, så er det praktisk taget umuligt at løse. Dvs den funktion, der til et x knytter den rest, vi får v at dividere 3589 op i 123 x er en envejsfunktion. Den slags problemer behandles i talteori

2 Envejsfunktioner vil sikkert finde vid udbrelse som beskyttelse mod feks hackere. Er du ulovligt på vej ind i et system, så er den første elementære beskyttelse, du skal bryde igennem ofte at opgive korrekt brugernummer og password. Det bremser de fleste. Men dygtige hackere v jo, at disse tal findes inde i maskinens lager, da den skal checke de oplysninger, vi giver den. Og af og til kan de komme "bagom" og finde disse tal. Det mest sikre er derfor, at tallene slet ikke findes i lageret! Hvordan det? Jo, i stet findes en envejsfunktion Ex, ( ) samt de tilladte y-værdier. Du skal opgive dine x-værdier, maskinen beregner Ex ( ) og sammenligner m de korrekte y-værdier. Og selv om en hacker/kodebryder finder y-værdierne, kan vkommende ikke regne sig tilbage til x- værdierne og skaffe sig adgang. Nu er det en dårlig fidus, hvis ingen overhovet kunne "låse sig ind til" mdelelsen. Det er en speciel type envejsfunktion vi er interesseret i indenfor kryptologi. Nemlig dem, hvorom der gælder, at nogen kan lukke dem op. I talteorien kaldes sådanne funktioner malende for smæklåsfunktioner. En smæklåsfunktion er en envejsfunktion Ex, ( ) hvorom der gælder, at givet en bestemt ekstra information er det en let sag at finde x ud fra Ex. ( ) Det er en let sag at låse noget inde og smække låsen. Men det er svært at lukke op igen. Er låsen meget kompliceret, kan det være en næsten umulig opgave at "dirke sig ind" - men m nøglen i hånden er det selvsagt let. Hele arbejdet i det følgende drejer sig om at nå frem til at forstå, hvordan vi kan lave sådanne envejs- og smæklåsfunktioner, der udgør eller kommer til at udgøre hjertet i de nye sikkerhssystemer inden for elektronisk kommunikation, feks v brug af Dankort, netbank osv. En af disse metoder bygger på talteori, nærmere bestemt på (vanskelighen i at) faktorisere store tal i primfaktorer. Den talteori, der indtil for få år siden blev opfattet som helt ren matematik, giver os værktøjet til den mest effektive kryptering, der tænkes kan. Det som matematikerne troe var milevidt fra al anvendt matematik, er pludselig blevet et kraftigt voksende kommercielt område. Matematikere kan nu leve af at producere primtal! Det system vi kalder RSA-systemet er opkaldt efter de tre matematikere Rivest, Shamir og Adleman, der opfandt og beskrev det første gang i Det er et eksempel på et såkaldt Public Key System. Den grundlæggende del af matematikken har været kendt i mange hundre år, noget siden oldtiden. Men en masse sofistikere metoder og opdagelser fra nyere tid har muliggjort, at systemet kan anvendes til sikker datakommunikation i dag. 2. Forudsætninger Hvis dette projekt gennemføres i forlængelse af projekterne 0.4 og 0.5, så kan du springe dette afsnit over. Her vil vi i koncentreret form præsentere nogle af de værktøjer og begreber vi anvender, når vi præsenterer RSA algoritmen og viser, hvorfor den virker. 2.1 Primtal og faktorisering

3 Aritmetikkens fundamentalsætning) Ethvert helt tal kan skrives på en og kun en måde som et produkt af primtal, dvs primtalsfaktoriseringen af et helt tal er entydig. Vi kalder denne opskrivning for primfaktoropløsningen af N. Sætningen siger altså at primfaktoropløsningen er éntydig. Beviset gives i projekt 0.5. Eksempel 2. Primfaktoropløsninger a) 2310 = b) = Øvelse 1 Opskriv uden brug af værktøj en primfaktoropløsning af : a) 42 b) 81 c) 225 d) 117 e) 1368 f) 2093 g) 1024 h)1025 Alle værktøjsprogrammer kan primtalsfaktorisere. I TI Nspire gøres m funktionen factor(). I Maple gøres det m funktionen ifactor(). Undersøg hvordan dit værktøjsprogram fungerer. Øvelse 2 Anvend dit værktøj til at opskrive en primfaktoropløsning af: a) 3397 b) c) d) e) Eksempel 3. Primtalsfaktorisering af store tal Det er en enkel sag at gange to primtal p og q og få et resultat N= pq. Selvom p og q er meget store, kunne vi klare det i hånden. Men det er en vanskelig sag at finde ud af, hvilke primtal der går op i et givet stort tal. Selv for moderate tal er det svært uden værktøj. p = 1409 og q = 1993 er primtal. Deres produkt er N = Var vi startet m N, ville det være ret svært at finde p og q. Prøv feks at finde hvilke primfaktorer der er i , uden brug af værktøj. Hvis det var tal 100 eller 200 cifre var opgaven praktisk taget umulig at løse i hånden. Eksempel 4. Eratosthenes si En af oldtidens største videnskabsmænd var Eratosthenes fra Kyene, der leve ca fvt. Han er mest berømt for at have beregnet Jordens omkrs m stor nøjagtigh, men han beskæftige sig også m talteori og beskrev en metode til at afgøre om et givet tal er et primtal. Eratosthenes vidste, at der er uendeligt mange primtal et bevis herfor findes i Euklids Elementer, og er gengivet i projekt 0.5 og hans metode er simpelthen at gå frem i talrækken og skridt for skridt slette alle tal i 2-tavellen, i tre-tabellen, i 5-tabellen, i 7-tabellen osv., dvs. i alle primtalstabeller. Når vi kommer t il det givne tal N kan vi blot tjekke om det er blevet slettet. Hvis ikke er det et primtal. En anden måde at beskrive denne Eratosthenes si, der kun lader primtallene sive igennem, er at stille primtallene op i række, og spørge: Går 2 op i N? Går 3 op i N? Går 5 op i N? Går 7 op i N? Går p op i N?, hvor p er det i te primtal, osv. i i

4 Øvelse 3. a) Hvor langt op i talrækken behøver vi at fortsætte vores undersøgelse for at se om fx er et primtal? Der findes en besynderlig formel, der giver et tilnærmet tal til antallet af primtal mindre end et givet tal n. Allere Euler opdage som barn denne formel v at læse i primtalstabeller! Formlen siger, at antallet af primtal mindre end n, der betegnes m p(n) kan estimeres m: n π( n)», hvor ln er den naturlige logaritme. ln( n) Dvs antal primtal mindre end 1 million er af størrelsesorden: π( ) = π(10 )» = ln(10) Øvelse 4 Hvor mange primtal findes der omtrentlig, der har mindre end 100 cifre. Øvelse 5. En definition på titalslogaritmen log er, at givet et tal N, da er log(n) det tal a, der opfylder: 10 a = N Logaritmen til tallet 100 er derfor 2, og logaritmen til tallet 1 million er 6. Logaritmen til 5 milliarder er ca 9.7. Vi lægger mærke til, at antallet af cifre i et tal (i 10-talssystemet) derfor kan findes v at udregne (10-tals-)logaritmen til tallet, og så forhøje til nærmeste hele tal. 50 a) Hvor mange cifre er der i tallet b) For hvilket tal a har tallet 2 a cifre Øvelse 6. De tal, man arbejder m i moderne kryptering har flere hundre cifre. Sådanne tal kan vores værktøjsprogrammer ikke klare. Men 50-cifre og selv 100-cifre tal klarer de, måske m en vis ventetid. 200 a) Hvor mange cifre har tallet 2 + 1? Anvend dit værktøj til at faktorisere tallet. 330 b) Hvor mange cifre har tallet 2 + 1? Anvend dit værktøj til at faktorisere tallet. 100 c) Faktoriser tallet Bemærkning. Hvis du vil udfordre dit værktøj m meget større tal, så sørg for, at du har gemt det, som du i øvrigt arbejder m i værktøjsprogrammet, da du kan sætte værktøjet skakmat, så du ikke kan komme videre. Vi lægger mærke til, at i faktoriseringen optræder normalt en del mindre primtal. Hvis programmet arbejder m nogle første forsøg, hvor der anvendes en algoritme som Eratosthenes si, så vil det oprindelige tal hurtigt blive faktoriseret n til noget mere overkommeligt.

5 I RSA kryptografi bygger man på, at det offentligt kendte nøgletal i praksis ikke kan faktoriseres, fordi det er bygget op v hjælp af to meget store primtal. I et forsøg på at knække en kode, dvs primtalsfaktorisere nøgletallet, vil man ikke kunne rucerer problemet v hurtigt at faktorisere en række mindre primtal ud. Der er kun to primtal, og de er hver for sig meget store. Men heri ligger også en af udfordringerne for dem, der konstruerer koderne. For hvordan v de m sikkerh, at de tal, de bygger koden op m, faktisk er primtal? Det v de h eller ikke nødvendigvis, men de v at sandsynlighen for det er meget stor. Et af de store felter inden for denne del af matematikken er de såkaldte primtalstest, hvor det første og ret simple test knytter sig til Fermats lille sætning, der er omtalt og bevist i projekt 0.4 Fermats lille sætning p 1 1) Hvis p er et primtal, og a er et tal, som p ikke går op i, så gælder der: a - º 1 ( mod p) p 2) Hvis p er et primtal, og a er vilkårligt tal, så gælder der: a º a( mod p) Bemærkning. Moduloregning, dvs regning hvor vi kun interesserer is for resten v division m et tal, er omtalt nenfor. De matematiske værktøjsprogrammer kan gennemføre modulo-regning. Hvis vi ville tjekke Fermats lille sætning på p = 17 kunne det i maple se sådan ud: 16 Det betyder, at for alle tal a, fx 5 16 får vi resten 1 v division m 17. Version 2 af Fermats lille sætning ville se såles ud: = Øvelse 7. Fermats lille sætning undersøgt m værktøjsprogram Anvend dit værktøjsprogram til at undersøge Fermats lille sætning m primtallet 23 og det sammensatte tal 27. Øvelse 8. Carmichael tal Fermats lille sætning er som nævnt det første simple primtalstest, dvs et test på, om et tal er et primtal. Hvis p er et primtal, skal Fermats lille sætning gælde. Vi kan desværre ikke slutte modsat, da der findes tal p, som opfylder Fermats lille sætning, uden at være primtal. Disse tal kaldes pseudo-primtal, eller Carmichael tal. Der er ikke mange af dem, men de findes. Det eneste Carmichael tal under 1000 er tallet a mod 561 for alle tal fra 1 til 560 m brug af dit værktøjsprogram, fx v at Prøv at udregne ( ) udregne: Eksempel 5. Fermat-tal Fermat, der var jurist af profession, var en stor matematisk begavelse. Han mvirke i udviklingen af differentialregningen, i sandsynlighsregningens undfangelse og meget andet - og altså også i talteorien. Han er mest berømt for det, der i matematikhistorien er blevet kaldt Fermats store sætning eller sidste sætning, der siger, at hvis n er større end 2, så findes ingen hele tal x,y og z, der opfylder ligningen: x n + y n = z n

6 (for n = 2 er det jo Pythagoras) Sætningen blev bevist efter 350 år af Andrew Wiles i 1996 (?). Fermat har givet flere bidrag til talteorien. Han mente at tallene der kunne skrives på formen: 2 F 2 n n = + 1 alle er primtal. Tallene er siden blevet kaldt Fermat-tallene og betegnes F n. Påstanden er sand for n = 1,2,3,4, hvor Fermat-tallene er: F 1 = 5, F 2 = 17, F 3 = 257, F 4 = men Euler viste desværre for Fermat, at der om det næste tal gælder: F 5 = = så F 5 er ikke et primtal. I dag tror man snarere at ingen af de følgende Fermat-tal er primtal Division m rest og primiske tal Praxis. Division m rest Mængden af hele tal (positive, negative og nul) betegnes. At et tal a er et helt tal angives m: aî, der læses a tilhører. Når vi har to vilkårlige hele tal, abî, kan vi dividere a op i b v den metode, vi lærte i folkeskolen. Resultatet skrives såles: b= q a+ r, hvor qî Z, og 0 r< a (*) Vi vil altid skrive resultatet såles, at resten r ligger i dette interval. Denne rest kaldes den principale rest. Opskrivningen af (*) kaldes divisionsligningen. Vi viser i projekt 0.4, at divisionsligningen er éntydig. Hvis a går op i b, dvs hvis resten er 0, siger vi at a er divisor i b, og vi skriver: ab. Eksempel 6 a = 5, b = 32: 32= a = 3, b = 16: 16= a = 3, b = -16: - 16= Bemærk at kravet om 0 r< agiver en lidt anden divisionsligning for negative tal. Eksempel ł ( går ikke op i ) Praxis. Største fælles divisor og indbyrdes primiske tal. Givet to tal abî., Det største tal blandt alle de fælles divisorer i a og b kaldes den største fælles divisor i a og b og betegnes m sfd( ab,), gcd( ab, ), eller blot ( ab,). Den største fælles divisor for to hele tal a og b er produktet af deres fælles primfaktorer. Hvis tallet d er den største fælles divisor af to tal a og b ( ( a, b) = d)), så findes tal s, og t, så d kan skrives som en linearkombination af a og b: d= s a+ t b, hvor stî, Hvis den største fælles divisor for a og b er 1, kaldes a og b for indbyrdes primiske.

7 Egenskab m linearkombinationen er meget vigtig. Den anvendes i kryptografien til at bestemme den hemmelige nøgle ud fra den nøgle, vi offentliggør. Det vender vi tilbage til nenfor i afsnit 3. Egenskaben er bevist i projekt 0.5. Eksempel 8 (10,25) = 5, og = 5 (56,15) = 1, og = 1 Bemærkning. Der findes en metode (en algoritme) til at bestemme s og t. Denne metode kaldes Euklids algoritme, og er behandlet i projekt 0.5. Øvelse 9 a) Vis, at største fælles divisor af tallene 1309 og 1235 er tallet 1 Man kan m brug af Euklids algoritme bestemme s og t så 1 = s t 1235 De fleste værktøjsprogrammer har indbygget Euklids algoritme. I Maple kan man skrive såles: hvorefter man dels får oplyst, at 1 er største fælles divisor, og dels får oplyst de to tal s og t. b) Bestem to tal s og t så: 1 = s t 1235 Moduloregning og restklasser Vi anvender moduloregning og restklasser mange gange om dagen, nemlig når vi taler om tid, om hvad klokken er, om hvor lang tid der er til et eller andet, vi har aftalt, dvs. når vi udmåler tid m et ur. Når tiden udmåles i timer, regner vi modulo 24 (eller 12), og når tiden udmåles i minutter regner vi modulo 60. Vi siger ikke, at klokken er 80 minutter over 10, men at den er 20 minmutter over 11. Når klokken passerer midnat, tæller vi ikke videre på tallinjen m 25, 26 osv., men forfra om natten er klokken 1, 2 osv. Siger vi, at vi går i seng KL 23, regner vi modulo 24, mens de som siger, at de går i seng KL 11, regner modulo 12. Regner man modulo 12, identificerer man altså 23 og 11. Går man i seng KL 23 og sætter uret, så man kan sove i 8 timer, så står man ikke op kl = 31, men kl. 7. Tallet 7 får vi matematisk, v at trække 24 fra 31. I praksis tæller de fleste nok op til 24 (det var én time) og resten af de 8 timer, altså tallet 7 angiver så klokkeslettet, hvor vi står op. Også her identificerer vi altså 31 og 7. Men vi kan naturligvis ikke skrive: 31= 7. Derfor har man i matematik indført en særlig betegnelse for denne måde at identificerer tal på, nemlig v at skrive: 31(mod24) = 7(mod24) mod 24 læses modulo 24, og angiver, at vi trækker 24 fra tallet lige så mange gange vi kan, indtil vi har et tal mellem 0 og 24. Såles gælder altså: 48 (mod24) = 0 (mod24) og 245(mod24) = 5(mod24) Det sidste udtryk kan vi tolke såles: Hvis klokken nu fx er 9, så er den om 245 timer = kan opfattes som resten vi får v division af 245 m 24. Divisionen går jo ikke op, men giver 10 og altså 5 til rest. Vi kunne også regne tilbage i tiden: - 20(mod24) = 4 (mod24) Dette kan vi tolke såles. Hvis klokken nu fx er 9, så var den for 20 timer siden 9+ 4= 13. Tilsvarende gælder der:

8 80 (mod 60) = 20(mod 60) og 380 (mod365) = 15(mod 365) Prøv at give en fortolkning af disse to udtryk. Regner vi modulo 24, så identificerer vi altså alle tallene:...,-44,-20,4,28,52,... { } Tilføj selv yderligere to negative og to positive tal. En sådan mængde af tal kalder vi for en restklasse modulo 24. Vi siger også, at tallene i en sådan restklasse er kongruente modulo 24, og anvender symbolet º til at udtrykke dette. Vi skriver fx: 4 º 52(mod24). Øvelse 10 a) Opskriv restklasen hørende til tallet 0, og restklassen hørende til tallet 10. b) Hvor mange forskellige restklasser modulo 24 findes der? I almindeligh kan man v restklasser modulo n, hvor n er et naturligt tal, forestille sig, at man vikler en tallinje rundt om en cirkel, der har omkrsen n. Hver gang vi går n positioner frem på den omvikle tallinje rammer vi altså det samme punkt på cirklen. Restklasserne repræsenteres af tallene {0, 1, 2,, n-1}, der kaldes for de principale rester v division m n. På illustrationen ser man fx, at tallene - 3 og 9 er i samme restklasse og altså er kongruente modulo 12. Eksempel 9 7 º 12 (mod 5) - 3 º 1(mod 4) 7 º 122 (mod 5) - 3 º 17 (mod 4) Vi skriver ikke altid (mod n) efter tallet, hvis dette tal er den principale rest. I stet tillader vi os for nemhs skyld at skrive eksempelvis 12(mod5) = 2. Her står, at den principale rest v division af 12 m 5 er 2. Øvelse 11 Bestem følgende: a) 21(mod 3) b) 558 (mod17) c) (mod10) d) - 20 (mod3) e) (mod9) Praxis. Moduloregning Mængden af principale rester v division m n betegnes: = { 0,1,2,..., n -1} Et tal i n opfattes som repræsentant for sin tilsvarende restklasse. Hvis abî, n definerer vi addition af restklasser såles: ( )( mod ) a+ b= a+ b n Der gælder følgende regler for regning m restklasser: 1) ( a+ b)( mod n) = ( a( mod n) + b( mod n) ) ( mod n) 2) ( a- b)( mod n) = ( a( mod n) -b( mod n) ) ( mod n) 3) ( a b)( mod n) = ( a( mod n) b( mod n) ) ( mod n) Bemærkning. Dette er gennemgået og bevist i projekt 0.4. Læg mærke til, at vi på højre side må rucere en ekstra gang modulo n, fordi vi evt. kommer uden for tallene i n n

9 Øvelse 12 Vælg et tal n og demonstrer regnereglerne m nogle taleksempler. Alle værktøjsprogrammer har moduloregning indbygget. Skal man udregne 100(mod 6), dvs resten man får v division af 100 m 6, så skriver man fx i TI Nspire: mod(100,6), og får resultatet 4 i Maple: 100 mod 6, og får resultatet 4 Øvelse 13 a) Bestem mod b) Bestem 2205 mod 3149 Undersøgelsen af, om to tal er kongruente modulo et tal n kan udføres på en lidt anden måde, end v at opskrive divisionsligningen, nemlig v at undersøge, om forskellen på de to tal er delelig m n. Dette er indholdet i næste sætning. Man kan ofte se denne egenskab anvendt som definition på kongruens. Sætning 2 1) Hvis a(mod n) b(mod n) n a-b =, så gælder: ( ) 2) Hvis n ( a-b), så gælder: a(mod n) = b(mod n) 3. RSA systemet RSA systemet bygger på den antagelse, at det er praktisk umuligt at primtalsfaktorisere store tal. M store tal mener vi tal, der har flere hundre cifre. RSA-systemet består af: en offentlig kendt nøgle E (encryption - kryptering), som anvendes af en afsender, der ønsker at kode sin mdelelse, så ingen uvkommende får adgang. Denne nøgle består af to tal, (nærmere beskrevet nenfor) som feks kan findes i en telefonbog. en hemmelig nøgle D (Decryption- dekryptering) som anvendes af modtageren til at afkode mdelelsen. Denne nøgle består af et af de offentlige tal samt et hemmeligt tal (beskrevet nenfor), og dette skal selvfølgelig opbevares sikkert. Systemet opfylder kravene til et "smæklås-system": det er let at kode (dvs at "låse") det er praktisk taget umuligt at finde den oprindelige mdelelse ud fra den kode; der findes en nøgle, såles at det for indehaveren af nøglen er en let sag at afkode mdelelsen ("låse op"). Nøglerne findes som følger: Vælg to meget store primtal, p og q, hver m over 100 cifre. Udregn n= pq, og j ( n) = ( p- 1) ( q- 1). ( j( n) kaldes Eulers phi-funktion den omtales nenfor)

10 Vælg et tal d, som er mindre end n, men større end både p og q, og såles at d er primisk m j ( n) : (d, j ( n) ) = 1 Beregn e som det inverse element til d modulo j ( n), dvs det tal, som opfylder: e dº 1 (mod j( n) Den offentlige nøgle er så tallene (n,e). Den hemmelige nøgle er tallet d (sammen m n). Også tallene p, q, og j ( n) skal holdes hemmelige. Det sikreste er at destruere dem! De har gjort deres pligt og kan gå. Systemet har ikke brug for dem mere; men skulle man miste d, ville man selvfølgelig være på spanden. Så kan ingen jordisk sjæl nogensinde trænge ind og afkode mdelelserne - heller ikke afsenderne. Der er ingen bagindgang - informationerne ville for evigt være låst inde. 3.1 Sådan anvendes RSA i praksis En mdelelse, der ønskes afsendt er oversat til en talrække, feks v at anvende bogstavernes talværdier: Mellemrum:00, A:01, B:02,..., Å:29; tallene, grammatiske og andre symboler kan naturligvis tilsvarende repræsenteres v tal-værdier, men lad os nu nøjes m dette. Nu skal vi først have konstrueret nøglerne! Lad os vælge nogle små overskuelige primtal, for at vise ideen: p = 47, q = 67 Vi udregner: n= pq = 3149 j ( n) = ( p- 1) ( q- 1) = 3036 For den hemmelige kode d er der mange muligher, men et stort tal giver ekstra sikkerh. Vi vælger d = (Check at (d, j ( n) ) = (1489,3036) = 1). Den offentlige nøgle beregnes fx m anvendelse af et værktøsprogram. Vi får e = 157. I Maple kan det se såles ud: = hvilket betyder, at største fælles divisor er 1, og at vi har linearkombinationen: = 1 Den offentlige nøgle består af tallene (n,e) = (3149,157). Den hemmelige nøgle består af tallet d = 1489 (sammen m 3149). Læg mærke til, at = º 1 (mod3086) Talrækken opdeles i blokke af en længde, der er mindre end eller lig m n s længde, dvs højst 4 i dette tilfælde. Ingen talblok må være større end tallet 3149, for da vi regner m rester modulo 3149, vil der nemlig så kunne opstå tvetydigher - vi ville ikke nødvendigvis komme tilbage til det rigtige tal igen. En sådan talblok m krypteres nu til et nyt tal c v at udregne: c= m e (mod n), dvs c= m 157 (mod 3149) Modtageren af de nu uforståelige talblokke dekrypterer v for hvert sådant c at udregne: d c (mod n ), dvs c 1489 (mod 3149) og det viser sig nu, at dette tal er lig m m. Altså hjemme igen.

11 Øvelse 14 Vælg et tilfældigt tal mindre end 3149, fx a) Krypter tallet v at udregne: c = (mod 3149) b) Dekrypter det fundne tal, v at udregne c 1489 (mod 3149) Ser vi på nogle realistiske taleksempler, hvor tallene har 100 eller 200 cifre forekommer dette næsten som magi - utroligt men sandt. Vi skal naturligvis vise, at dette faktisk er tilfældet. Men først demonstreres systemet m nogle små tal, så vi kan se hvordan det virker: Øvelse 15 Vi krypterer m brug af den omtalte offentlige nøgle og dekrypterer m den hemmelige. Vælg selv en kort tekst, som først oversættes til tal ifølge denne tabel, hvor det første tegn er mellemrum (-) a b c d e f g h i j k l m n o p q r s t u v w x y z æ ø å Rigtige tekster består naturligvis også af store bogstaver, grammatiske tegn og tal, men vi nøjes m dette. Oversættelsen til tal kan fx ske m de såkaldte ASCII koder. a) Oversæt din tekst til talkoder, og opdel i talblokke m 4 cifre i hver. b) Krypter din tekst. c) Giv den til din sidemand, som skal prøve at dekryptere den. Øvelse 16 Vi har fundet to primtal p = 467, q = 479, der er brugt til at lave en RSA-kode. Du v, at den offentlige nøgle er e = Beregn den hemmelige nøgle. Øvelse 17 Nu skal du udfordre din sidemand: I vælger begge to primtal p og q, mindre end 1000, som den anden ikke ser. I udregner som i starten af afsnittet for hver jeres system følgende to tal: n= pq j ( n) = ( p- 1) ( q-1) I vælger begge et tal d til jeres hemmelige nøgle, som vi gjorde i starten af afsnittet og I beregner den offentlige nøgle, som I offentliggør sammen m tallet n. Skriv hver en kort tekst, som I dernæst krypterer. Giv kryptoteksten til den anden og se, hvem der først bryder koden og dekrypterer teksten. 4. Beviset for at RSA virker. I sidste afsnit præsentere vi RSA-systemet, og vi gennemførte en række øvelser, der demonstrere, at det tilsyneladende virker. Men det er jo ikke et bevis for, at det vil virke i alle tilfælde.

12 Vi indfører først det centrale værktøj for RSA-kryptografien, nemlig den såkaldte Eulers j-funktion. (Atter engang Euler: uanset hvilken gren af matematikken man arbejder m, støder man altid ind i Euler) Eulers j-funktion. Definition. Mængden af tal mellem 1 og n-1, som er primiske m n, betegnes Z n *. Antallet af elementer i Z n * betegnes m j(n), hvor j kaldes for Eulers j-funktion. Husk: Et tal er primisk m n, hvis de ingen fælles primfaktorer har. Eksempel 10 Z 2 = {0,1} Z * 2 = {1} j(2) = 1 Z 3 = {0,1,2} Z * 3 = {1,2} j(3)= 2 Z 4 = {0,1,2,3} Z * 4 = {1,3} j(4) = 2 Z 5 = {0,1,2,3,4} Z * 5 = {1,2,3,4} j(5) = 4 Z 6 = {0,1,2,3,4,5} Z * 6 = {1,5} j(6)= 2 Z 7 = {0,1,2,3,4,5,6} Z * 7 = {1,2,3,4,5,6} j(7) = 6 Øvelse 19 Af ovenstående eksempel får vi udfyldt en del af skemaet nenfor. Udfyld selv resten: n j(n) j(n) er stort set lige så svær at få styr på, som primtallene. Den som kan finde en forskrift for j eller en måde at udregne j(n) på, som ikke bygger på et kendskab til n's primfaktorer, er sikker på at få sit navn udødeliggjort og til evig tid at indtage en hædersplads i matematikhistorien! Men kryptografer vil forbande ham, for det er netop j(n) 's uberegnelige opførsel, den moderne kryptografi er bygget op over. Kender vi n's primfaktorer kan vi imidlertid også beregne j(n). Vi formulerer to udgaver af denne sætning, henholdsvis hvor n har én primfaktor (altså selv er et primtal), og hvor n indeholder to primfaktorer. Sætning. Hvis p er et primtal, er j ( p) = ( p-1) Bevis. Z p = {0,1,2,...,p-1}, og da p er et primtal, er alle tallene 1,2,...p-1 primiske m p. Der er såles i alt p-1 tal i Z * p, altså j(p) = p-1. Sætning. Hvis p og q er to forskellige primtal, og n = pq, så gælder:

13 j ( n) = ( p- 1) ( q-1) Bevis. j(n) er antallet af tal fra 1 til n-1, der er primiske m n. Der er i alt n-1 tal. Lad os prøve at tælle hvor mange der ikke er primiske m n. Dette er altså tal, der har en fælles divisor m n = pq. En sådan fælles divisor må enten være p eller q. (Husk: en fælles divisor er et produkt af de fælles primfaktorer). Hvor mange tal mellem 1 og n-1 indeholder p som primfaktor? Det gør tallene p,2p,3p,...,(q-1)p. Tilsvarende er primfaktoren q indeholdt i tallene: q,2q,3q,...,(p-1)q. Svaret på, hvor mange, der ikke er primisk m n er altså: q-1 + p-1. Antallet der er primisk m n, altså tallet j(n), er derfor: j(n) = (n-1) - (q-1) - (p-1) = n - q - p + 1. Indsæt n = pq: j(n) = pq - q - p + 1 = (p-1)(q-1) Det sidste kan kontrolleres v at gange parentesen ud. Eksempel 11 a) 10= 25 så: j(10)= 14 = 4 b)119 = 7 17 så: j(119) = 6 16 = 96 Øvelse 20 Det er vigtigt at lægge mærke til, at sætningen kun gælder for primtal der er forskellige. Hvis der 2 er tale om et primtalskvadrat n= p, så er j(n) = p ( p- 1). Dvs der gælder: j(4) = 2, j(9) = 6, j(25) = 20. Dette kan vises m samme teknik som sætningen ovenfor. Prøv selv! Man vil naturligvis ikke vælge et kvadrattal, når man skal lave hemmelige koder, så vi har ingen praktisk interesse i dette. Øvelse 21 Find tallene: a) j(77) b) j(221) Vi er nu i stand til at vise en anden af talteoriens hovsætninger: Eulers sætning. Hvis (a,n) = 1, så gælder: j( n) a º 1 (mod n) dvs tallet ( n) a j har rest 1 v division m n. Før vi viser sætningen ser vi lige på et eksempel: Eksempel 12 a) 7 og 10 er primiske. Vi v at j(10) = 4. Sætningen påstår så at: 4 7 º 1 mod 10

14 4 V udregning ser vi: 7 = 2401, som vitterlig har rest 1 v division m 10. b) 4 og 13 er primiske. Da 13 er et primtal er j(13) = 12. Sætningen påstår, at: 12 4 º 1 mod 13 V udregning får vi: 4 12 = = , altså rest 1 v division m 13. Bevis for Eulers sætning. Vi har givet to tal a og n, og vi v de er primiske: (a,n) = 1. j( n) Vi skal vise: a º 1 mod n Der er j(n) tal, som er primiske m n og mindre end n. Lad os opskrive dem: * Zn = { r1, r2,..., r j ( n) } Konstruer nu en ny stribe tal v at gange a på alle disse: a r1, a r2,..., a r j ( n) { } Ethvert af disse tal a ri må være primisk m n, fordi ingen af de to tal a ri og r i har fælles primfaktorer m n. Hvis vi nu rucerer modulo n, vil tallene derfor ligge i { a r1 (mod n), a r2 (mod n ),..., a rj( n) (mod n} * Z n : (**) Disse tal er samtidig alle forskellige. For hvis to var ens, feks: ar (mod n)= ar (mod n) i ville ar i -ar j være delelig m n, dvs: n a r- a r ), eller: n a ( r -r ) ( i j Men da (a,n) = 1, må der så gælde: n r -r ) ( i j Begge tal r og r er positive og mindre end n, så derfor må der gælde: Altså har vi set: i j n ( r i -r j ) Þ r i - r j = 0 Þ r i = r j j a r(mod n) = a r (mod n) Þ r = r i j i j Nu v vi derfor, at den nye stribe tal vi lave (**), er i alt j(n) forskellige tal i Men det betyder jo, at vi i (**) lige præcis har alle tal i i j * Z n. * Z n. Hvis vi derfor danner produktet af tallene i (*) og i (**), så må disse to produkter være ens: r r... r = a r (mod n) a r (mod n)... a r (mod n) ( )( ) ( j n ) 1 2 j( n) 1 2 ( ) Dette tal er klart meget stærre end n, og for at finde dets repræsentant i restklassen rucerer vi nu modulo n. Vi bruger regnereglerne for moduloregning, og får af denne ligning: ( ) ( 1 2 j( n) ) = ( r1 n )( a r2 n ) ( a rj( n) n ) ( r1 r2... rj( n) )(mod n) = (( a r1)( a r2)... ( a rj( n) )) (mod n) j( n) ( r1 r2... rj( n) )(m od n) = ( a r1 r2... rj( n) ) (mod n) r r... r (mod n) a (mod ) (mod )... (mod ) ( mod n) Dette kan også udtrykkes som at n går op i differensen af de to tal: j( n) ( 1 2 j( n) 1 2 j( n) ) n a r r... r - r r... r, eller: (*)

15 j( n) ( - 1) 1 2. j( n) ) n ( a r r.. r n er primisk m alle r'erne, og derfor også m deres produkt. Men så v vi jo, at n må gå op i den anden faktor: ( n) n ( a j - 1), eller som sætningen siger: a j( n) º 1 (mod n) Øvelse 21 Vis, at Fermats lille sætning er et specialtilfælde af Eulers sætning: p 1 Hvis p er et primtal, og (a,p) = 1, så gælder a - º 1 (mod p) Eulers sætning vil hjælpe os m til at kunne afkode en mdelelse, der er kodet til noget - for andre - helt uforståeligt. Af Eulers sætning får vi en lille teknisk udseende sætning, som viser, hvordan man rucerer potenser modulo n, som vi får brug for til det endelige bevis for, at RSA-systemet virker: Sætning. For tallene a og n, hvor (a,n) = 1, gælder for alle tal r: r r(mod j( n)) a (mod n) = a (mod n) Bevis. Opskriv divisionsligningen for r og j(n): r = k j( n) + r(mod j( n)) Vi indsætter dette udtryk for r i venstre side af den ligning, som vi skal vise gælder, og regner løs idet vi udnytter regnereglerne for modulo-regning: r k j( n) + r(mod j( n)) a (mod n) = a (mod n) k j( n) r(mod j( n)) = a a (mod n) = ( k j( n) r(mod j( n)) ) = ( j( n) k r(mod j( n)) ) = ( j( n) k r(mod j( n)) ) k r(mod j( n)) = ((1) a (mod n) ) (mod n) a (mod n) a (mod n) (mod n) ( a ) (mod n) a (mod n) (mod n) ( a (mod n)) a (mod n) (mod n) Bemærk, at i den sidste omskrivning udnytter vi Eulers sætning. Da (1) k = 1 får vi altså: r r(mod j( n)) a (mod n) = a (mod n) Vi har regnet os frem fra venstre side til højre side af ligningen. Så sætningen gælder. Eksempel. Find resten v division af m 7. Dvs find ud af hvad (mod 7) er? Tallet er stort, men ikke større end at værktøjsprogrammer kan udregne det:

16 = Programmerne svarer også uden tøven, at (mod 7) = 3. Programmerne har givetvis indbygget algoritmer, der anvender sætningen ovenfor. Vi kan faktisk let udregne det i hånden: 3 og 7 er primiske, j (7) = 6, og 523 (mod 6) = 1. Sætningen giver nu: ( mod j( 7) ) 523( mod 6) 1 3 mod 7 = 3 mod 7 = 3 mod 7 = 3 mod 7 = 3 ( ) ( ) ( ) ( ) Øvelse 22 a) Find resten v division af m 9 b) Find resten v division af m 11 Betegnelser. Når vi regner modulo n, altså kun interesserer os for resten v division m n, så siger vi, at et tal b er inverst eller omvendt til a (m hensyn til n), hvis der gælder: a bº 1 mod n ( ) Bemærkning, Selv om det ikke udtrykkeligt nævnes hver gang, er det vigtigt at huske, at den inverse til et a afhænger af n; vi ser jo kun på rester, og resten vil ændre sig, hvis vi vælger et andet tal end n som divisor. Hvis (a,n) = 1, og hvis vi kender j ( n) så har vi en formel for den inverse (modulo n). Vi v nemlig fra Eulers sætning, at: j( n) a º 1 (mod n) eller: Så: ( n) 1 a j - er inverst til a. j( n) -1 a a º 1 (mod n) Da j ( n) kan være vanskelig at finde, så er det ofte mere fremkommeligt at anvende Euklids algoritme til at finde s og t, så: s a+ t n= 1 eller: s a=- t n+ 1 Her står jo at læse, at sa har rest 1 v division m n: s aº 1 mod n eller m andre ord: s er inverst til a.

17 Vi sammenfatter dette i: Sætning. Hvis a og n er primiske, så har a (mod n) et inverst element s. s kan findes v brug af Euklids algoritme. Øvelse. 23 Vis, at der i intervallet fra 1 til n-1 kun findes ét inverst element til a, hvor a er primisk m n. Vi kan såles tillade os at tale om det inverse element til a. Eksempel. a) 5 er primisk m 119. Vi ønsker at bestemme det inverse element til 5. Vi bruger Euklids algoritme og anvender et værktøjsprogram til at finde: (- 1) 119 = 1 Heraf aflæses, at 24 er det inverse element til 5 modulo 119 b) 41 er primisk m 293. Vi ønsker at bestemme det inverse element til 41. Vi bruger igen Euklids algoritme og anvender et værktøjsprogram til at finde: (- 50) = 1 * Heraf aflæses, at -50 er et inverst element til 41. Vi ønsker at finde et indenfor Z 293, og lægger derfor 293 til -50. Så bliver vi i samme restklasse, men lander indenfor de principale rester. Det inverse element til 41 er derfor 243. Øvelse 24 a) 280 er primisk m Find den inverse til 280 modulo b) 19 er primisk m Find den inverse til 19 modulo RSA virker Antag nu, vi har den situation, vi beskrev i starten af afsnit 3: Vi har valgt to meget store primtal, p og q, hver m over 100 cifre. udregnet n= pq, og j ( n) = ( p- 1) ( q- 1). valgt et tal d, som er mindre end n, men større end både p og q, og såles at d er primisk m j ( n) : (d, j ( n) ) = 1 beregnet e som det inverse element til d modulo j ( n), dvs det tal, som opfylder: e dº 1 (mod j( n) Vi påstod da, at: Som offentlig nøgle kan vi anvende tallene (n,e). Som hemmelig nøgle kan vi anvende tallet d (sammen m n). Påstanden er nu, at hvis en talblok m krypteres til et nyt tal c v at udregne: e c= m (mod n),

18 og hvis modtageren af de nu uforståelige talblokke dekrypterer v for hvert sådant c at udregne: d c(mod n ), så vil det vise sig, at dette tal er lig m m. Dette vil vi nu bevise er sandt! Dvs vi vil bevise, at m mod n = m ( ) Vi v, at e dº 1 (mod j( n), hvilket betyder, at der findes et helt tal k, så: e d = k j( n)+1 (*) Vi v også, at j ( n) = ( p- 1) ( q- 1), som vi kan indsætte: e d = k j( n) + 1 = k ( p- 1) ( q- 1) + 1 (**) Vi skelner nu mellem to tilfælde: 1) m og n er primiske 2) m og n er ikke primiske. 1) m og n er primiske: (m,n) = 1. (Bemærk at dette er langt det mest almindelige - hvorfor?). Vi omskriver udtrykket m (mod n): m mod n indsæt (*): m Altså hjemme igen. ( ) ( n) k j( n )+1 mod j( n) ( m ) k m 1 ( mod n) ( 1) k m 1 ( mod n) m( mod n) 2) m og n er ikke primiske. En fælles divisor må være enten p eller q, feks p: p m anvend potensregler: anvend Eulers sætning: Så må der også gælde: p m Derfor findes et helt tal h, så: m - m= h p (***) q og m må være primiske, for ellers gik q op i m, og derm ville n = pq gå op i m, men m er mindre end n, så det går ikke. Når q og m er primiske får vi af Fermats lille sætning: q 1 m - º 1 mod q Vi vil nu bruge (**) og omskriver derfor:

19 m q-1 q-1 ( ) ( p-1 ) ( ) ( p-1 m ) ( q-1)( p-1) m º 1 mod q Þ m j( n) j( n) ( m ) m k j( n) k j( n) º 1 mod q Þ º 1 mod q k º 1 mod q Þ k º 1 mod q Þ º 1 mod q Þ m mº 1 m mod q k j( n) + 1 Þ m º m mod q Þ m º m mod q Den sidste kongruens fortæller, at der findes et helt tal l, så: m - m= l q (****) Samlet har vi derfor: m - m= h p (***) m - m= l q (****) Heraf får vi: h p= l q Da p og q er forskellige primtal, må der så gælde: q h, dvs.: der findes et helt tal r så: h= r q Indsæt dette i (****): m - m= h p= r q p= r q p= r n ( ) Her strår, at n går op i m - m, eller at: m mod n = m ( ) Altså også i dette tilfælde ender vi m det tal m vi starte m. Konklusion: I begge tilfælde virker RSA: En given talblok der krypteres m den offentlige nøgle kan dekrypteres m den hemmelige, eller omvendt. Þ 5. Afslutning En hovårsag til at RSA-systemet endnu ikke bruges i stor udstrækning er, at det trods stærke regnemaskiner og gode algoritmer tager for lang tid at udregne de gigantiske tal. Et stort teoretisk problem i udarbejdelsen af en RSA-nøgle er om vi kan vide m sikkerh, om et givet tal er et primtal eller ej. Det er svært, når det er tal m 100 cifre. Vi har tidligere set, at der er så mange primtal, at det ikke skulle være så svært at finde nogen. Men hvordan kan vi være sikre? Det kan vi heller ikke. En fuldstændig undersøgelse er håbløst tidkrævende - det er jo netop

20 hele fidusen. Derfor er der udviklet en lang række såkaldte primtals-test. Kan et tal stå for en række af disse test, accepteres det som primtal; men sikker er vi aldrig. Et særligt sikkerhsmæssigt problem er at vælge sådanne primtal, at koden bliver sværest muligt at bryde. Og her er ikke alle primtal lige gode. Dels skal p og q være store, ca 100 cifre hver; men de må heller ikke ligge for tæt v hinanden, for et umiddelbart angreb på systemet ville være at udregne n og så prøve sig frem her ud fra. Men ud over dette kan man vise, at systemet bliver ekstra sikkert, hvis de valgte primtal er såkaldt "stærke" primtal, hvilket dækker over følgende: Et primtal p kaldes stærkt hvis: p-1 og p+1 begge har en stor primfaktor (der vil være svær at finde) for mindst én af disse primfaktorer s gælder også, at s-1 har en stor primfaktor. Hvis både p og q er primtal der opfylder disse krav, så er systemet rimeligt sikkert. RSA-systemet har et fortrin frem for alle andre systemer, nemlig at man v hjælp af dette kan underskrive dokumenter, på en måde så underskriften ikke kan forfalskes. Dette er indholdet i begrebet digital signatur. Det har hidtil været opfattet som en grundlæggende svagh v elektronisk kommunikation: Hvordan kan vi være sikre på, at en mdelelse, vi modtager, virkelig er fra den, som det fremgår af mdelelsen. Kan der ikke være tale om at en eller anden svindler sender os noget, og så udgiver sig for at være en anden? Hvis to institutioner eller personer A og B vil kommunikere, så de er helt sikre på, at ingen kan læse deres mdelelse, og at de selv ikke er i tvivl om, hvorfra mdelelsen kom, så skal de blot begge udnytte deres personlige hemmelige kode, samt de tilsvarende offentlige koder: Når A vil sende en besk til B, så kodes besken først m B's offentlige nøgle; herefter kan ingen andre end B læse den. Derefter kodes den endnu engang m A's egen hemmelige nøgle. Der er ingen i verden undtagen A, som kan kode på denne måde, så nu har besken fået A's fingeraftryk. B modtager den, og afkoder, først v brug af A's offentlige kode - så er vi inde v det der er kodet m B's offentlige nøgle, og B anvender nu sin egen hemmelige nøgle til at lukke op for den sidste indpakning. Hvis der nu står noget læseligt, så kan det kun være sendt fra A. Øvelse 25 Overvej hvordan man kan bruge denne egenskab m digital signatur, til at slå plat og krone, eller spille poker via elektronisk kommunikation, såles at vi er sikre på, at modparten ikke snyder.

Projekt 7.9 Euklids algoritme, primtal og primiske tal

Projekt 7.9 Euklids algoritme, primtal og primiske tal Projekter: Kapitel 7 Projekt 79 Euklids algoritme, primtal og primiske tal Projekt 79 Euklids algoritme, primtal og primiske tal Projektet giver et kig ind i metodee i modee talteori Det kan udbygges med

Læs mere

KRYPTOLOGI ( Litt. Peter Landrock & Knud Nissen : Kryptologi)

KRYPTOLOGI ( Litt. Peter Landrock & Knud Nissen : Kryptologi) KRYPTOLOGI ( Litt. Peter Landrock & Knud Nissen : Kryptologi) 1. Klassiske krypteringsmetoder 1.1 Terminologi klartekst kryptotekst kryptering dekryptering 1.2 Monoalfabetiske kryptosystemer 1.3 Additive

Læs mere

Opgave 1 Regning med rest

Opgave 1 Regning med rest Den digitale signatur - anvendt talteori og kryptologi Opgave 1 Regning med rest Den positive rest, man får, når et helt tal a divideres med et naturligt tal n, betegnes rest(a,n ) Hvis r = rest(a,n) kan

Læs mere

Kryptologi og RSA. Jonas Lindstrøm Jensen (jonas@imf.au.dk)

Kryptologi og RSA. Jonas Lindstrøm Jensen (jonas@imf.au.dk) Kryptologi og RSA Jonas Lindstrøm Jensen (jonas@imf.au.dk) 1 Introduktion Der har formodentlig eksisteret kryptologi lige så længe, som vi har haft et sprog. Ønsket om at kunne sende beskeder, som uvedkommende

Læs mere

Matematikken bag kryptering og signering RSA

Matematikken bag kryptering og signering RSA Matematikken bag kryptering og signering RSA Oversigt 1 Indbyrdes primiske tal 2 Regning med rester 3 Kryptering og signering ved hjælp af et offentligt nøgle kryptosystem RSA Indbyrdes primiske hele tal

Læs mere

Af Marc Skov Madsen PhD-studerende Aarhus Universitet email: marc@imf.au.dk

Af Marc Skov Madsen PhD-studerende Aarhus Universitet email: marc@imf.au.dk Af Marc Skov Madsen PhD-studerende Aarhus Universitet email: marc@imf.au.dk 1 Besøgstjenesten Jeg vil gerne bruge lidt spalteplads til at reklamere for besøgstjenesten ved Institut for Matematiske Fag

Læs mere

Affine - et krypteringssystem

Affine - et krypteringssystem Affine - et krypteringssystem Matematik, når det er bedst Det Affine Krypteringssystem (Affine Cipher) Det Affine Krypteringssystem er en symmetrisk monoalfabetisk substitutionskode, der er baseret på

Læs mere

Note omkring RSA kryptering. Gert Læssøe Mikkelsen Datalogisk institut Aarhus Universitet

Note omkring RSA kryptering. Gert Læssøe Mikkelsen Datalogisk institut Aarhus Universitet Note omkring RSA kryptering. Gert Læssøe Mikkelsen Datalogisk institut Aarhus Universitet 3. april 2009 1 Kryptering med offentlige nøgler Indtil midt i 1970 erne troede næsten alle, der beskæftigede sig

Læs mere

Note omkring RSA kryptering. Gert Læssøe Mikkelsen Datalogisk institut Aarhus Universitet

Note omkring RSA kryptering. Gert Læssøe Mikkelsen Datalogisk institut Aarhus Universitet Note omkring RSA kryptering. Gert Læssøe Mikkelsen Datalogisk institut Aarhus Universitet 24. august 2009 1 Kryptering med offentlige nøgler Indtil midt i 1970 erne troede næsten alle, der beskæftigede

Læs mere

RSA-kryptosystemet. RSA-kryptosystemet Erik Vestergaard

RSA-kryptosystemet. RSA-kryptosystemet Erik Vestergaard RSA-kryptosystemet RSA-kryptosystemet Erik Vestergaard Erik Vestergaard www.matematikfysik.dk Erik Vestergaard, 007. Billeder: Forside: istock.com/demo10 Erik Vestergaard www.matematikfysik.dk 3 1. Indledning

Læs mere

Eulers sætning Matematikken bag kryptering og signering v.hj.a. RSA Et offentlig nøgle krypteringssytem

Eulers sætning Matematikken bag kryptering og signering v.hj.a. RSA Et offentlig nøgle krypteringssytem Eulers sætning Matematikken bag kryptering og signering v.hj.a. RSA Et offentlig nøgle krypteringssytem Johan P. Hansen 18. april 2013 Indhold 1 Indbyrdes primiske hele tal 1 2 Regning med rester 3 3 Kryptering

Læs mere

Noter om primtal. Erik Olsen

Noter om primtal. Erik Olsen Noter om primtal Erik Olsen 1 Notation og indledende bemærkninger Vi lader betegne de hele tal, og Z = {... 3, 2, 1, 0, 1, 2, 3...} N = {0, 1, 2, 3...} Z være de positive hele tal. Vi minder her om et

Læs mere

Matematikken bag kryptering og signering RSA

Matematikken bag kryptering og signering RSA Matematikken bag kryptering og signering RSA Oversigt 1 Indbyrdes primiske tal 2 Regning med rester 3 Kryptering og signering ved hjælp af et offentligt nøgle kryptosystem RSA Indbyrdes primiske hele tal

Læs mere

TALTEORI Wilsons sætning og Euler-Fermats sætning.

TALTEORI Wilsons sætning og Euler-Fermats sætning. Wilsons sætning og Euler-Fermats sætning, oktober 2008, Kirsten Rosenkilde 1 TALTEORI Wilsons sætning og Euler-Fermats sætning. Disse noter forudsætter et grundlæggende kendskab til talteori som man kan

Læs mere

Talteori. Teori og problemløsning. Indhold. Talteori - Teori og problemløsning, marts 2014, Kirsten Rosenkilde.

Talteori. Teori og problemløsning. Indhold. Talteori - Teori og problemløsning, marts 2014, Kirsten Rosenkilde. Indhold 1 Delelighed, primtal og primfaktoropløsning Omskrivning vha. kvadratsætninger 4 3 Antal divisorer 6 4 Største fælles divisor og Euklids algoritme 7 5 Restklasser 9 6 Restklasseregning og kvadratiske

Læs mere

Matematikken bag kryptering og signering NemID RSA Foredrag i UNF

Matematikken bag kryptering og signering NemID RSA Foredrag i UNF Matematikken bag kryptering og signering NemID RSA Foredrag i UNF Disposition 1 PKI - Public Key Infrastructure Symmetrisk kryptografi Asymmetrisk kryptografi 2 Regning med rester Indbyrdes primiske tal

Læs mere

t a l e n t c a m p d k Talteori Anne Ryelund Anders Friis 16. juli 2014 Slide 1/36

t a l e n t c a m p d k Talteori Anne Ryelund Anders Friis 16. juli 2014 Slide 1/36 Slide 1/36 sfaktorisering Indhold 1 2 sfaktorisering 3 4 5 Slide 2/36 sfaktorisering Indhold 1 2 sfaktorisering 3 4 5 Slide 3/36 1) Hvad er Taleteori? sfaktorisering Slide 4/36 sfaktorisering 1) Hvad er

Læs mere

Undersøgende aktivitet om primtal. Af Petur Birgir Petersen

Undersøgende aktivitet om primtal. Af Petur Birgir Petersen Undersøgende aktivitet om primtal. Af Petur Birgir Petersen Definition: Et primtal er et naturligt tal større end 1, som kun 1 og tallet selv går op i. Eksempel 1: Tallet 1 ikke et primtal fordi det ikke

Læs mere

RSA Kryptosystemet. Kryptologi ved Datalogisk Institut, Aarhus Universitet

RSA Kryptosystemet. Kryptologi ved Datalogisk Institut, Aarhus Universitet RSA Kryptosystemet Kryptologi ved Datalogisk Institut, Aarhus Universitet 1 Kryptering med RSA Her følger først en kort opridsning af RSA kryptosystemet, som vi senere skal bruge til at lave digitale signaturer.

Læs mere

Talteori. Teori og problemløsning. Indhold. Talteori - Teori og problemløsning, august 2013, Kirsten Rosenkilde.

Talteori. Teori og problemløsning. Indhold. Talteori - Teori og problemløsning, august 2013, Kirsten Rosenkilde. Indhold 1 Delelighed, primtal og primfaktoropløsning Omskrivning vha. kvadratsætninger 4 3 Antal divisorer 6 4 Største fælles divisor og Euklids algoritme 7 5 Restklasser 9 6 Restklasseregning og kvadratiske

Læs mere

og til summer af stambrøker. Bemærk: De enkelte brøker kan opskrives på flere måder som summer af stambrøker.

og til summer af stambrøker. Bemærk: De enkelte brøker kan opskrives på flere måder som summer af stambrøker. Hvad er en brøk? Når vi taler om brøker i dette projekt, mener vi tal på formen a, hvor a og b er hele tal (og b b 0 ), fx 2,, 3 og 3 7 13 1. Øvelse 1 Hvordan vil du forklare, hvad 7 er? Brøker har været

Læs mere

Projekt 7.4. Rationale tal brøker og decimaltal

Projekt 7.4. Rationale tal brøker og decimaltal ISBN 98806689 Projekter: Kapitel. Projekt.4. Rationale tal brøker decimaltal Projekt.4. Rationale tal brøker decimaltal Hvad er en brøk? Når vi taler om brøker i dette projekt, mener vi tal på formen,,

Læs mere

Matematik YY Foråret Kapitel 1. Grupper og restklasseringe.

Matematik YY Foråret Kapitel 1. Grupper og restklasseringe. Matematik YY Foråret 2004 Elementær talteori Søren Jøndrup og Jørn Olsson Kapitel 1. Grupper og restklasseringe. Vi vil i første omgang betragte forskellige typer ligninger og søge efter heltalsløsninger

Læs mere

6. december. Motivation. Internettet: Login til DIKU (med password) Handel med dankort Fortrolig besked Digital signatur

6. december. Motivation. Internettet: Login til DIKU (med password) Handel med dankort Fortrolig besked Digital signatur 6. december Talteoretiske algoritmer, RSA kryptosystemet, Primtalstest Motivation Definitioner Euclids algoritme Udvidet Euclid RSA kryptosystemet Randominserede algoritmer Rabin-Miller primtalstest Svært

Læs mere

Divisorer. Introduktion. Divisorer og delelighed. Divisionsalgoritmen. Definition (Divisor) Lad d og n være hele tal. Hvis der findes et helt tal q så

Divisorer. Introduktion. Divisorer og delelighed. Divisionsalgoritmen. Definition (Divisor) Lad d og n være hele tal. Hvis der findes et helt tal q så Introduktion 1) Hvad er Taleteori? Læren om de hele tal Primtal 2) Formalistisk struktur Definition Lemma Divisorer Definition (Divisor) Lad d og n være hele tal Hvis der findes et helt tal q så d q =

Læs mere

Her er et spørgsmål, du måske aldrig har overvejet: kan man finde to trekanter med samme areal?

Her er et spørgsmål, du måske aldrig har overvejet: kan man finde to trekanter med samme areal? Her er et spørgsmål, du måske aldrig har overvejet: kan man finde to trekanter med samme areal? Det er ret let at svare på: arealet af en trekant, husker vi fra vor kære folkeskole, findes ved at gange

Læs mere

Primtal - hvor mange, hvordan og hvorfor?

Primtal - hvor mange, hvordan og hvorfor? Johan P. Hansen 1 1 Institut for Matematiske Fag, Aarhus Universitet Gult foredrag, EULERs Venner, oktober 2009 Disposition 1 EUKLIDs sætning. Der er uendelig mange primtal! EUKLIDs bevis Bevis baseret

Læs mere

Introduktion til Kryptologi. Mikkel Kamstrup Erlandsen

Introduktion til Kryptologi. Mikkel Kamstrup Erlandsen Introduktion til Kryptologi Mikkel Kamstrup Erlandsen Indhold 1 Introduktion 2 1.1 Om Kryptologi.......................... 2 1.2 Grundlæggende koncepter.................... 2 1.3 Bogstaver som tal........................

Læs mere

Matematiske metoder - Opgavesæt

Matematiske metoder - Opgavesæt Matematiske metoder - Opgavesæt Anders Friis, Anne Ryelund, Mads Friis, Signe Baggesen 24. maj 208 Beskrivelse af opgavesættet I dette opgavesæt vil du støde på opgaver, der er markeret med enten 0, eller

Læs mere

Konfidentialitet og kryptografi 31. januar, Jakob I. Pagter

Konfidentialitet og kryptografi 31. januar, Jakob I. Pagter Konfidentialitet og kryptografi 31. januar, 2009 Jakob I. Pagter Oversigt Kryptografi autenticitet vs. fortrolighed ubetinget vs. beregningsmæssig sikkerhed Secret-key fortrolighed Public-key fortrolighed

Læs mere

Talteoriopgaver Træningsophold ved Sorø Akademi 2007

Talteoriopgaver Træningsophold ved Sorø Akademi 2007 Talteoriopgaver Træningsophold ved Sorø Akademi 2007 18. juli 2007 Opgave 1. Vis at når a, b og c er positive heltal, er et sammensat tal. Løsningsforslag: a 4 + b 4 + 4c 4 + 4a 3 b + 4ab 3 + 6a 2 b 2

Læs mere

Ringe og Primfaktorisering

Ringe og Primfaktorisering Ringe og Primfaktorisering Michael Knudsen 16. marts 2005 1 Ringe Lad Z betegne mængden af de hele tal, Z = {..., 2, 1,0,1,2,...}. På Z har to regneoperationer, + (plus) og (gange), der til to hele tal

Læs mere

Polynomier. Indhold. Georg Mohr-Konkurrencen. 1 Polynomier 2. 2 Polynomiumsdivision 4. 3 Algebraens fundamentalsætning og rødder 6

Polynomier. Indhold. Georg Mohr-Konkurrencen. 1 Polynomier 2. 2 Polynomiumsdivision 4. 3 Algebraens fundamentalsætning og rødder 6 Indhold 1 Polynomier 2 Polynomier 2 Polynomiumsdivision 4 3 Algebraens fundamentalsætning og rødder 6 4 Koefficienter 8 5 Polynomier med heltallige koefficienter 9 6 Mere om polynomier med heltallige koefficienter

Læs mere

sætning: Hvis a og b er heltal da findes heltal s og t så gcd(a, b) = sa + tb.

sætning: Hvis a og b er heltal da findes heltal s og t så gcd(a, b) = sa + tb. sætning: Hvis a og b er heltal da findes heltal s og t så gcd(a, b) = sa + tb. lemma: Hvis a, b og c er heltal så gcd(a, b) = 1 og a bc da vil a c. lemma: Hvis p er et primtal og p a 1 a 2 a n hvor hvert

Læs mere

Køreplan Matematik 1 - FORÅR 2005

Køreplan Matematik 1 - FORÅR 2005 Lineær algebra modulo n og kryptologi Køreplan 01005 Matematik 1 - FORÅR 2005 1 Introduktion Kryptologi er en ældgammel disciplin, som går flere tusinde år tilbage i tiden. Idag omfatter disciplinen mange

Læs mere

π er irrationel Frank Nasser 10. december 2011

π er irrationel Frank Nasser 10. december 2011 π er irrationel Frank Nasser 10. december 2011 2008-2011. Dette dokument må kun anvendes til undervisning i klasser som abonnerer på MatBog.dk. Se yderligere betingelser for brug her. Indhold 1 Introduktion

Læs mere

TALTEORI Wilsons sætning og Euler-Fermats sætning.

TALTEORI Wilsons sætning og Euler-Fermats sætning. Wilsons sætning og Euler-Fermats sætning, marts 2007, Kirsten Rosenkilde 1 TALTEORI Wilsons sætning og Euler-Fermats sætning. Disse noter forudsætter et grundlæggende kendskab til talteori som man kan

Læs mere

Elementær Matematik. Mængder og udsagn

Elementær Matematik. Mængder og udsagn Elementær Matematik Mængder og udsagn Ole Witt-Hansen 2011 Indhold 1. Mængder...1 1.1 Intervaller...4 2. Matematisk Logik. Udsagnslogik...5 3. Åbne udsagn...9 Mængder og Udsagn 1 1. Mængder En mængde er

Læs mere

Forslag til løsning af Opgaver til afsnittet om de naturlige tal (side 80)

Forslag til løsning af Opgaver til afsnittet om de naturlige tal (side 80) Forslag til løsning af Opgaver til afsnittet om de naturlige tal (side 80) Opgave 1 Vi skal tegne alle de linjestykker, der forbinder vilkårligt valgte punkter blandt de 4 punkter. Gennem forsøg finder

Læs mere

De rigtige reelle tal

De rigtige reelle tal De rigtige reelle tal Frank Villa 17. januar 2014 Dette dokument er en del af MatBog.dk 2008-2012. IT Teaching Tools. ISBN-13: 978-87-92775-00-9. Se yderligere betingelser for brug her. Indhold 1 Introduktion

Læs mere

Primtalsfaktorisering - nogle nye resultater og anvendelser Regionalmøde Haderslev, 19. november 2003

Primtalsfaktorisering - nogle nye resultater og anvendelser Regionalmøde Haderslev, 19. november 2003 Primtalsfaktorisering - nogle nye resultater og anvendelser Regionalmøde Haderslev, 19. november 2003 http://home.imf.au.dk/matjph/haderslev.pdf Johan P. Hansen, matjph@imf.au.dk Matematisk Institut, Aarhus

Læs mere

Camp om Kryptering. Datasikkerhed, RSA kryptering og faktorisering. Rasmus Lauritsen. August 27,

Camp om Kryptering. Datasikkerhed, RSA kryptering og faktorisering. Rasmus Lauritsen. August 27, Camp om Kryptering Datasikkerhed, RSA kryptering og faktorisering Rasmus Lauritsen August 27, 2013 http://users-cs.au.dk/rwl/2013/sciencecamp Indhold Datasikkerhed RSA Kryptering Faktorisering Anvendelse

Læs mere

Projekt 3.5 faktorisering af polynomier

Projekt 3.5 faktorisering af polynomier Projekt 3.5 faktorisering af polynomier Hvilke hele tal går op i tallet 60? Det kan vi få svar på ved at skrive 60 som et produkt af sine primtal: 60 3 5 Divisorerne i 60 er lige præcis de tal, der kan

Læs mere

brikkerne til regning & matematik tal og algebra preben bernitt

brikkerne til regning & matematik tal og algebra preben bernitt brikkerne til regning & matematik tal og algebra 2+ preben bernitt brikkerne. Tal og algebra 2+ 1. udgave som E-bog ISBN: 978-87-92488-35-0 2008 by bernitt-matematik.dk Kopiering af denne bog er kun tilladt

Læs mere

Primtalsfaktorisering - nogle nye resultater og anvendelser Regionalmøde Haderslev, 19. november 2003

Primtalsfaktorisering - nogle nye resultater og anvendelser Regionalmøde Haderslev, 19. november 2003 Primtalsfaktorisering - nogle nye resultater og anvendelser Regionalmøde Haderslev, 19. november 2003 http://home.imf.au.dk/matjph/haderslev.pdf Johan P. Hansen, matjph@imf.au.dk Matematisk Institut, Aarhus

Læs mere

Noter til Perspektiver i Matematikken

Noter til Perspektiver i Matematikken Noter til Perspektiver i Matematikken Henrik Stetkær 25. august 2003 1 Indledning I dette kursus (Perspektiver i Matematikken) skal vi studere de hele tal og deres egenskaber. Vi lader Z betegne mængden

Læs mere

Algebra - Teori og problemløsning

Algebra - Teori og problemløsning Algebra - Teori og problemløsning, januar 05, Kirsten Rosenkilde. Algebra - Teori og problemløsning Kapitel -3 giver en grundlæggende introduktion til at omskrive udtryk, faktorisere og løse ligningssystemer.

Læs mere

Matematisk modellering og numeriske metoder. Lektion 16

Matematisk modellering og numeriske metoder. Lektion 16 Matematisk modellering og numeriske metoder Lektion 16 Morten Grud Rasmussen 6. november, 2013 1 Interpolation [Bogens afsnit 19.3 side 805] 1.1 Interpolationspolynomier Enhver kontinuert funktion f på

Læs mere

Tal. Vi mener, vi kender og kan bruge følgende talmængder: N : de positive hele tal, Z : de hele tal, Q: de rationale tal.

Tal. Vi mener, vi kender og kan bruge følgende talmængder: N : de positive hele tal, Z : de hele tal, Q: de rationale tal. 1 Tal Tal kan forekomme os nærmest at være selvfølgelige, umiddelbare og naturgivne. Men det er kun, fordi vi har vænnet os til dem. Som det vil fremgå af vores timer, har de mange overraskende egenskaber

Læs mere

TALTEORI Følger og den kinesiske restklassesætning.

TALTEORI Følger og den kinesiske restklassesætning. Følger og den kinesiske restklassesætning, december 2006, Kirsten Rosenkilde 1 TALTEORI Følger og den kinesiske restklassesætning Disse noter forudsætter et grundlæggende kendskab til talteori som man

Læs mere

6. RSA, og andre public key systemer.

6. RSA, og andre public key systemer. RSA 6.1 6. RSA, og andre public key systemer. (6.1). A skal sende en meddelelse til B. Denne situation forekommer naturligvis utallige gange i vores dagligdag: vi kommunikerer, vi signalerer, vi meddeler

Læs mere

Integer Factorization

Integer Factorization Integer Factorization Per Leslie Jensen DIKU 2/12-2005 kl. 10:15 Overblik 1 Faktorisering for dummies Primtal og aritmetikkens fundamentalsætning Lille øvelse 2 Hvorfor er det interessant? RSA 3 Metoder

Læs mere

Kryptografi Anvendt Matematik

Kryptografi Anvendt Matematik Kryptografi Anvendt Matematik af Marc Skov Madsen PhD-studerende Matematisk Institut, Aarhus Universitet email: marc@imf.au.dk Kryptografi p.1/23 Kryptografi - Kryptografi er læren om, hvordan en tekst

Læs mere

Hvad er matematik? C, i-bog ISBN 978 87 7066 499 8. 2011 L&R Uddannelse A/S Vognmagergade 11 DK-1148 København K Tlf: 43503030 Email: info@lru.

Hvad er matematik? C, i-bog ISBN 978 87 7066 499 8. 2011 L&R Uddannelse A/S Vognmagergade 11 DK-1148 København K Tlf: 43503030 Email: info@lru. 1.1 Introduktion: Euklids algoritme er berømt af mange årsager: Det er en af de første effektive algoritmer man kender i matematikhistorien og den er uløseligt forbundet med problemerne omkring de inkommensurable

Læs mere

Kapitel 2 Tal og variable

Kapitel 2 Tal og variable Tal og variable Uden tal ingen matematik - matematik handler om tal og anvendelse af tal. Matematik beskæftiger sig ikke udelukkende med konkrete problemer fra andre fag, og de konkrete tal fra andre fagområder

Læs mere

Grundlæggende matematiske begreber del 2 Algebraiske udtryk Ligninger Løsning af ligninger med én variabel

Grundlæggende matematiske begreber del 2 Algebraiske udtryk Ligninger Løsning af ligninger med én variabel Grundlæggende matematiske begreber del Algebraiske udtryk Ligninger Løsning af ligninger med én variabel x-klasserne Gammel Hellerup Gymnasium 1 Indholdsfortegnelse ALGEBRAISKE UDTRYK... 3 Regnearternes

Læs mere

Oprids over grundforløbet i matematik

Oprids over grundforløbet i matematik Oprids over grundforløbet i matematik Dette oprids er tænkt som en meget kort gennemgang af de vigtigste hovedpointer vi har gennemgået i grundforløbet i matematik. Det er en kombination af at repetere

Læs mere

Andengradsligninger. Frank Nasser. 12. april 2011

Andengradsligninger. Frank Nasser. 12. april 2011 Andengradsligninger Frank Nasser 12. april 2011 c 2008-2011. Dette dokument må kun anvendes til undervisning i klasser som abonnerer på MatBog.dk. Se yderligere betingelser for brug her. Bemærk: Dette

Læs mere

Kompendium i faget. Matematik. Tømrerafdelingen. 2. Hovedforløb. Y = ax 2 + bx + c. (x,y) Svendborg Erhvervsskole Tømrerafdelingen Niels Mark Aagaard

Kompendium i faget. Matematik. Tømrerafdelingen. 2. Hovedforløb. Y = ax 2 + bx + c. (x,y) Svendborg Erhvervsskole Tømrerafdelingen Niels Mark Aagaard Kompendium i faget Matematik Tømrerafdelingen 2. Hovedforløb. Y Y = ax 2 + bx + c (x,y) X Svendborg Erhvervsskole Tømrerafdelingen Niels Mark Aagaard Indholdsfortegnelse for H2: Undervisningens indhold...

Læs mere

Omskrivningsregler. Frank Nasser. 10. december 2011

Omskrivningsregler. Frank Nasser. 10. december 2011 Omskrivningsregler Frank Nasser 10. december 2011 2008-2011. Dette dokument må kun anvendes til undervisning i klasser som abonnerer på MatBog.dk. Se yderligere betingelser for brug her. Indhold 1 Introduktion

Læs mere

RSA-KRYPTERING. Studieretningsprojekt. Blerim Cazimi. Frederiksberg Tekniske Gymnasium. Matematik A. Vejleder: Jonas Kromann Olden

RSA-KRYPTERING. Studieretningsprojekt. Blerim Cazimi. Frederiksberg Tekniske Gymnasium. Matematik A. Vejleder: Jonas Kromann Olden 14. DEC 2014 RSA-KRYPTERING Studieretningsprojekt Blerim Cazimi Frederiksberg Tekniske Gymnasium Matematik A Vejleder: Jonas Kromann Olden Informationsteknologi B Vejleder: Kenneth Hebel Indhold Indledning...

Læs mere

Andengradsligninger. Frank Nasser. 11. juli 2011

Andengradsligninger. Frank Nasser. 11. juli 2011 Andengradsligninger Frank Nasser 11. juli 2011 2008-2011. Dette dokument må kun anvendes til undervisning i klasser som abonnerer på MatBog.dk. Se yderligere betingelser for brug her. Indhold 1 Introduktion

Læs mere

Tip til 1. runde af Georg Mohr-Konkurrencen. Talteori. Georg Mohr-Konkurrencen

Tip til 1. runde af Georg Mohr-Konkurrencen. Talteori. Georg Mohr-Konkurrencen Tip til 1. runde af Georg Mohr-Konkurrencen Talteori Talteori handler om de hele tal, og særligt om hvornår et helt tal går op i et andet helt tal. Derfor spiller primtallene en helt central rolle i talteori,

Læs mere

Grundlæggende Matematik

Grundlæggende Matematik Grundlæggende Matematik Hayati Balo, AAMS August 2012 1. Matematiske symboler For at udtrykke de verbale udsagn matematisk korrekt, så det bliver lettere og hurtigere at skrive, indføres en række matematiske

Læs mere

2. Gruppen af primiske restklasser.

2. Gruppen af primiske restklasser. Primiske restklasser 2.1 2. Gruppen af primiske restklasser. (2.1) Setup. I det følgende betegner n et naturligt tal større end 1. Den additive gruppe af restklasser modulo n betegnes Z/n, og den multiplikative

Læs mere

Matricer og lineære ligningssystemer

Matricer og lineære ligningssystemer Matricer og lineære ligningssystemer Grete Ridder Ebbesen Virum Gymnasium Indhold 1 Matricer 11 Grundlæggende begreber 1 Regning med matricer 3 13 Kvadratiske matricer og determinant 9 14 Invers matrix

Læs mere

Eksponentielle sammenhænge

Eksponentielle sammenhænge Eksponentielle sammenhænge Udgave 009 Karsten Juul Dette hæfte er en fortsættelse af hæftet "Lineære sammenhænge, udgave 009" Indhold 1 Eksponentielle sammenhænge, ligning og graf 1 Procent 7 3 Hvad fortæller

Læs mere

TALTEORI Wilsons sætning og Euler-Fermats sætning.

TALTEORI Wilsons sætning og Euler-Fermats sætning. Wilsons sætning og Euler-Fermats sætning, marts 2007, Kirsten Rosenkilde 1 TALTEORI Wilsons sætning og Euler-Fermats sætning. Disse noter forudsætter et grundlæggende kendskab til talteori som man kan

Læs mere

Eksponentielle sammenhænge

Eksponentielle sammenhænge Eksponentielle sammenhænge 0 1 2 3 4 5 6 7 8 9 10 11 12 13 Indholdsfortegnelse Variabel-sammenhænge... 1 1. Hvad er en eksponentiel sammenhæng?... 2 2. Forklaring med ord af eksponentiel vækst... 2, 6

Læs mere

brikkerne til regning & matematik tal og algebra F+E+D preben bernitt

brikkerne til regning & matematik tal og algebra F+E+D preben bernitt brikkerne til regning & matematik tal og algebra F+E+D preben bernitt 1 brikkerne. Tal og algebra E+D 2. udgave som E-bog ISBN: 978-87-92488-35-0 2010 by bernitt-matematik.dk Kopiering af denne bog er

Læs mere

Afstande, skæringer og vinkler i rummet

Afstande, skæringer og vinkler i rummet Afstande, skæringer og vinkler i rummet Frank Nasser 9. april 20 c 2008-20. Dette dokument må kun anvendes til undervisning i klasser som abonnerer på MatBog.dk. Se yderligere betingelser for brug her.

Læs mere

Tip til 1. runde af Georg Mohr-Konkurrencen - Talteori, Kirsten Rosenkilde. Opgave 1. Hvor mange af følgende fem tal er delelige med 9?

Tip til 1. runde af Georg Mohr-Konkurrencen - Talteori, Kirsten Rosenkilde. Opgave 1. Hvor mange af følgende fem tal er delelige med 9? Tip til 1. runde af Talteori Talteori handler om de hele tal, og særligt om hvornår et helt tal er deleligt med et andet. Derfor spiller primtallene en helt central rolle i talteori, hvilket vi skal se

Læs mere

Spilstrategier. 1 Vindermængde og tabermængde

Spilstrategier. 1 Vindermængde og tabermængde Spilstrategier De spiltyper vi skal se på her, er primært spil af følgende type: Spil der spilles af to spillere A og B som skiftes til at trække, A starter, og hvis man ikke kan trække har man tabt. Der

Læs mere

Fredag 12. januar David Pisinger

Fredag 12. januar David Pisinger Videregående Algoritmik, DIKU 2006/07 Fredag 2. januar David Pisinger Kryptering Spartanere (500 f.kr.) strimmelrulle viklet omkring cylinder Julius Cæsar: substituering af bogstaver [frekvensanalyse]

Læs mere

Det er en af de hyppigst forekommende udregninger i den elementære talbehandling at beregne gennemsnit eller middeltal af en række tal.

Det er en af de hyppigst forekommende udregninger i den elementære talbehandling at beregne gennemsnit eller middeltal af en række tal. Tre slags gennemsnit Allan C. Malmberg Det er en af de hyppigst forekommende udregninger i den elementære talbehandling at beregne gennemsnit eller middeltal af en række tal. For mange skoleelever indgår

Læs mere

Hvad er KRYPTERING? Metoder Der findes to forskellige krypteringsmetoder: Symmetrisk og asymmetrisk (offentlig-nøgle) kryptering.

Hvad er KRYPTERING? Metoder Der findes to forskellige krypteringsmetoder: Symmetrisk og asymmetrisk (offentlig-nøgle) kryptering. Hvad er KRYPTERING? Kryptering er en matematisk teknik. Hvis et dokument er blevet krypteret, vil dokumentet fremstå som en uforståelig blanding af bogstaver og tegn og uvedkommende kan således ikke læses

Læs mere

Kryptering kan vinde over kvante-computere

Kryptering kan vinde over kvante-computere Regional kursus i matematik i Aabenraa Institut for Matematik Aarhus Universitet matjph@math.au.dk 15. februar 2016 Oversigt 1 Offentlig-privat nøgle kryptering 2 3 4 Offentlig-privat nøgle kryptering

Læs mere

Euklids algoritme og kædebrøker

Euklids algoritme og kædebrøker Euklids algoritme og kædebrøker Michael Knudsen I denne note vil vi med Z, Q og R betegne mængden af henholdsvis de hele, de rationale og de reelle tal. Altså er { m } Z = {..., 2,, 0,, 2,...} og Q = n

Læs mere

TALTEORI Ligninger og det der ligner.

TALTEORI Ligninger og det der ligner. Ligninger og det der ligner, december 006, Kirsten Rosenkilde 1 TALTEORI Ligninger og det der ligner. Disse noter forudsætter et grundlæggende kendskab til talteori som man kan få i Marianne Terps og Peter

Læs mere

Grundlæggende Matematik

Grundlæggende Matematik Grundlæggende Matematik Hayati Balo, AAMS Juli 2013 1. Matematiske symboler For at udtrykke de verbale udsagn matematisk korrekt, så det bliver lettere og hurtigere at skrive, indføres en række matematiske

Læs mere

Lineære sammenhænge. Udgave 2. 2009 Karsten Juul

Lineære sammenhænge. Udgave 2. 2009 Karsten Juul Lineære sammenhænge Udgave 2 y = 0,5x 2,5 2009 Karsten Juul Dette hæfte er en fortsættelse af hæftet "Variabelsammenhænge, 2. udgave 2009". Indhold 1. Lineære sammenhænge, ligning og graf... 1 2. Lineær

Læs mere

Lineære differentialligningers karakter og lineære 1. ordens differentialligninger

Lineære differentialligningers karakter og lineære 1. ordens differentialligninger enote 11 1 enote 11 Lineære differentialligningers karakter og lineære 1. ordens differentialligninger I denne note introduceres lineære differentialligninger, som er en speciel (og bekvem) form for differentialligninger.

Læs mere

Afstande, skæringer og vinkler i rummet

Afstande, skæringer og vinkler i rummet Afstande, skæringer og vinkler i rummet Frank Villa 2. maj 202 c 2008-20. Dette dokument må kun anvendes til undervisning i klasser som abonnerer på MatBog.dk. Se yderligere betingelser for brug her. Indhold

Læs mere

Archimedes Princip. Frank Nasser. 12. april 2011

Archimedes Princip. Frank Nasser. 12. april 2011 Archimedes Princip Frank Nasser 12. april 2011 c 2008-2011. Dette dokument må kun anvendes til undervisning i klasser som abonnerer på MatBog.dk. Se yderligere betingelser for brug her. Bemærk: Dette er

Læs mere

Projekt 2.2 Omvendt funktion og differentiation af omvendt funktion

Projekt 2.2 Omvendt funktion og differentiation af omvendt funktion ISBN 978877664974 Projekter: Kapitel. Projekt. Omvendt funktion og differentiation af omvendt funktion Projekt. Omvendt funktion og differentiation af omvendt funktion Vi har i Bbogens kapitel 4 afsnit

Læs mere

Løsning af simple Ligninger

Løsning af simple Ligninger Løsning af simple Ligninger Frank Nasser 19. april 2011 c 2008-2011. Dette dokument må kun anvendes til undervisning i klasser som abonnerer på MatBog.dk. Se yderligere betingelser for brug her. Bemærk:

Læs mere

π can never be expressed in numbers. William Jones og John Machins algoritme til beregning af π

π can never be expressed in numbers. William Jones og John Machins algoritme til beregning af π can never be expressed in numbers. William Jones og John Machins algoritme til beregning af. Oprindelsen til symbolet Første gang vi møder symbolet som betegnelse for forholdet mellem en cirkels omkreds

Læs mere

Kryptologi 101 (og lidt om PGP)

Kryptologi 101 (og lidt om PGP) Kryptologi 101 (og lidt om PGP) @jchillerup #cryptopartycph, 25. januar 2015 1 / 27 Hvad er kryptologi? define: kryptologi En gren af matematikken, der blandt andet handler om at kommunikere sikkert over

Læs mere

Fejlkorligerende køder Fejlkorrigerende koder

Fejlkorligerende køder Fejlkorrigerende koder Fejlkorligerende køder Fejlkorrigerende koder Olav Geil Skal man sende en fødselsdagsgave til fætter Børge, så pakker man den godt ind i håb om, at kun indpakningen er beskadiget ved modtagelsen. Noget

Læs mere

Differentiation af Potensfunktioner

Differentiation af Potensfunktioner Differentiation af Potensfunktioner Frank Nasser 12. april 2011 c 2008-2011. Dette dokument må kun anvendes til undervisning i klasser som abonnerer på MatBog.dk. Se yderligere betingelser for brug her.

Læs mere

Introduktion til differentialregning 1. Jens Siegstad og Annegrethe Bak

Introduktion til differentialregning 1. Jens Siegstad og Annegrethe Bak Introduktion til differentialregning 1 Jens Siegstad og Annegrete Bak 16. juli 2008 1 Indledning I denne note vil vi kort introduktion til differentilregning, idet vi skal bruge teorien i et emne, Matematisk

Læs mere

Fejlkorligerende køder Fejlkorrigerende koder

Fejlkorligerende køder Fejlkorrigerende koder Fejlkorligerende køder Fejlkorrigerende koder Olav Geil Skal man sende en fødselsdagsgave til fætter Børge, så pakker man den godt ind i håb om, at kun indpakningen er beskadiget ved modtagelsen. Noget

Læs mere

matx.dk Enkle modeller

matx.dk Enkle modeller matx.dk Enkle modeller Dennis Pipenbring 28. juni 2011 Indhold 1 Indledning 4 2 Funktionsbegrebet 4 3 Lineære funktioner 8 3.1 Bestemmelse af funktionsværdien................. 9 3.2 Grafen for en lineær

Læs mere

Elementær Matematik. Tal og Algebra

Elementær Matematik. Tal og Algebra Elementær Matematik Tal og Algebra Ole Witt-Hansen 0 Indhold Indhold.... De naturlige tal.... Regneregler for naturlige tal.... Kvadratsætningerne..... Regningsarternes hierarki...4. Primtal...4 4. Nul

Læs mere

Gruppeteori. Michael Knudsen. 8. marts For at motivere indførelsen af gruppebegrebet begynder vi med et eksempel.

Gruppeteori. Michael Knudsen. 8. marts For at motivere indførelsen af gruppebegrebet begynder vi med et eksempel. Gruppeteori Michael Knudsen 8. marts 2005 1 Motivation For at motivere indførelsen af gruppebegrebet begynder vi med et eksempel. Eksempel 1.1. Lad Z betegne mængden af de hele tal, Z = {..., 2, 1, 0,

Læs mere

Affine rum. a 1 u 1 + a 2 u 2 + a 3 u 3 = a 1 u 1 + (1 a 1 )( u 2 + a 3. + a 3. u 3 ) 1 a 1. Da a 2

Affine rum. a 1 u 1 + a 2 u 2 + a 3 u 3 = a 1 u 1 + (1 a 1 )( u 2 + a 3. + a 3. u 3 ) 1 a 1. Da a 2 Affine rum I denne note behandles kun rum over R. Alt kan imidlertid gennemføres på samme måde over C eller ethvert andet legeme. Et underrum U R n er karakteriseret ved at det er en delmængde som er lukket

Læs mere

Sikre Beregninger. Kryptologi ved Datalogisk Institut, Aarhus Universitet

Sikre Beregninger. Kryptologi ved Datalogisk Institut, Aarhus Universitet Sikre Beregninger Kryptologi ved Datalogisk Institut, Aarhus Universitet 1 Introduktion I denne note skal vi kigge på hvordan man kan regne på data med maksimal sikkerhed, dvs. uden at kigge på de tal

Læs mere

Perspektiverende Datalogi 2014 Uge 39 Kryptologi

Perspektiverende Datalogi 2014 Uge 39 Kryptologi Perspektiverende Datalogi 2014 Uge 39 Kryptologi Dette dokument beskriver en række opgaver. Diskutter opgaverne i små grupper, under vejledning af jeres instruktor. Tag opgaverne i den rækkefølge de optræder.

Læs mere

Primtal. Frank Nasser. 20. april 2011

Primtal. Frank Nasser. 20. april 2011 Primtal Frank Nasser 20. april 2011 c 2008-2011. Dette dokument må kun anvendes til undervisning i klasser som abonnerer på MatBog.dk. Se yderligere betingelser for brug her. Bemærk: Dette er en arkiveret

Læs mere