00 AlgeTal 23/10/02 11:47 Side 1 ALGEBRA OG TALTEORI JOHAN P. HANSEN HENRIK GADEGAARD SPALK ASPEKT SERIEN



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

Secret Sharing. Olav Geil Institut for Matematiske Fag Aalborg Universitet URL: olav.

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

Matematikken bag kryptering og signering RSA

Funktionalligninger - løsningsstrategier og opgaver

TALTEORI Primfaktoropløsning og divisorer.

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

Opgave 1 Alle tallene er reelle tal, så opgaven er at finde den mindste talmængde, som resultaterne tilhører.

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

Matematikken bag kryptering og signering RSA

Reelle tal. Symbolbehandlingskompetencen er central gennem arbejdet med hele kapitlet i elevernes arbejde med tal og regneregler.

Kryptografi Anvendt Matematik

Forslag til løsning af Opgaver til ligningsløsning (side172)

Fermat, ABC og alt det jazz...

Projekt 10.1 Er der huller i Euklids argumentation? Et moderne aksiomsystem (især for A)

Variabel- sammenhænge

Induktion: fra naturlige tal til generaliseret skønhed Dan Saattrup Nielsen

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

Tal, funktioner og grænseværdi

Afstand fra et punkt til en linje

10. Nogle diofantiske ligninger.

Grafteori, Kirsten Rosenkilde, september Grafteori

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

Kryptologi og RSA. Jonas Lindstrøm Jensen

Om hvordan Google ordner websider

Frank Villa. 15. juni 2012

Polynomier et introforløb til TII

Projekt 7.9 Euklids algoritme, primtal og primiske tal

Ligninger med reelle løsninger

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

Retningslinjer for bedømmelsen. Georg Mohr-Konkurrencen runde

DIOFANTISKE LIGNINGER FERMATS SIDSTE SÆTNING

DesignMat Uge 11 Vektorrum

Det er altså muligt at dele lige på to kvalitativt forskellige måder: Deling uden forståelse af helheden Deling med forståelse af helheden

Matematisk modellering og numeriske metoder. Lektion 18

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

Differentiation af Logaritmer

Matematikken bag kryptering og signering NemID RSA Foredrag i UNF

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

Noter om primtal. Erik Olsen

Opgave 1 Regning med rest

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

Affine - et krypteringssystem

Vi indleder med at minde om at ( a) = a gælder i enhver gruppe.

Afstandsformlerne i Rummet

Finde invers funktion til en 2-gradsfunktion - ved parallelforskydning. John V Petersen

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

DesignMat Egenværdier og Egenvektorer

Oversigt [LA] 6, 7, 8

Arealer under grafer

Arbejdsmiljøgruppens problemløsning

brikkerne til regning & matematik potenstal og rodtal F+E+D preben bernitt

Inverse funktioner. John V Petersen

Årsplan matematik 7 kl 2015/16

Miniprojekt 3: Fejlkorligerende køder Fejlkorrigerende koder

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

Stil krav til din udvikling. - og få mere ud af samtalen med din leder. Anbefalinger og inspiration til faglige repræsentanter

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

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

GRUNDLÆGGENDE TEORI LIGE FRA HJERTET

Ny Nordisk Skole. Arbejdshæfte til forandringsteori

Bogstavregning. Formler Reduktion Ligninger Bogstavregning Side 45

APV og trivsel APV og trivsel

Gode råd om læsning i 3. klasse på Løjtegårdsskolen

DM02 opgaver ugeseddel 2

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

Løsning af præmie- og ekstraopgave

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

Brøkregning. Navn: Klasse: Matematik Opgave Kompendium. Opgaver: 24 Ekstra: 5 Point:

Facitliste til Trigonometri i praksis klasse Erik Bilsted 1.udgave, 1. oplag

Noter til Perspektiver i Matematikken

Af Marc Skov Madsen PhD-studerende Aarhus Universitet

Andengradspolynomier

Vejledning til skriftlig prøve i fysik/kemi

Hvad er matematik? C, i-bog ISBN L&R Uddannelse A/S Vognmagergade 11 DK-1148 København K Tlf: info@lru.

Identitet og autenticitet

Talteoriopgaver Træningsophold ved Sorø Akademi 2007

RSA-kryptosystemet. RSA-kryptosystemet Erik Vestergaard

Matematik. Matematiske kompetencer

Hypotese test. Repetition fra sidst Hypoteser Test af middelværdi Test af andel Test af varians Type 1 og type 2 fejl Signifikansniveau

Vejledning til skriftlig prøve i biologi

Grundlæggende regneteknik

Statistikkompendium. Statistik

Projekt 4.8. Kerners henfald (Excel)

Evaluering. Matematik A på htx

1. Send Digitalt knappen anvendes til at afsende meddelelsen til de valgte modtagere. (Alt- S)

Et udtryk på formena n kaldes en potens med grundtal a og eksponent n. Vi vil kun betragte potenser hvor grundtallet er positivt, altså a>0.

Vejledning om mulighederne for genoptagelse efter såvel lovbestemte som ulovbestemte regler. 10. april 2013

Temaopgave: Parameterkurver Form: 6 timer med vejledning Januar 2010

Skoleudvalget i Fredensborg Kommune har besluttet at ca % lønmidlerne skal fordeles på baggrund af sociale indikatorer

Opgaver hørende til undervisningsmateriale om Herons formel

Kursusmappe. HippHopp. Uge 29: Nørd. Vejledning til HippHopp guider HIPPY. Baseret på førskoleprogrammet HippHopp Uge 29 Nørd side 1

Vejledning til AT-eksamen 2016

Lederadfærdsanalyse II egen opfattelse af ledelsesstil

Primtal - hvor mange, hvordan og hvorfor?

FORBEDRING AF UDEOMRÅDE, 6-8 LEKTIONER, KLASSE

Ikke-lineære funktioner

Succesfuld start på dine processer. En e-bog om at åbne processer succesfuldt

Statistik med GeoGebra

Matematiske metoder - Opgaver

Transkript:

00 AlgeTal 23/10/02 11:47 Side 1 ALGEBRA OG TALTEORI JOHAN P. HANSEN HENRIK GADEGAARD SPALK ASPEKT SERIEN

00 AlgeTal 23/10/02 11:47 Side 2 Algebra og talteori 2002 by Gyldendalske Boghandel Nordisk forlag, A.S., Copenhagen Grafisk tilrettelæggelse og omslag: Jens Jørn Pedersen Scanninger, billedbearbejdning og typografering: Jens Jørn Pedersen Forlagsredaktion: Stine Kock Faglig redaktør: Jens Peter Touborg Tegninger: Jens Jørn Pedersen Kopiering af denne bog må kun finde sted på institutioner, der har indgået aftale med COPY DAN og kun inden for de i aftalen nævnte rammer. Bogen er sat med Minion, og er trykt hos Nørhaven A/S 1. udgave 1. oplag Printed in Denmark 2002 ISBN 87-00-48516-0 Gyldendal Uddannelse på nettet: www.gyldendaluddannelse.dk 2

00 AlgeTal 23/10/02 11:47 Side 3 INDHOLDSFORTEGNELSE Indholdsfortegnelse 3 Forord 7 Indledning 9 1 Største fælles divisor 11 Euklids algoritme, Analyse af Euklids algoritme, Bezouts identitet. 2 Primtal 19 Aritmetikkens fundamentalsætning, Primtalsfaktoriseringens kompleksitet, Euklids sætning, Om kvadrater. 3 Kongruenser 25 Restklasser, Modulær addition og multiplikation, Modulær division - løsning af lineære kongruenser. 4 Fermats lille sætning 35 Primtalstest, En anvendelse af Fermats lille sætning i kryptografi. 5 Eulers sætning 41 Eulers funktion, Reduceret sæt af rester, Eulers sætning. 6 Potenser og rødder modulo m 47 Gentagen kvadrering. 7 Ubrydelige koder - kryptering og digital signatur 53 Underskrifter og brevhemmelighed, Underskrift, Elektronisk underskrift - digital signatur, Brevhemmelighed - kryptering, digital signatur, hvordan? L 229 Lov om elektroniske signaturer, itsikkerhedsrådet. 8 Matematikken bag ubrydelige koder, digital signatur og kryptering 59 Tekst til tal og tal til tekst, Offentlig nøgle kryptosystem, Forudsætninger, Vigtige valg og konstruktion af nøgler, Kryptering, Dekryptering, Sikkerheden, Gratis offentligt nøgle krypteringssystem. 9 Ringe 65 Introduktion, Enheder. 10 Komplekse tal 73 Introduktion, Polynomiumsligninger. 3

00 AlgeTal 23/10/02 11:47 Side 4 I N D H O L D S F O R T E G N E L S E R 11 De Gaussiske heltal 83 Indføring og motivation, Primtal i [i], Anvendelse og karakterisering af Gaussiske primtal. 12 Om Fermats sidste sætning 95 Introduktion, Lamés falske bevis for Fermats sidste sætning, Introduktion, Uddrag af brev fra Kummer til Liouville, En anden diofantisk ligning. 13 Kvadratiske talringe 106 Indledning, Kvadratiske tal, Kvadratiske talringe, Normafbildningen, Division i kvadratiske talringe. O Supplerende opgaver 125 Opgaver til kap 1 side 125, Opgaver til kap 2 side 126, Opgaver til kap 3 side 128, Opgaver til kap 4 side 129, Opgaver til kap 5 side 130, Opgaver til kap 6 side 130, Opgaver til kap 8 side 131, Opgaver til kap 9 side 132, Opgaver til kap 10 side 134, Opgaver til kap 11 side 135, Opgaver til kap 12 side 138, Opgaver til kap 13 side 139. L Litteratur 141 T Tabeller 1) Euklids algoritme afviklet trinvis til at bestemme, at sfd(30, 21) = 3, side 13 2) Euklids algoritme afviklet trinvis til at bestemme, at sfd(123456789, 23456789) = 1, side 13 3) Additions- og multiplikationstabellen i 6 (udtrykt ved det komplette sæt af rester 0, 1, 2, 3, 4, 5), side 29 4) Tabel over værdier af Eulers funktion (n) for n = 1,..., 16, side 42. S Stikordsregister 143 4

00 AlgeTal 23/10/02 11:47 Side 5 I N D H O L D S F O R T E G N E L S E R 5

00 AlgeTal 23/10/02 11:47 Side 6 FORSIDEN VIGNETTER 6

00 AlgeTal 23/10/02 11:47 Side 7 FORORD Denne bog er skrevet med henblik på at præsentere grundlæggende algebraiske og talteoretiske resultater og metoder for gymnasieelever, seminareelever og studenter på de endledende trin af et matematikstudium ved universitetet. Udgangspunktet er noget på tilsyneladende simpelt som de hele tal. Imidlertid er der dybe problemer knyttet til de hele tal - problemer, der fordrer abstraktion for at håndteres og som mange tilfælde endda ikke er løste endnu. Bogens første hovedtema er matematikken bag offentlig nøgle kryptosystemer, hvor den bagvedliggende matematik nok er klassisk, men har fået særdeles aktuel betydning i forbindelse med kryptering og digital signatur (eletronisk underskrift). Bogens andet hovedtema er ringe. Det er betegnelsen for den abstrakte struktur, der generaliserer de hele tal udstyret med addition og multiplikation. Udover restklasseringene indføres de komplekse tal, ligesom den Gaussiske talring, behandles som delring af de komplekse tal. Aritmetikkens fundamentalsætning siger, at ethvert positivt helt tal kan faktoriseres netop på en måde i et produkt at primtal. Bogen behandler faktoriseringsteorien i mere generelle ringe. Faktoriseringsteorien finder anvendelse ved undersøgelse af diofantiske problemer: eksistensen og bestemmelsen af heltalsløsninger i ligninger. Vi vil gerne sige takt til Jens Peter Touborg for kommentarer til de mange vidt forskellige versioner af manuskriptet. Århus, den 1. oktober 2002 Johan P. Hansen og Henrik Spalk 7

00 AlgeTal 23/10/02 11:47 Side 8 8

00 AlgeTal 23/10/02 11:47 Side 9 I INDLEDNING Nærværende bog behandler centrale algebraiske og talteoretiske resultater og metoder. Udover at søge at give konkret indsigt i og viden om tallene og nogle af deres egenskaber, tilstræbes der tilvejebragt en indgang til abstrakt algebraisk tangegang og metode. Bogens første hovedtema er matematikken bag offentlig nøgle kryptosystemer, hvor den bagvedliggende matematik nok er klassisk, men har fået særdeles aktuel betydning i forbindelse med kryptering og digital signatur (elektronisk underskrift), hvorom der netop er lovgivet i Danmark. Ifølge NSA, der er USA's nationale sikkerhedstjeneste, efterforskes der i øjeblikket på verdensplan ca. 8000 større kriminalsager indeholdende hemmelige koder. Ifølge forfatteren Simon Singh betyder det en magtforskydning - nationalt som internationalt. For om Første Verdenskrig blev det sagt, at den var kemikernes krig, fordi sennepsgas og klor blev brugt første gang, Anden Verdenskrig var fysikernes krig, fordi atombomben blev kastet, men ifølge Simon Singh kan Tredje Verdenskrig blive matematikernes krig, fordi netop denne branche sidder på informationen. Bogens andet hovedtema er ringe. Det er betegnelsen for den abstrakte struktur, der generaliserer de hele tal udstyret med addition og multiplikation. Udover restklasseringene indføres de komplekse tal, ligesom den Gaussiske talring, behandles som delring af de komplekse tal. Aritmetikkens fundamentalsætning, der siger, at ethvert positivt helt tal kan faktoriseres netop på en måde i et produkt af primtal, er i en mere generel sammenhæng vigtig og meget subtil. Faktoriseringsteorien finder anvendelser ved undersøgelse af diofantiske problemer: eksistensen og bestemmelsen af heltalsløsninger til ligninger. Vi bestemmer samtlige pythagoræiske tripler, altså hele tal x, y, z, der er løsningerne til den pythagoræiske ligning x 2 + y 2 = z 2. Fermats store sætning i tilfældet n = 4 siger, at der ikke findes positive hele tal, der passer i ligningen x 4 + y 4 = z 4. 9

00 AlgeTal 23/10/02 11:47 Side 10 I I N D L E D N I N G Sætningen viser vi ved hjælp af en metode, der kaldes Fermat nedstigning. Endelig diskuterer vi Lamés falske bevis for Fermats store sætning - beviset viste sig forkert netop fordi, der ikke er entydig faktorisering i en helt bestemt ring. Kapitel 1 til 5 danner grundlaget for begge temaer og behandler modulær aritmetik herunder potensopløftning. Ønsker man at koncentrere sig om offentlig nøgle kryptosystemer kan man fortsætte til og med kapitel 8, idet Kapitel 6 beskriver en elegant metode til potensopløftning i store potenser modulo store hele tal, således at dette kan foretages effektivt uden særlige matematik programmer. Råder man over sådanne, kan kapitlet overspringes. Er ønsket imidlertid at behandle ringe, faktoriseringsteori og diofantiske ligninger fortsætter man direkte fra kapitel 5 til kapitel 9. Det er også muligt at springe direkte fra kapitel 3 til kapitel 12 for at behandle Fermats sidste sætning på et lidt mere elementært grundlag. 10

00 AlgeTal 23/10/02 11:47 Side 11 STØRSTE FÆLLES DIVISOR 1

00 AlgeTal 23/10/02 11:47 Side 12 1 S T Ø R S T E F Æ L L E S D I V I S O R Lad m og n være hele tal med m 0. Vi kan foretage division med rest, altså vi kan finde hele tal q og r, så n = qm + r, 0 r m. Både kvotienten q og resten r er entydigt bestemte. Som bekendt siger vi, at mgår opi n, hvis der findes et helt tal q, så n = qm, altså resten r = 0. Vi siger også, at m er en divisor i n, eller n er et (helt) multiplum af m. Vi bruger skrivemåden m n. Definition 1 Lad a, b være hele tal, der ikke begge er 0. Det største hele tal, der er en divisor i såvel a som b, kaldes største fælles divisior af a og b, hvilket vi skriver sfd(a, b). Tallene siges at være indbyrdes primiske, hvis sfd(a, b) = 1. Det er let direkte at se, at sfd(30, 21) = 3 og at sfd(625, 81) = 1. For store tal er det svært umiddelbart at finde den største fælles divisor. Euklids algoritme giver imidlertid en overordentlig effektiv metode til at bestemme sfd(a, b) også for meget store tal a, b. Euklids algoritme Lad os først belyse algoritmen ved at gennemgå, at sfd(30, 21) = 3. Vi starter med at forsøge at dividere 30 med 21, divisionen går ikke op, vi får resten 9: 30 = 1 21 + 9. (1) Dernæst dividerer vi 21 (det tal vi dividerede med i (1)) med 9 (den rest vi fandt i (1)): 21 = 2 9 + 3. (2) Endelig dividerer vi 9 (det tal vi dividerede med i (2)) med 3 (den rest vi fandt i (2)): 9 = 3 3 + 0, 12

00 AlgeTal 23/10/02 11:47 Side 13 S T Ø R S T E F Æ L L E S D I V I S O R 1 og ser, at divisionen går op. Euklids algoritme siger nu, at sfd(30, 21) = 3. Vi kan sætte divisionerne op i et skema, der er gengivet i tabel 1. 30 = 1 21 + 9 21 = 2 9 + 3 9=3 3+0 Tabel 1 Euklids algoritme afviklet trinvis til at bestemme, at sfd(30,21) = 3. Vi gennemløber Euklids algoritme for a = 123456789 og b = 23456789. På skemaform er beregningerne opstillet i tabel 2. 123456789 = 15 23456789 + 6172844 23456789 = 3 6172844 + 4938257 6172844 = 1 4938257 + 1234587 4938257 = 3 1234587 + 123496 1234587 = 1 123496 + 91 123496 = 13565 91 + 81 91 = 1 81 + 10 81 = 8 10 + 1 10 = 10 1 + 0 Tabel 2 Euklids algoritme afviklet trinvis til at bestemme, at sfd(123456789, 23456789) = 1. Vi noterer, at resterne bliver mindre og mindre for på et tidspunkt at give 0 og divisionen går op. Euklids algoritme siger nu, at sfd(123456789, 23456789) = 1 den sidste rest forskellig fra 0. Øvelse 2 Brug Euklids algoritme til at bestemme sfd(2345, 6789) og sfd(2435, 9786). Euklids algoritme gennemføres for a og b ved først at dividere a med b og derpå trinvist at dividere med resten (opnået i den forudgående division) i det tal man dividerede med (i den forudgående division). Lader vi r 0 = a, r 1 = b beskrives algoritmen ved følgende skema: 13

00 AlgeTal 23/10/02 11:47 Side 14 1 S T Ø R S T E F Æ L L E S D I V I S O R r 0 = q 1 r 1 + r 2 r 1 = q 2 r 2 + r 3 r k 2 = q k 1 r k 1 + r k (3) r n 3 = q n 2 r n 2 + r n 1 r n 2 = q n 1 r n 1 + r n r n 1 = q n r n +0 Resterne bliver løbende mindre for på et tidspunkt at give 0 (divisionen går op). Euklids algoritme siger nu, at sfd(a, b) = r n, den sidste rest forskellig fra 0. Af sidste linje i (3) fremgår, at r n r n 1, af næstsidste linje slutter vi dernæst, at r n r n 2. Fortsætter vi således op igennem linjerne får vi, at r n b og til sidst, at r n a, vi konkluderer, at r n er en fælles divisor i a, b. Lad d være en anden divisor i a og b. Af første linje i (3) følger, at d r 1 og ved hjælp af næste linje slutter vi, at d r 2. Fortsætter vi ned igennem linjerne får vi til sidst, at d r n og altså, at r n er største fælles divisor. Vi noterer, at r k 2 r rk = q k 1 k 1 rk + 1 2. For hver to skridt i algoritmen er resten altså mindst halveret. Øvelse 3 Bestem en øvre grænse for antallet af skridt i Euklids algoritme for 100-cifrede tal. Gør det samme for 1000-cifrede. Figur 1 EUKLID, Alexandria [og Athen?], ca. 295 f. Kr. Selvom Euklid er den mest berømte matematiker nogensinde, hans navn var sononymt med geometri indtil midten af det 20. århundrede, er kun to forhold kendt om ham. Det ene er, at han levede mellem Platon (død 347 f. kr.) og Archimedes (født ca. 287 f. kr.). Det andet er, at han underviste i Alexandria. Euklids berømmelse hviler i særdeleshed på Elementerne [Euklid], som han skrev i 13 bøger og som har påvirket den menneskelige tanke mere end noget andet værk på nær Bibelen. Elementerne tjente i næsten 2000 år som standardtekst i enhver grunduddannelse i matematik. 14

00 AlgeTal 23/10/02 11:47 Side 15 S T Ø R S T E F Æ L L E S D I V I S O R 1 Bezouts identitet Euklids algoritme kan bruges til på simpel måde at udtrykke sfd(a, b) ved a og b. Sætning 4 Bezouts identitet Der findes hele tal x og y, så sfd(a, b) = ax + by. Tallene x, y er ikke nødvendigvis positive og heller ikke entydigt bestemte, altså der findes flere talsæt x, y, der løser problemet. Vi vil nu se på en metode, der udnytter Euklids algoritme til at bestemme et talsæt x, y, der passer i Bezouts identitet. Eksempel 5 Først vender vi tilbage til Euklids algoritme til bestemmelse af sfd(30, 21) = 3 (jævnfør tabel 1) 30 = 1 21 + 9 21 = 2 9 + 3 9=3 3+0. Ligninger omskrives til 9 = 30 1 21 3 = 21 2 9. Indsættes udtrykket for 9 fra den forudgående ligning i den sidste ligning fås: 3 = 21 2 (30 1 21) = 30 ( 2) + 21 3 og vi har den ønskede Bezout identitet med x = 2 og y = 3. Euklids udvidede algoritme Metoden systematiseres ved at konstruere to talfølger x 0, x 1,, x n og y 0, y 1,, y n så x = x n og y = y n er de søgte tal, der tilfredsstiller, at ax + by = sfd(a, b). Følgerne starter med x 0 = 1, x 1 = 0 og y 0 = 0, y 1 = 1 og fortsættes trinvist 15

00 AlgeTal 23/10/02 11:47 Side 16 1 S T Ø R S T E F Æ L L E S D I V I S O R for 2 k. x k = x k 2 q k 1 x k 1 og y k = y k 2 q k 1 y k 1 Sætning 6 Om resterne (3) i Euklids algoritme gælder, at r k = ax k + by k, 0 k n. (4) Specielt er sfd(a, b) = r n = ax n + by n. (5) Bevis Beviset føres ved induktion efter k. For at starte induktionen bemærker vi, at a = r 0 = ax 0 + by 0 = a 1 + b 0 = a b = r 1 = ax 1 + by 1 = a 0 + b 1 = b. Så (4) er sand for k = 0, 1. Induktionsskridtet udføres ved at antage, at (4) er sand for k 1 og k 2. En simpel udregning giver, at r k = r k 2 q k 1 r k 1 = (ax k 2 + by k 2 ) q k 1 (ax k 1 + by k 1 ) = a(x k 2 q k 1 x k 1 ) + b(y k 2 q k 1 y k 1 ) = ax k + by k. Så (4) er også sand for k. Ovenstående udført for a = 30 og b = 21. Eksempel 5 giver, at k q k r k x k y k 0 30 1 0 1 1 21 0 1 2 2 9 1 1 3 3 3 2 3 4 0 Øvelse 7 Opstil ved hjælp af Euklids udvidede algoritme de største fælles divisorer og Bezout identiteter for tilfældene sfd(2345, 6789) og sfd(2435, 9786). 16

00 AlgeTal 23/10/02 11:47 Side 17 S T Ø R S T E F Æ L L E S D I V I S O R 1 Korollar 8 Lad a og b være hele tal (ikke begge 0) med største fælles divisor d. Et helt tal c er på formen ax + by for nogle hele tal x, y, hvis og kun hvis c er et multiplum af d. Bevis Hvis c = ax + by, så er det klart at i og med d er en divisor i a og b, så er det også en divisor i c. Omvendt lad c = de. Ifølge sætning 4 findes hele tal u, v, så d = au + bv og vi får c = de = aue + bve = ax + by med x = ue og y = ve. Bemærkning 9 Programmering af Euklids udvidede algoritme Følgende er et MAPLE program til bestemmelse af største fælles divisor sfd(a, b) og x, y så sfd(a, b) = ax + by. Ved programmets afslutning er list1 = [sfd(a, b), x, y] ext_eucl:=proc(a,b) list1:=[a,1,0] : list2:=[b,0,1] while list1[1]-list2[1]*round(list1[1]/list2[1]) > 0 do list3:=list2: q:=round(list1[1]/list2[1]): list2:=[list1[1]-list2[1]*q,list1[2]-q*list2[2],list1[3]-q*list2[3]]: list1:=list3 end do: list2; end proc: Øvelse 10 Skriv et program til en programmerbar lommeregner, der udfører Euklids udvidede algoritme. 17

00 AlgeTal 23/10/02 11:47 Side 18 1 S T Ø R S T E F Æ L L E S D I V I S O R 18

00 AlgeTal 23/10/02 11:47 Side 19 PRIMTAL 2

00 AlgeTal 23/10/02 11:47 Side 20 2 P R I M T A L Det første hovedresultat i dette kapitel er aritmetikkens fundamentalsætning, der siger at ethvert helt tal n > 1 kan skrives som et produkt af primtal på en i al væsentlighed entydig måde. Det andet hovedresultat er Euklids sætning, der siger at der er uendelig mange primtal. Et helt tal p > 1 kaldes et primtal, hvis de eneste positive divisorer i tallet er de trivielle divisorer, nemlig 1 og tallet p selv. Tallet 6 er ikke noget primtal, det har jo de ikke-trivielle divisorer 2 og 3. Tallene 2, 3, 5, 7, 11, 13, 17, 19 er derimod primtal. Bemærk lige at tallet 1 ikke er noget primtal. Et primtal p, der er divisor i m kaldes en primdivisor i m. Lemma 11 Ethvert helt tal m > 1 har (mindst) en primdivisor p. Bevis Antag, at der findes hele tal m > 1 uden primdivisorer. Lad m 0 være det mindste af disse. Tallet m 0 kan ikke være et primtal p - så ville det jo have primdivisoren p. Derfor har tallet m 0 en ikke-triviel divisor d, d 1, d m 0. Tallet d er skarpt (betyder, at det er og ikke ) mindre end m 0 og har derfor en primdivisor p. (Husk på, at m 0 var valgt som det mindste hele tal uden primdivisorer, hvorfor alle tal d med 1 < d < m 0 har en primdivisor). Primtallet p er en divisor i d, der igen er en divisor i m 0, altså har m 0 en primdivisor. Vores oprindelige antagelse medfører en absurditet - nemlig at m 0 såvel har som ikke har en primdivisor - den er derfor forkert. Et primtal har den egenskab, at der er divisor i et produkt, er det divisor i en af faktorerne. Lemma 12 Lad p være et primtal og lad a, b være hele tal. Der gælder, at p ab p a p b. Bevis Hvis p er en divisor i a, er der intet at vise. 20

00 AlgeTal 23/10/02 11:47 Side 21 P R I M T A L 2 Vi kan altså uden videre antage, at p ikke er divisor i a. Så har a og p største fælles divisor lig med 1 og ifølge Sætning 4 (Bezouts identitet) findes der hele tal x og y, så 1 = ax + py. Efter multiplikation med b fås b = bax + bpy hvis højreside klart er delelig med p. Derfor er b også divisibel med p, hvilket skulle vises. Aritmetikkens fundamentalsætning Sætning 13 (Aritmetikkens fundamentalsætning) Ethvert helt tal m > 1 kan skrives entydigt som et produkt af primtal, dvs. hvis p 1 p 2 p k = q 1 q 2 q l, hvor p 1, p 2,, p k, og q 1, q 2,, q l er primtal, så er k = l og efter en eventuel ombytning af faktorerne er p i = q i for alle i = 1, 2,, k. Faktorerne p 1 n 1, p 2 n 2,..., p k n k er entydigt bestemte. Bevis Lad os antage, at der findes hele tal m > 1, der ikke kan faktoriseres entydigt i et produkt af primtal, og lad os vælge m som det mindste af disse tal uden entydig faktorisering. Vi vil vise, at m alligevel har entydig faktorisering. Lad os skrive m = p 1 p 2 p k = q 1 q 2 q l. Fra Lemma 12 ved vi, at p 1 går op i et q j, og da q j er et primtal, må p 1 være lig q j. Bytter vi om på q 1 og q j i faktoriseringen, har vi, at p 1 er lig med q 1. Vi forkorter nu med p 1 i begge faktoriseringer og får m p = p 1 2 p 3 p k = q 2 q 3 q l. Hvis tallet m p1 er tallet 1, kan ingen primtal dividere m p1. Dermed er k = l = 1, og de to faktoriseringer af m = p 1 = q 1 opfylder, at p 1 er lig q 1, så i dette tilfælde har m entydig faktorisering. 21

00 AlgeTal 23/10/02 11:47 Side 22 2 P R I M T A L Hvis tallet m p1 er > 1, kan vi bruge antagelsen om, at m var minimal. For m p1 < m og fra antagelsen får vi nu, at m p1 har entydig faktorisering. Det betyder, at vi af ovenstående faktoriseringer af m p1 kan slutte, at k 1 = l 1 (og dermed k = l) og vi kan ombytte faktorerne, så p i bliver lig med q i for alle i = 2, 3,, k. Dermed har vi alt i alt fået lavet en ombytning af faktorerne i faktoriseringerne af m, så p i er lig q i for alle i = 1, 2,, k, og m har derfor entydig faktorisering. Primtalsfaktoriseringens tidsforbrug Beviset for eksistensen af primtalsfaktoriseringen af et helt tal er ikke konstruktivt. Beviset giver ikke nogen metode udover at prøve sig frem til at bestemme en primtalsfaktorisering. Det er (antageligt) meget tidskrævende at faktorisere et helt tal i et produkt af primtal. For at få en forståelse af problemets kompleksitet skal du forestille dig, at m er et helt tal med 200 cifre, dvs. m 10 200. Den nærliggende metode til at bestemme en primfaktor ved at prøve sig frem fra neden af, der virker ganske overbevisende for små tal, bliver uhyre tidskrævende for store tal. Lad os for eksempel antage, at du kan afgøre om et helt tal er divisor i m i løbet af 1 million'te del af et sekund (10 6 sek.). I alt vil dine overvejelser af de i alt 10 100 tal tage: 10 100 10 6 sek. = 10 94 1 år 3,2 10 86 år 60 60 2 4 365 Det er mange gange mere end den anslåede alder af universet. Den nærliggende metode til bestemmelse af en primfaktor er på grund af sit kæmpe tidsforbrug ubrugelig til store tal. Dette forhold udnyttes til at lave ubrydelige koder til kryptering og digital signatur - i Kapitel 8 vil du se, hvordan det gøres. Euklids sætning Allerede Euklid viste, at listen over primtal 2,3,5,7,11,13,17,19,... faktisk fortsætter i det uendelige. Sætning 14 (Euklids sætning) Der er uendelig mange primtal. 22

00 AlgeTal 23/10/02 11:47 Side 23 P R I M T A L 2 Bevis Antag, at der kun er endelig mange primtal, dem kalder vi p 1, p 2,..., p k. Betragt nu tallet m = p 1 p 2 p k + 1 (6) Ifølge Lemma 11 har m en primdivisor p. Fra antagelsen følger, at primtallet p må være et af tallene p 1, p 2,, p k. Tallet p > 1 er derfor en divisor i både m og p 1 p 2 p k og dermed i tallet 1, jvf. (6). Det kan ikke passe - antagelsen om at der kun er endelig mange primtal, må altså være forkert. 23

00 AlgeTal 23/10/02 11:47 Side 24 2 P R I M T A L 24

00 AlgeTal 23/10/02 11:47 Side 25 KONGRUENSER 3

00 AlgeTal 23/10/02 11:47 Side 26 3 K O N G R U E N S E R I dette kapitel vil vi behandle modulær aritmetik. For et givet helt tal n vil vi erstatte ethvert andet helt tal med dets rest ved division med n. Da der kun er endelig mange muligheder for rester {0, 1, 2,..., n 1} betyder det, at vi erstatter de hele tal med et talsystem n som kun indeholder n elementer. Vi kan regne (lægge sammen, trække fra og gange) i n akkurat som i. Restklasser Før vi går i gang med den generelle teori, vil vi se på et eksempel, der gerne skulle afsløre styrken i at regne med rester. Eksempel 15 Hvilken ugedag er det om 1000 dage? Det kunne du let svare på ved at slå op og tælle fremad i en kalender, der rækker 3 år frem i tiden. Der er dog en meget simplere metode, når vi husker på, at ugedagene gentages hver syvende dag. Dividerer vi 1000 med 7 får vi resten 6: 1000 = 142 7 + 6. De 1000 dage rummer altså 142 hele uger og en rest på 6 dage. Ugedagen om 1000 dage er altså den samme som den om 6 dage eller den samme som om 1 dag, altså samme ugedag som i går. Gauss indførte begrebet kongruenser, der systematiserer regning med rester, i sin bog Disquisitiones arithmeticae [G1] fra 1801 om højere aritmetik. GAUSS, CARL FRIEDRICH, født 30. april 1777 i Brunswick, Tyskland, død 23. februar 1855 i Göttingen, Tyskland. I 1801 (18 år gammel) udgav Gauss bogen Disquisitiones arithmeticae om talteori. Før da var talteori en stor samling af spredte og isolerede resultater. Gauss opsummerede disse på en systematisk måde, løste nogle af de vanskeligste udestående problemer og formulerede begreber og problemstillinger, der udgjorde mønstret for et århundredes forskning og stadig er af stor betydning i dag. Han introducerede blandt andet kongruensbegrebet a b mod c. Gauss var også produktiv indenfor empirisk aritmetik, algebra, sandsynlighedsteori og statistik, geodæsi, analyse, astronomi og jordmagnetisme m.v. 26

00 AlgeTal 23/10/02 11:47 Side 27 K O N G R U E N S E R 3 Definition 16 Lad n være et helt tal forskelligt fra 0. Vi siger, at de hele tal a, b er kongruente modulo n, hvis de har samme rest ved division med n. Det er det samme som at Vi skriver n (a b). a b mod n. For eksempel er 1000 6 mod 7 og 22 2 mod 4. Lad n være valgt. Restklassen til a består af alle de hele tal b, der er kongruente til a modulo n, altså af alle tal b, der har samme rest som a ved division med n: [a] = {b a b mod n} = {..., a 2n, a n, a, a n, a 2n,...}. Vi siger, at b er kongruent til a modulo n, og kalder også restklasser for kongruensklaser. Vi noterer, at restklasserne [a] og [b] er ens, hvis og kun hvis a b mod n. Der er i alt netop n forskellige kongruensklasser modulo n: [0] = {..., n,..., 0, n, 2n,...} [1] = {..., 1 n,..., 1, 1 + n, 1 + 2n,...} [2] = {..., 2 n,..., 2, 2 + n, 2 + 2n,...} [n 1] = {..., n 1, (n 1) + n, (n 1) + 2n,...}. En mængde af n hele tal kaldes et komplet sæt af rester, hvis der er præcis et tal fra hver af de n kongruensklasser. Øvelse 17 Vis, at i 6 er {0, 1, 2, 3, 4, 5} et komplet sæt af rester og {6, 13, 4, 3, 28, 7} et andet. Find selv seks andre tal, der udgør et komplet sæt af rester. 27

00 AlgeTal 23/10/02 11:47 Side 28 3 K O N G R U E N S E R Modulær addition og multiplikation Definition 18 De n kongruensklasser [0], [1],..., [n 1] udgør mængden n. Addition og multiplikation af kongruensklasser defineres således: [a] + [b] = [a + b] [a] [b] = [a b]. Definitionen er ikke helt uproblematisk. Lad os illustrere det med n = 3 Bruger vi definitionen direkte får vi med [a] = [1] = [4] og [b] = [0] = [3] [1] + [0] = [1 + 0] = [1] [4] + [3] = [4 + 3] = [7]. Er det helt klart, at [1] = [7]? Tilsvarende med multiplikation [1] [0] = [1 0] = [0] [4] [3] = [4 3] = [12]. Er det helt klart, at [0] = [12]? Altså er definitionen af addition og multiplikation afhængig af valg af repræsentanter for restklasserne? Vi har at [a 1 ] = [a 2 ] [b 1 ] = [b 2 ] a 1 a 2 mod n b 1 b 2 mod n n (a 1 a 2 ) n (b 1 b 2 ). ( ) For additionens vedkommende får vi fra ( ), at n (a 1 a 2 ) + (b 1 b 2 ) n (a 1 + b 1 ) (a 2 + b 2 ) a 1 + b 1 a 2 + b 2 mod n [a 1 + b 1 ] = [a 2 + b 2 ]. For multiplikationens vedkommende får vi fra ( ) at 28

00 AlgeTal 23/10/02 11:47 Side 29 K O N G R U E N S E R 3 n (a 1 a 2 )b 1 n (b 1 b 2 )a 2 n (a 1 a 2 )b 1 + (b 1 b 2 )a 2 = a 1 b 1 a 2 b 2 [a 1 b 1 ] = [a 2 b 2 ] mod n. Eksempel 19 I tilfældet n = 6 ser additions- og multiplikationstabellen i 6 ud som angivet i tabel 3 (udtrykt ved det komplette sæt af rester 0, 1, 2, 3, 4, 5). Ser man nærmere på tabellen vil man opdage en særhed, nemlig at to elementer forskellige fra 0 godt kan have produkt 0. + 0 1 2 3 4 5 0 0 1 2 3 4 5 1 1 2 3 4 5 0 2 2 3 4 5 0 1 3 3 4 5 0 1 2 4 4 5 0 1 2 3 5 5 0 1 2 3 4 0 1 2 3 4 5 0 0 0 0 0 0 0 1 0 1 2 3 4 5 2 0 2 4 0 2 4 3 0 3 0 3 0 3 4 0 4 2 0 4 2 5 0 5 4 3 2 1 Tabel 3 Additions- og multiplikationstabellen i 6 (udtrykt ved det komplette sæt af rester 0, 1, 2, 3, 4, 5) Eksempel 20 Lad os beregne den mindste positive rest af 3 8 mod 13. Første regner vi i 13 og får [3 2 ] = [9] = [ 4]. Det udnytter vi dernæst til at bestemme, at 29

00 AlgeTal 23/10/02 11:47 Side 30 3 K O N G R U E N S E R og endelig at [3 4 ] = [3 2 3 2 ] = [3 2 ] [3 2 ] = [ 4] [ 4] = [16] = [3] [3 8 ] = [3 4 3 4 ] = [3 4 ] [3 4 ] = [3] [3] = [9]. Det søgte resultat er altså 9. Vi kunne også have formuleret de samme beregninger således: hvorfor og 3 2 9 4 mod 13, 3 4 3 2 3 2 ( 4) ( 4) 16 3 mod 13 3 8 3 4 3 4 3 3 = 9 mod 13. Øvelse 21 Bestem den mindste positive rest af a) 5 10 mod 23. b) 19 14 mod 23. c) 5 10 + 19 14 mod 23. Modulær division - løsning af lineære kongruenser Vi har netop set, at vi kan addere og multiplicere elementerne i n med hinanden. Division af kongruensklassen [b] med kongruensklassen [a] er mere kompliceret. Lad os se på Eksempel 19, hvor vi behandlede 6. Multiplikationstabellen var: 0 1 2 3 4 5 0 0 0 0 0 0 0 1 0 1 2 3 4 5 2 0 2 4 0 2 4 3 0 3 0 3 0 3 4 0 4 2 0 4 2 5 0 5 4 3 2 1 30

00 AlgeTal 23/10/02 11:47 Side 31 K O N G R U E N S E R 3 Vi noterer ved at se på rækken med 2, at der faktisk er to klasser, nemlig [1] og [4], der multipliceret med [2] giver klassen [2]. På den anden side er der ingen klasser, der multipliceret med [2] giver klassen [3]. Ser vi derimod på rækken med 5, er det klart, at der til enhver klasse [b] findes netop en klasse [x] så [5] [x] = [b]. Problem 22 Lad n være fast forskellig fra 0. For a (som ikke er et multiplum af n) og b ønskes bestemt de klasser [x], så [a] [x] = [b] i n. Det svarer til at bestemme de hele tal x, så ax b mod n. Sætning 23 Lad a, b, n være hele tal n 0, hvorom det antages, at a ikke er et multiplum af n. Lad d = sfd(a, n). Kongruensen [a] [x] = [b] i n (ax b mod n) har mindst en løsning [x], hvis og kun hvis d er divisor i b. Hvis d = 1, så er der præcis en kongruensklasse [x], der løser problemet. Bevis At løse kongruensen ax b mod n svarer til at finde hele tal x, y, så ax + ny = b Det kan ifølge Korollar 8 lade sig gøre, hvis og kun hvis d er en divisor i b, hvilket netop skulle vises. Antag nu, at d = 1 og vælg x, y ifølge Sætning 4, så ax + ny = 1. Antag endvidere, at der findes to løsninger x 1, x 2 så ax 1 ax 2 b mod n. Vi har, at 31

00 AlgeTal 23/10/02 11:47 Side 32 3 K O N G R U E N S E R ax 1 ax 2 mod m a(x 1 x 2 ) 0 mod n n a(x 1 x 2 ) samt ved at multiplicere med x 1 x 2, at ax + ny = 1 ax(x 1 x 2 ) + ny(x 1 x 2 ) = x 1 x 2 Da n er divisor i venstresiden af det sidste lighedstegn, er n (x 1 x 2 ) og vi har identiteten mellem kongruensklasserne [x 1 ] = [x 2 ]. Metode 24 Lad a, b, n være hele tal n 0. Lad d = sfd(a, n). Der findes (mindst) et x, så ax b mod n hvis og kun hvis d er en divisor i b. Hvis d er divisor i b bestemmes en løsning x 0 = u b d, idet der først bestemmes løsninger u, v til Bezout identiteten au + nv = d ved hjælp af Euklids algoritme og Bezouts identitet, jvf. Sætning 4 og Sætning 6. Øvelse 25 Bestem klasser [x], så a) [10] [x] = [3] i 12. b) [10] [x] = [6] i 12. c) [12] [x] = [9] i 15. Øvelse 26 Afgør om nedenstående kongruenser kan løses og bestem i givet fald en løsning a) 3x 5 mod 7. b) 12x 15 mod 22. c) 19x 42 mod 50. d) 18x 42 mod 50. 32

00 AlgeTal 23/10/02 11:47 Side 33 K O N G R U E N S E R 3 Korollar 27 Forkortning Lad a, n være indbyrdes primiske hele tal. I n gælder, at [a] [x 1 ] = [a] [x 2 ] [x 1 ] = [x 2 ]. Vi kan altså forkorte med [a] i n. Anderledes formuleret a x 1 a x 2 mod n x 1 x 2 mod n. Sætning 28 Wilsons sætning Lad p være et primtal. Så gælder, at (p 1)! 1 mod p. Bevis Antag p > 3, lad R = {1, 2,..., p 1}. For a R ved vi fra Sætning 23, at der findes netop et x R, så ax 1 mod p. Først undersøger vi, hvornår dette x faktisk er a selv x = a a 2 1 mod p p a 2 1 p (a 1) p (a + 1) a = 1 a = p 1 Tallene 1 og p 1 er altså specielle i R. Lad S = {2,..., p 2} være de øvrige elementer i R. Et a S vil sammen med dets tilhørende x være et par af forskellige tal i S, hvis produkt er kongruent med 1 modulo p. Derfor er produktet af alle elementerne i S kongruent med 1 modulo p og produktet af alle elementerne i R er ækvivalent med 1 (p 1) 1 mod p. For p = 2, 3 ses påstanden direkte. 33

00 AlgeTal 23/10/02 11:47 Side 34 3 K O N G R U E N S E R 34

00 AlgeTal 23/10/02 11:47 Side 35 FERMATS LILLE SÆTNING 4

00 AlgeTal 23/10/02 11:47 Side 36 4 F E R M A T S L I L L E S Æ T N I N G Sætning 29 Fermats lille sætning Lad p være et primtal. For ethvert helt tal a, som ikke er et multiplum af p, gælder at a p 1 1 mod p (7) eller udtrykt ved restklasser modulo p [a] p 1 = [1] i p. Bevis Et komplet sæt af rester forskellige fra 0 udgøres af 1, 2,..., p 1 (8) Multiplicerer vi elementerne i (8) med a fås et andet komplet sæt af rester forskellige fra 0, jvf. Korollar 27. a 1, a 2,..., a (p 1) (9) Rækkefølgen kan være anderledes; men begge lister må indeholde samtlige p 1 ikkenul restklasser. Derfor er produktet af elementerne i (8) det samme som produktet af elementerne i (9) modulo p: 1 2 (p 1) (a 1) (a 2) (a (p 1)) mod p (p 1)! a p 1 (p 1)! mod p Anvender vi endnu engang Korollar 27 til at forkorte (p 1)! væk fås, at 1 a p 1 mod p. Korollar 30 Lad p være et primtal. For alle a gælder at a p a mod p eller sagt på en anden måde [a] p = [a] i p Bevis Følger direkte af Sætning 29. 36

00 AlgeTal 23/10/02 11:47 Side 37 F E R M A T S L I L L E S Æ T N I N G 4 PIERRE DE FERMAT. Født 20. august 1601 i Beaumontde-Lomagne, Frankrig. Død 12. jan. 1665 i Castres, Frankrig. Fermats arbejde indenfor talteori blev først forstået og værdsat da Euler (1707-1783) genoplivede det og startede den sammenhængende forskning, der kulminerede i Gauss's og Kummers arbejder i begyndelsen af det nittende århundrede. Faktisk er mange af Fermats resultater basale dele af talteori den dag i dag. Selvom hans resultater var og er af fundamental betydning, er hans metoder i vidt omfang ukendte. Sætninger, resultater, formodninger og eksempler findes i massevis i margennoter og i breve. Men han efterlod ikke, bortset fra en vag skitse af en metode, som han kaldte uendelig nedstigning, klare spor af de metoder han anvendte. Fermat var den første til at begrænse undersøgelserne til de hele tal, hans afvisning af at acceptere rationale tal som løsninger udgjorde et brud med den klassiske tradition fra Arithmetica. Fermats interesse i primtal og faktorisering kulminerede i Fermats lille sætning. Betydningen af Fermats arbejde i talteori lå i mindre grad i datidens matematiske udvikling som i den stimulerende indflydelse på eftertiden. Det meste af det nittende århundredes talteori fandt sin inspiration i at forstå Fermats resultater - således tvunget udvirkede det sine egne metoder og bidrog dermed til formuleringen af helt grundlæggende begreber i moderne algebra. Eksempel 31 Lad os bestemme den mindste positive rest af 2 68 mod 19. Da 19 er et primtal sikrer Fermats lille sætning, Sætning 29, at 2 18 =1 mod 19. Derfor er 2 68 =2 18 3 + 14 = (2 18 ) 3 2 14 2 14 mod 19. Videre fås, idet 16 3 mod 19, at 2 14 = 2 4 3 + 2 = (2 4 ) 3 2 2 = 16 3 2 2 ( 3) 3 2 2 ( 27) 2 2 11 2 2 44 6 mod 19. Øvelse 32 Find den mindste positive rest af 3 91 mod 23. Primtalstest Fermats lille sætning er grundlaget i en primtalstest - en nyttig metode til at afsløre, at et tal n ikke er et primtal. Findes der nemlig et tal a for hvilket ligningen 37

00 AlgeTal 23/10/02 11:47 Side 38 4 F E R M A T S L I L L E S Æ T N I N G a n a mod n ikke er sand, må konklusionen være, at n ikke kan være et primtal. Testen giver dog ikke nogen faktorisering af n, omend den måtte have afsløret, at n ikke er et primtal. Selvom n klarer testen for alle a, er der imidlertid ikke sikkerhed for, at n faktisk er et primtal. Sådanne tal kaldes pseudo-primtal. I forhold til testen virker de som primtal, men er sammensatte tal. Øvelse 201 behandler de såkaldet Carmichael-tal, som hverken er primtal eller kan af-sløres af nogen test af denne art. Testen var kendt af kineserne og for 25 århundreder siden påstod de, at tal, der overlever testen for a = 2, faktisk er primtal. Det er forkert. Det var dog først i 1819, at man fandt tal, der tilfredsstiller 2 n 2 mod n uden at være primtal. Testen er praktisk gennemførlig, idet vi senere i kapitel 6 skal lære en hurtig metode til i modulær aritmetik at beregne a n mod n. Eksempel 33 Vi vil se, på tallet 341. Først noterer vi, at 2 10 = 1024 1 mod 341 hvorfor 2 341 = (2 10 ) 34 2 2 mod 341 og 341 har klaret testen for a = 2. Øvelse 34 Vis, at 341 ikke klarer testen for a = 3. Vent eventuelt til efter, at du har lært den hurtige metode til modulær eksponentering i kapitel 6. En anvendelse af Fermats lille sætning i kryptografi Kryptering anvendes til at sende meddelelser hemmeligt og sikkert. Mange krypteringsmetoder beror på talteori, en meget simpel metode er at kryptere ved at erstatte et bogstav med dets efterfølger i alfabetet. Matematisk udtrykt erstatter vi alfabetet med hele tal: A = 0, B = 1, C = 2,, Å = 28 og krypterer nu ved at addere 1 mod 29. Tilsvarende koder kan laves ved at addere et andet tal k (dette tal kaldes nøg- 38

00 AlgeTal 23/10/02 11:47 Side 39 F E R M A T S L I L L E S Æ T N I N G 4 len), altså bruge afbildningen x x + k Den romerske kejser Julius Cæsar anvendte k = 3. Dekrypteringen af en meddelelse gøres simpelthen ved at subtrahere k mod 29. Disse koder er meget lette at bryde. Prøv blot med alle mulige værdier for k, indtil du får en læselig meddelelse. Øvelse 35 Et navn gemmer sig bag meddelelsen QBÅVS, der er krypteret efter metoden ovenfor. Bestem navnet og værdien af k. Bedre koder kan bygges på Fermats lille sætning. Vælg først et stort primtal p og et helt tal e, der er primisk med p 1. Disse to tal er nøglen. Krypteringen af beskeden x, hvor p ikke går op i x, foregår ved at anvende afbildningen x x e mod p Dekrypteringen foregår ved først at bestemme f, g, så ef + (p 1)g = 1 hvilket kan lade sig gøre ifølge Sætning 4 og Proposition 6, da e og p 1 er indbyrdes primiske. Dernæst beregner modtageren under anvendelse af Fermats lille sætning (x e ) f x ef x 1 (p 1)g x(x (p 1) ) g x og har dermed rekonstrueret meddelelsen x. Eksempel 36 Lad p = 29 og e = 5, som er primisk med p 1 = 28. Bogstaverne i navnet PETER omsættes direkte til tallene 15 5 20 5 18 som krypteres til talrækken 23 22 24 22 15 ved afbildningen x x 5 mod 29. Dekryptering indebærer at bestemme f (her kan f = 17 bruges) og foregår ved at anvende afbildningen x x 17 mod 29. Koder bygget op på denne måde synes meget sikre. Antag at en lytter har fået kendskab til p, en meddelelse x og den tilhørende krypterede version y = x e mod p af meddelelsen. For at bryde koden skal lytteren bestemme e (eller f ). Der er imidlertid ingen hurtige metoder til at bestemme e, der tilfredsstiller ligningen 39

00 AlgeTal 23/10/02 11:47 Side 40 4 F E R M A T S L I L L E S Æ T N I N G y = x e mod p hvilket er metodens styrke. Dette problem kaldes det diskrete logaritme problem. Metodens svaghed er, at sender og modtager forlods i dybeste hemmelighed skal udveksle nøglen, altså tallene p, e. I kapitel 8 skal vi se på såkaldt offentlige nøgle kryptering, der beror på en generalisering af Fermats lille sætning og tillader udveksling af nøglen i fuld offentlighed. Øvelse 37 Bestem et e, så 27 10 e mod 29. 40

00 AlgeTal 23/10/02 11:47 Side 41 EULERS SÆTNING 5

00 AlgeTal 23/10/02 11:47 Side 42 5 E U L E R S S Æ T N I N G Eulers funktion For et helt tal n definerer vi Eulers funktion (n) som antallet af hele tal blandt tallene 1, 2,..., n, der er primisk med n, altså som har 1 som største fælles divisor med n. Funktionen kaldes Eulers -funktion. For n = 12 er de 4 tal 1, 5, 7, 11 primiske med 12, hvorimod 2, 3, 4, 6, 8, 9, 10 ikke er det, derfor er (12) = 4. Øvelse 38 Overvej, at tabel 4 er korrekt. n 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 (n) 1 1 2 2 4 2 6 4 6 4 10 4 12 6 8 8 Tabel 4 Tabel over værdier af Eulers funktion (n) for n = 1,..., 16 Systematisk undersøgelse af alle tal 1,..., m 1 for at bestemme (m) er allerede tidskrævende når m 1000 og umulig når m 10 100. Forestil dig, at m er et helt tal med 100 cifre. For at bestemme (m) skal du tælle de hele tal mindre end m, der er indbyrdes primisk med m. Lad os antage, at du kan afgøre, om et helt tal er primisk med m i løbet af 1 million'te del af et sekund (10 6 sek.). I alt vil dine overvejelser af de i alt 10 100 tal tage: 10 100 10 6 sek. = 10 94 1 år 3,2 10 86 år. 60 60 2 4 365 Det er flere gange universets alder! Den direkte metode til bestemmelse af (m) er åbenbart UHYRE tidskrævende. I visse tilfælde er det imidlertid let at bestemme (m). For et primtal p er alle tal 1, 2,..., p 1 primiske med p, derfor er (p) = p 1. Kendes en faktorisering af m = pq i et produkt af primtal, er det også let at bestemme (m). Lemma 39 For et primtal p gælder, at (p) = p 1. For to forskellige primtal p, q gælder, at (pq) = (p 1)(q 1). 42

00 AlgeTal 23/10/02 11:47 Side 43 E U L E R S S Æ T N I N G 5 Bevis Lad m = pq, hvor p, q er to forskellige primtal. Tallene mindre end m, der ikke er primiske med m, er netop de tal, der har p eller q som primfaktorer, altså de q 1 tal p 1, p 2,, p (q 1) og de p 1 tal 1 q, 2 q,, (p 1) q. Antallet af tal blandt 1, 2,, pq 1, der er primiske med m = pq er derfor (pq 1) (q 1) (p 1) = (p 1)(q 1). Vi skal i beviset for sætningen om eksistensen af primitive rødder modulo p gøre brug af en særlig egenskab ved. Lad os starte med at se på n = 12, der har divisorerne 1, 2, 3, 4, 6, 12. Konsulterer vi tabel 4, ser vi, at (1) + (2) + (3) + (4) + (6) + (12) = 1 + 1 + 2 + 2 + 2 + 4 = 12 = n. Sætning 40 Hvis n 1, så er n = (d). d > 0, d n Bevis Lad S = {1,, n} og lad for enhver divisor d i n: S d = {a S sfd(a, n) = n d } Mængden S er den disjunkte forening af S d 'erne, thi for et a S er der en entydigt bestemt divisor d i n, så sfd(a, n) = n, d derfor er n = S d, d > 0, d n hvor S d betegner antallet af elementer i S d. Det er åbenbart nok at vise, at for alle d. S d = (d) 43

00 AlgeTal 23/10/02 11:47 Side 44 5 E U L E R S S Æ T N I N G For at vise dette dividerer vi alle a S d med den største fælles divisor n, d det giver en afbildning S d {a 1 a d sfd(a, d) = 1}, der let ses at være 1-1 og på. Derfor er antallet af elementer i de to mængder det samme, hvilket viser påstanden. a a ( ) n d Reduceret sæt af rester Tidligere indførte vi begrebet et komplet sæt af rester modulo n - det er n tal, hvoraf ingen er indbyrdes ækvivalente modulo n, altså n tal, hvor der er præcis et fra hver restklasse. Et reduceret sæt af rester modulo n er (n) tal, hvoraf ingen er indbyrdes ækvivalente modulo n og hver for sig er tallene primiske med n. Ser vi for eksempel på tilfældet n = 12, er tallene 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 et komplet sæt af rester, mens tallene 1, 5, 7, 11 er et reduceret sæt af rester. Tallene 5, 25, 35, 55 er et andet reduceret sæt af rester. Det sidste sæt af reducerede rester er fremkommet ved multiplikation med 5 af det første. Det er et eksempel på et generelt fænomen. Lemma 41 Lad a være primisk med n. Hvis r 1,..., r (n) er et reduceret sæt af rester modulo n, så er ar 1,..., ar (n) også et reduceret sæt af rester modulo n. Bevis Følger direkte af Korollar 27. 44

00 AlgeTal 23/10/02 11:47 Side 45 E U L E R S S Æ T N I N G 5 Eulers sætning Euler beviste følgende generalisering af Sætning 29, Fermats lille sætning. Sætning 42 Eulers sætning Lad a være indbyrdes primisk med n. Der gælder, at a (n) 1 mod n eller sagt på en anden måde [a] (n) = [1] i n. Bevis Beviset anvender nøjagtig den samme metode og ide som beviset for Fermats lille sætning (Sætning 29). Lad r 1,, r (n) (10) være et reduceret sæt af rester. Multiplicerer vi elementerne i (10) med a fås et andet reduceret sæt af rester, jvf. lemma 41: ar 1,, ar (n) (11) Derfor er produktet af elementerne i (10) det samme som produktet af elementerne i (11) modulo n: r 1 r 2... r (n) (a r 1 ) (a r 2 ) (a r (n) ) mod n r 1 r 2... r (n) a (n) r 1 r 2 r (n) mod n. Da alle r i er indbyrdes primiske med n, kan de bortforkortes ifølge Korollar 27 og 1 a (n) mod n. Øvelse 43 Bestem (14) og et sæt af reducerede rester. Vis ved direkte udregning, at a (14) 1 mod 14 for alle a, der er primiske med 14. 45

00 AlgeTal 23/10/02 11:47 Side 46 5 E U L E R S S Æ T N I N G Figur 1 EULER, LEONARD. Født 15. april 1707 i Basel i Switzerland; død 18. september 1783 i St. Petersborg, Rusland. Arbejdede inden for matematik, mekanik, astronomi og fysik. Euler bidrog til flere matematiske discipliner og i særlig grad analysen. Han lagde det videnskabelige fundament for talteori, hvor blandt andre Fermat tidligere havde etableret bemærkelsesværdige resultater, næsten uden beviser. Euler var den første (1742 i breve til Bernoulli og Goldbach) til at formulere en variant af algebraens fundamentalsætning: Ethvert polynomium af grad n med reelle koefficienter har n rødder på formen a + ib. 46

00 AlgeTal 23/10/02 11:47 Side 47 POTENSER OG RØDDER MODULO m 6

00 AlgeTal 23/10/02 11:47 Side 48 6 P O T E N S E R M O D U L O m Hvordan udregnes a k mod m, når a, k og m er store? For små tal er det ikke noget problem; men hvordan med 1456 1498675849257698 mod 345123? Multiplikation af 1456 med sig selv 1498675849257698 gange giver et astronomisk stort tal, som end ikke computere kan håndtere direkte. Vi skal lære en metode, der går under navnet gentagen kvadrering, som gør det til en leg at foretage udregningen, selv på en lommeregner og sågar i hånden. En effektiv metode til at udregne a k mod m når a, k og m er store, er en forudsætning for, at vi senere i kapitel 8 kan konstruere og anvende sikre krypteringsværktøjer. Gentagen kvadrering Lad os illustrere metoden med nogle eksempler. Eksempel 44 Beregning af 3 7 mod 5. Først bestemmer vi 3 1 3 mod 5 3 2 (3 1 ) 2 9 4 mod 5 3 4 (3 2 ) 2 4 2 16 1 mod 5 Opskriver vi 7 = 4 + 2 + 1, får vi ved at anvende potensregnereglerne, at 3 7 = 3 4 3 2 3 1 1 4 3 2 mod 5. Altså har vi, at 3 7 2 mod 5. 48

00 AlgeTal 23/10/02 11:47 Side 49 P O T E N S E R M O D U L O m 6 Eksempel 45 Beregning af 13 53 mod 77 Først bestemmer vi 13 1 13 mod 5 13 2 (13 1 ) 2 169 15 mod 77 13 4 (13 2 ) 2 15 2 225 71 mod 77 13 8 (13 4 ) 2 71 2 5041 36 mod 77 13 16 (13 8 ) 2 36 2 1296 64 mod 77 13 32 (13 16 ) 2 64 2 4096 15 mod 77. Opskriver vi 53 = 32 + 16 + 4 + 1, får vi ved at anvende potensregnereglerne, at 13 53 = 13 32 13 16 13 4 13 1 15 64 71 13 41 mod 77. Altså har vi, at 13 53 41 mod 77. (12) Lad os nu til sidst se på et stort eksempel. Eksempel 46 Beregningen af 5 711 mod 954. Først laver vi hjælpeberegningerne. Vi starter i første række med 5 1 mod 954, næste række er 5 2 mod 954, tilsvarende fås de efterfølgende rækker ved gentagen kvadrering af resultatet af den foregående række efterfulgt af bestemmelse af resten ved division med 954. 5 1 5 mod 954 5 2 (5 1 ) 2 25 mod 954 5 4 (5 2 ) 2 25 2 625 mod 954 5 8 (5 4 ) 2 625 2 390625 439 mod 954 5 16 (5 8 ) 2 439 2 192721 13 mod 954 5 32 (5 16 ) 2 13 2 169 mod 954 5 64 (5 32 ) 2 169 2 28561 895 mod 954 49

00 AlgeTal 23/10/02 11:47 Side 50 6 P O T E N S E R M O D U L O m 5 128 (5 64 ) 2 895 2 801025 619 mod 954 5 256 (5 128 ) 2 619 2 383161 607 mod 954 5 512 (5 256 ) 2 607 2 368449 205 mod 954 Dernæst opskriver vi 711 = 512 + 128 + 64 + 4 + 2 + 1 og får ved at anvende potensregnereglerne, at 5 711 = 5 512 + 128 + 64 + 4 + 2 + 1 = 5 512 5 128 5 64 5 4 5 2 5 1. Udnytter vi nu resultaterne fra tidligere, kan højresiden udregnes, idet vi konsekvent regner modulo 954: 5 512 5 128 5 64 5 4 5 2 5 205 619 895 625 25 5 126895 895 625 25 5 13 895 625 25 5 11635 625 25 5 187 625 25 5 116875 25 5 487 25 5 12175 5 = 727 5 = 3635 773 Konklusionen er, at 5 711 773 mod 954. De tre eksempler skulle gerne overbevise dig om, at du i gentagen kvadrering har en effektiv metode til potensudregning modulo m. Vi vil nu se på den modsatte operation, nemlig roduddragning modulo m. Vi vil erfare, at generelt er roduddragning en UHYRE langsommelig proces; men kendskab til (m) ændrer situationen radikalt, processen bliver let og hurtig. Problem 47 Lad k, b, m være givne hele tal m 0, bestem en løsning x til ligningen x k b mod m (13) bestem for eksempel en løsning til ligningen 50

00 AlgeTal 23/10/02 11:47 Side 51 P O T E N S E R M O D U L O m 6 x 17 13 mod 77 (14) Den mest naive løsningsmetode er at prøve sig frem ved at indsætte tallene x =1,2,3,,m et ad gangen i (13). Hvis m er stor vil det tage meget lang tid. Det er faktisk dette forhold, der er sikkerheden i det krypteringssystem, vi skal behandle i kapitel 8. Roduddragning modulo m tager i almindelighed lang tid (i modsætning til potensopløftning). Kender vi (m), findes der imidlertid en meget effektiv metode til roduddragning, den skal vi behandle nu. Rodudragning modulo m, når vi kender (m) Vi vil sideløbende behandle den generelle situation (13) og eksemplet (14), hvor (77) = (7) (11) = (7 1)(11 1) = 60, jvf. Lemma 39. Indledningsvis bestemmer vi positive hele tal u, v, der er løsninger til ku (m)v = 1 Det kan vi gøre ved den udvidede Euklidiske algoritme Sætning 6, dog under den forudsætning, at k og (m) er indbyrdes primiske. I (14) er forudsætningen opfyldt, og vi finder at u = 53, v = 15. 17 53 60 15 = 1 For alle hele tal x, der er primiske med m, har vi derfor, at (x k ) u = x ku = x 1+ (m)v = x(x (m) ) v = x ifølge Sætning 46 (Eulers sætning). Specielt gælder, at (x 17 ) 53 = x 17 53 = x 1 + 60 15 = x(x 60 ) 15 = x. Opløfter vi nu venstre og højre side af (13) (hhv. 14) i potensen u (hhv. 53), fås: x (x k ) u b u mod m x (x 17 ) 53 13 53 41 mod 77 jvf. (12) i Eksempel 45 og vi har uddraget den k'te rod. Metode 48 k te rod modulo m Lad k, b, m være givne hele tal, m 0 med k og (m) indbyrdes primiske og b og m 51

00 AlgeTal 23/10/02 11:47 Side 52 6 P O T E N S E R M O D U L O m indbyrdes primiske. Følgende skridt bestemmer en løsning x til: x k b mod m. 1) Bestem positive hele tal u, v, der er løsninger til k u (m)v = 1 ved hjælp af den udvidede Euklidiske algoritme, Sætning 6. 2) Udregn b u mod m ved gentagen kvadrering. 52

00 AlgeTal 23/10/02 11:47 Side 53 UBRYDELIGE KODER KRYPTE- RING OG DIGITAL SIGNATUR 7

00 AlgeTal 23/10/02 11:47 Side 54 7 U B R Y D E L I G E K O D E R Underskrifter og brevhemmelighed I dette kapitel findes en introduktion, der kan give en almen forståelse for, hvad digitale signaturer og kryptering er, og hvad der kræves for, at de kan anvendes i praksis. Det er klart, at kryptering og hemmeligholdelse er af største vigtighed i mange sammenhænge. Det er fatalt hvis en kode brydes. Mary Stuart, en tidligere skotsk dronning, er et af de bedst beskrevne eksempler, idet afsløringen af hendes konspiratoriske og kodede brevveksling fra skiftende fængsler med katolske trosfæller i London direkte førte til halshugningen af hende den 8. februar 1587. Denne og mange andre spændende historier kan man læse om i bogen [Singh2]. Mere subtilt, men formentlig af langt større almen betydning, er den digitale signatur. Den er selve forudsætningen for indgåelse af bindende aftaler, hvor der er afstand mellem de to aftalepartnere. Underskrift Til daglig anvendes den personlige underskrift til at give en meddelelse troværdighed. Breve underskrives, bilag attesteres, aftaler underskrives af begge parter osv. Den der underskriver forpligtiger sig selv eller andre til meddelelsens indhold. I lovgivningen findes tusindvis af udtrykkelige krav om skriftlighed og underskrift. Ofte er meddelelsen udformet på et særligt trykt papir, som er med til at give meddelelsen sin troværdighed. Andre meddelelser, fx en faktura, accepteres uden, at den er forsynet med en underskrift, fordi den er udformet på en kendt måde og i øvrigt kan kontrolleres. I en række sammenhænge giver den almindelige underskrift ikke tilstrækkelig sikkerhed, og der er derfor etableret yderligere sikkerhed. Der kan fx være tale om vitterlighedsvidner, hvor andre personer tillige underskriver meddelelser. Dernæst kan der være behov for at kunne dokumentere, at et brev er sendt og modtaget. Her kan fx anvendes anbefalede breve. Elektronisk underskrift - digital signatur Ved overgang til elektronisk kommunikation er det nødvendigt at anvende sikkerhedsfunktioner, som giver meddelelsen troværdighed. En elektronisk signatur er data, som tilføjet en elektronisk meddelelse giver vished om, hvem der har udfærdiget meddelelsen. Når man åbner en butik på Internettet, kan kunderne komme fra hele landet - ja, fra hele verden. Det er derfor nødvendigt med sikkerhed for, at den, der bestiller varer, fin- 54