Talteori: Euklids algoritmer, modulær aritmetik

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

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

2. Gruppen af primiske restklasser.

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

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

Note om endelige legemer

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

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

Matematikken bag kryptering og signering RSA

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

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

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

DM547/MM537. Spørgsmål 2 (3%) Hvilke udsagn er sande? Which propositions are true? Svar 1.a: x Z: x > x 1. Svar 2.h: x Z: y Z: x + y = 5. Svar 1.

DM549. Hvilke udsagn er sande? Which propositions are true? Svar 1.a: x Z: x > x 1. Svar 2.h: x Z: y Z: x + y = 5. Svar 1.e: x Z: y Z: x + y < x y

14 Algoritmeanalyse. Noter. Algoritmebegrebet. Hvad er algoritmeanalyse? Problemstørrelse og køretid. Køretid for forskellige kontrolstrukturer.

Integer Factorization

Minilex Mat 2AL. .. Henrik Dahl Mangler

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

Algoritmer og invarianter

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

Algebra2 Obligatorisk opgave

Talteoriopgaver Træningsophold ved Sorø Akademi 2007

Matematik 2AL, vinteren

Grundlæggende Matematik

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

Noter om primtal. Erik Olsen

Martin Geisler Mersenne primtal. Marin Mersenne

TALTEORI Primfaktoropløsning og divisorer.

Facitliste til nyere eksamensopgaver

1 Sætninger om hovedidealområder (PID) og faktorielle

Grundlæggende Matematik

RSA-kryptosystemet. RSA-kryptosystemet Erik Vestergaard

Komplekse tal og polynomier

Matematikken bag kryptering og signering RSA

Statistik for MPH: 7

Teoretiske Øvelsesopgaver:

Oversigt over gruppeteori: definitioner og sætninger

DM72 Diskret matematik med anvendelser

Opgave 1 Regning med rest

Affine - et krypteringssystem

Informationsteori. Hvorledes man bryder en RSA-kode

En karakteristik af de regulære sprog. Ugens emner. FA minimering [ ] MyHill-Nerode-sætningen en algoritme til minimering af FA er

Statistik for MPH: oktober Attributable risk, bestemmelse af stikprøvestørrelse (Silva: , )

MM537 Introduktion til Matematiske Metoder

DM547 Diskret Matematik

Foredrag i Eulers Venner 30. nov. 2004

Linear Programming ١ C H A P T E R 2

28 Algoritmedesign. Noter. PS1 -- Algoritmedesign

Algebra. Dennis Pipenbring, 10. februar matx.dk

Anders Thorup. Elementær talteori. Algebra og talteori, F2001

Projekt 7.9 Euklids algoritme, primtal og primiske tal

Ringe og Primfaktorisering

Matematik. 1 Matematiske symboler. Hayati Balo,AAMS. August, 2014

Algebra med Bea. Bea Kaae Smit. nøgleord andengradsligning, komplekse tal, ligningsløsning, ligningssystemer, nulreglen, reducering

En algebra opsamling INDLEDNING. Indhold. Jens Kusk Block Jacobsen 13. januar 2008

Introduktion til Kryptologi. Mikkel Kamstrup Erlandsen

Kryptologi og RSA. Jonas Lindstrøm Jensen

Noter til kursusgang 8, IMAT og IMATØ

DM549 Diskrete Metoder til Datalogi

Skriftlig Eksamen Beregnelighed (DM517)

Basic statistics for experimental medical researchers

Matematik 2 AL. Opgave 2 (20p)

10. Nogle diofantiske ligninger.

Noter til kursusgang 9, IMAT og IMATØ

Ligningssystemer - nogle konklusioner efter miniprojektet

22 Hobe. Noter. PS1 -- Hobe. Binære hobe. Minimum-hob og maximum-hob. Den abstrakte datatype minimum-hob. Opbygning af hobe. Operationen siv-ned.

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

Diskrete Matematiske Metoder. Jesper Lützen

Regning. Mike Vandal Auerbach ( 7) 4x 2 y 2xy 5. 2x + 4 = 3. (x + 3)(2x 1) = 0. (a + b)(a b) a 2 + b 2 2ab.

Forord 3 Strukturen i denne bog 6

Repræsentation af tal

En uægte brøk er en brøk der stadig kan forkortes ned til et blandet tal og som er større end Eksempel: Uægte brøk: 12

DIOFANTISKE LIGNINGER FERMATS SIDSTE SÆTNING

Nogle grundlæggende begreber

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

TALTEORI Ligninger og det der ligner.

De rigtige reelle tal

Kommutativ algebra, 2005

TALTEORI Følger og den kinesiske restklassesætning.

Matematiske metoder - Opgavesæt

MAteMAtIk FoR LæReRStUDeReNDe. tal, algebra og funktioner klasse

Matematikken bag kryptering og signering NemID RSA Foredrag i UNF

Transkript:

Talteori: r, modulær aritmetik Videregående algoritmik Cormen et al. 31.1 31.4 Tirsdag den 6. januar 2009

1

1 2 Restklasseringene modulo n Grupper og undergrupper Modulær division

Divisorer De hele tal Z Delelighed -4-3 -2-1 0 1 2 3 4 For a, d Z: d går op i a Z k : kd = a d a a er et multiplum af d d er divisor i a d a d N 1 a a a d a a b d b d 0 d a d a a = 0 d a d b d (ax + by) a b b a a = ±b

Divisorer De hele tal Z Delelighed -4-3 -2-1 0 1 2 3 4 For a, d Z: d går op i a Z k : kd = a d a a er et multiplum af d d er divisor i a d a d N 1 a a a d a a b d b d 0 d a d a a = 0 d a d b d (ax + by) a b b a a = ±b a 0 har de trivielle divisorer 1 og a ; ikke-trivielle divisorer kaldes også faktorer.

Divisorer De hele tal Z Delelighed -4-3 -2-1 0 1 2 3 4 For a, d Z: d går op i a Z k : kd = a d a a er et multiplum af d d er divisor i a d a d N 1 a a a d a a b d b d 0 d a d a a = 0 d a d b d (ax + by) a b b a a = ±b a 0 har de trivielle divisorer 1 og a ; ikke-trivielle divisorer kaldes også faktorer. p > 1 er et primtal, hvis det kun har de to trivielle divisorer; andre tal n > 1 er sammensatte; 1 er en enhed.

For (a, b) (0, 0) defineres deres største fælles divisor (greatest common divisor) gcd(a, b) = max{d N d a d b} gcd(a, b) = gcd(b, a) = gcd( a, b) = gcd( a, b ) gcd(a, ka) = a Sætning gcd(a, b) = min{ax + by > 0 x, y Z}

For (a, b) (0, 0) defineres deres største fælles divisor (greatest common divisor) gcd(a, b) = max{d N d a d b} gcd(a, b) = gcd(b, a) = gcd( a, b) = gcd( a, b ) gcd(a, ka) = a Sætning gcd(a, b) = min{ax + by > 0 x, y Z} Bevis: Lad højre side være s = ax 0 + by 0 > 0. s > a mod s = a a s s = a(1 a s x 0) + b( a s y 0) = 0, så s a. Tilsvarende ses s b, altså s gcd(a, b). Men vi har også gcd(a, b) s, gcd(a, b) s, og dermed gcd(a, b) = s

For (a, b) (0, 0) defineres deres største fælles divisor (greatest common divisor) gcd(a, b) = max{d N d a d b} gcd(a, b) = gcd(b, a) = gcd( a, b) = gcd( a, b ) gcd(a, ka) = a Sætning gcd(a, b) = min{ax + by > 0 x, y Z} Bevis: Lad højre side være s = ax 0 + by 0 > 0. s > a mod s = a a s s = a(1 a s x 0) + b( a s y 0) = 0, så s a. Tilsvarende ses s b, altså s gcd(a, b). Men vi har også gcd(a, b) s, gcd(a, b) s, og dermed gcd(a, b) = s d a d b d gcd(a, b) Vi vedtager gcd(0, 0) = 0.

Resultater om gcd b > 0 gcd(a, b) = gcd(b, a mod b) gcd(na, nb) = n gcd(a, b) n ab gcd(a, n) = 1 n b gcd(a, n) = 1 gcd(n, b) { = 1 gcd(ab, n) = 1 p p n p primtal gcd(n, p) = 1 p n p primtal (p ab p a p b)

Resultater om gcd b > 0 gcd(a, b) = gcd(b, a mod b) gcd(na, nb) = n gcd(a, b) n ab gcd(a, n) = 1 n b gcd(a, n) = 1 gcd(n, b) { = 1 gcd(ab, n) = 1 p p n p primtal gcd(n, p) = 1 p n p primtal (p ab p a p b) Ethvert positivt helt tal n kan på en og (pånær faktorernes orden) kun en måde skrives som et produkt af primtal n = p e 1 1 pe 2 2 per r r N, primtal p 1 < p 2 <... < p r, e 1, e 2,..., e r N 1 gcd(p e 1 1 pe 2 2 per r, p f 1 1 p f 2 2 pr fr ) = p min(e 1,f 1 ) 1 p min(e 2,f 2 ) 2 p min(er,fr ) r

From Euclid s 5th book (for two line segments) r 0 := a r 1 := b q 1 := r 0 div r 1 r 0 = q 1 r 1 + r 2 r 2 := r 0 mod r 1 = r 0 q 1 r 1. r 1 > r 2 > r 3 >... 0 r m 2 = q m 1 r m 1 + r m r m := r m 2 mod r m 1 = r m 2 q m 1 r m 1 q m := r m 1 div r m r m 1 = q m r m r m+1 := r m 1 mod r m = r m 1 q m r m = 0

From Euclid s 5th book (for two line segments) r 0 := a r 1 := b q 1 := r 0 div r 1 r 0 = q 1 r 1 + r 2 r 2 := r 0 mod r 1 = r 0 q 1 r 1. r 1 > r 2 > r 3 >... 0 r m 2 = q m 1 r m 1 + r m r m := r m 2 mod r m 1 = r m 2 q m 1 r m 1 q m := r m 1 div r m r m 1 = q m r m r m+1 := r m 1 mod r m = r m 1 q m r m = 0 d := r m

From Euclid s 5th book (for two line segments) r 0 := a r 1 := b q 1 := r 0 div r 1 r 0 = q 1 r 1 + r 2 r 2 := r 0 mod r 1 = r 0 q 1 r 1. r 1 > r 2 > r 3 >... 0 r m 2 = q m 1 r m 1 + r m r m := r m 2 mod r m 1 = r m 2 q m 1 r m 1 q m := r m 1 div r m r m 1 = q m r m r m+1 := r m 1 mod r m = r m 1 q m r m = 0 This computes d = gcd(a, b) and, as a biproduct, the list [q 1, q 2,..., q m ] of quotients such that a b = q 1 1 + 1. q 2 +...+ 1 q m

Køretid (rekursiv version) fun gcd (a,b) = if b=0 then a else gcd (b,a mod b)

Køretid (rekursiv version) fun gcd (a,b) = if b=0 then a else gcd (b,a mod b) Husk Fibonaccitallene F 0 = 0, F 1 = 1, F k+2 = F k + F k+1. Hvis a > b 1, og gcd(a,b) giver anledning til k 1 rekursive kald, vil a F k+2 og b F k+1.

Køretid (rekursiv version) fun gcd (a,b) = if b=0 then a else gcd (b,a mod b) Husk Fibonaccitallene F 0 = 0, F 1 = 1, F k+2 = F k + F k+1. Hvis a > b 1, og gcd(a,b) giver anledning til k 1 rekursive kald, vil a F k+2 og b F k+1. Lamés sætning For a > b 1, k 1 og b < F k+1 vil gcd(a,b) foretage færre end k rekursive kald. For a og b med β bit vil gcd foretage O(β) aritmetiske operationer og O(β 3 ) (faktisk O(β 2 )) bitoperationer.

Taleksempel Example (gcd(312,99)=?) r i 1 = q i r i + r i+1

Taleksempel Example (gcd(312,99)=?) r i 1 = q i r i + r i+1 312 = 3 99 + 15

Taleksempel Example (gcd(312,99)=?) r i 1 = q i r i + r i+1 312 = 3 99 + 15 99 = 6 15 + 9

Taleksempel Example (gcd(312,99)=?) r i 1 = q i r i + r i+1 312 = 3 99 + 15 99 = 6 15 + 9 15 = 1 9 + 6

Taleksempel Example (gcd(312,99)=?) r i 1 = q i r i + r i+1 312 = 3 99 + 15 99 = 6 15 + 9 15 = 1 9 + 6 9 = 1 6 + 3

Taleksempel Example (gcd(312,99)=3) r i 1 = q i r i + r i+1 312 = 3 99 + 15 99 = 6 15 + 9 15 = 1 9 + 6 9 = 1 6 + 3 6 = 2 3

Taleksempel Example (gcd(312,99)=3) r i 1 = q i r i + r i+1 312 = 3 99 + 15 99 = 6 15 + 9 15 = 1 9 + 6 9 = 1 6 + 3 6 = 2 3 Example (Continued Fraction) 312 99

Taleksempel Example (gcd(312,99)=3) r i 1 = q i r i + r i+1 312 = 3 99 + 15 99 = 6 15 + 9 15 = 1 9 + 6 9 = 1 6 + 3 6 = 2 3 Example (Continued Fraction) 312 99 = 3 + 1 99 15

Taleksempel Example (gcd(312,99)=3) r i 1 = q i r i + r i+1 312 = 3 99 + 15 99 = 6 15 + 9 15 = 1 9 + 6 9 = 1 6 + 3 6 = 2 3 Example (Continued Fraction) 312 99 = 3 + 1 99 15 = 3 + 1 6+ 1 15 9

Taleksempel Example (gcd(312,99)=3) r i 1 = q i r i + r i+1 312 = 3 99 + 15 99 = 6 15 + 9 15 = 1 9 + 6 9 = 1 6 + 3 6 = 2 3 Example (Continued Fraction) 312 99 = 3 + 1 99 15 = 3 + 1 6+ 1 1+ 1 9 6 = 3 + 1 6+ 1 15 9

Taleksempel Example (gcd(312,99)=3) r i 1 = q i r i + r i+1 312 = 3 99 + 15 99 = 6 15 + 9 15 = 1 9 + 6 9 = 1 6 + 3 6 = 2 3 Example (Continued Fraction) 312 99 = 3 + 1 99 15 = 3 + 1 6+ 1 = 3 + 1 6+ 1 15 9 1+ 1 9 6 = 3 + 1 6+ 1 1+ 1 1+ 1 6 3

Taleksempel Example (gcd(312,99)=3) r i 1 = q i r i + r i+1 312 = 3 99 + 15 99 = 6 15 + 9 15 = 1 9 + 6 9 = 1 6 + 3 6 = 2 3 Example (Continued Fraction) 312 99 = 3 + 1 99 15 = 3 + 1 6+ 1 = 3 + 1 6+ 1 1+ 1 1+ 1 2 = 3 + 1 6+ 1 15 9 1+ 1 9 6 = 3 + 1 6+ 1 1+ 1 1+ 1 6 3

Taleksempel Example (gcd(312,99)=3) r i 1 = q i r i + r i+1 312 = 3 99 + 15 99 = 6 15 + 9 15 = 1 9 + 6 9 = 1 6 + 3 6 = 2 3 Example (Continued Fraction) 312 99 = 3 + 1 99 15 = 3 + 1 6+ 1 = 3 + 1 6+ 1 1+ 1 1+ 1 2 = 3 + 1 6+ 1 15 9 1+ 1 9 6 = 3 + 1 6+ 1 1+ 1 1+ 1 6 3 Example (Greatest Common Divisor as a Linear Combination)

Taleksempel Example (gcd(312,99)=3) r i 1 = q i r i + r i+1 312 = 3 99 + 15 99 = 6 15 + 9 15 = 1 9 + 6 9 = 1 6 + 3 6 = 2 3 Example (Continued Fraction) 312 99 = 3 + 1 99 15 = 3 + 1 6+ 1 = 3 + 1 6+ 1 1+ 1 1+ 1 2 = 3 + 1 6+ 1 15 9 1+ 1 9 6 = 3 + 1 6+ 1 1+ 1 1+ 1 6 3 Example (Greatest Common Divisor as a Linear Combination) 3 = 9 1 6

Taleksempel Example (gcd(312,99)=3) r i 1 = q i r i + r i+1 312 = 3 99 + 15 99 = 6 15 + 9 15 = 1 9 + 6 9 = 1 6 + 3 6 = 2 3 Example (Continued Fraction) 312 99 = 3 + 1 99 15 = 3 + 1 6+ 1 = 3 + 1 6+ 1 1+ 1 1+ 1 2 = 3 + 1 6+ 1 15 9 1+ 1 9 6 = 3 + 1 6+ 1 1+ 1 1+ 1 6 3 Example (Greatest Common Divisor as a Linear Combination) 3 = 9 1 6 = 9 1(15 1 9) = ( 1)15 + 2 9

Taleksempel Example (gcd(312,99)=3) r i 1 = q i r i + r i+1 312 = 3 99 + 15 99 = 6 15 + 9 15 = 1 9 + 6 9 = 1 6 + 3 6 = 2 3 Example (Continued Fraction) 312 99 = 3 + 1 99 15 = 3 + 1 6+ 1 = 3 + 1 6+ 1 1+ 1 1+ 1 2 = 3 + 1 6+ 1 15 9 1+ 1 9 6 = 3 + 1 6+ 1 1+ 1 1+ 1 6 3 Example (Greatest Common Divisor as a Linear Combination) 3 = 9 1 6 = 9 1(15 1 9) = ( 1)15 + 2 9 = ( 1)15 + 2(99 6 15) = 2 99 13 15

Taleksempel Example (gcd(312,99)=3) r i 1 = q i r i + r i+1 312 = 3 99 + 15 99 = 6 15 + 9 15 = 1 9 + 6 9 = 1 6 + 3 6 = 2 3 Example (Continued Fraction) 312 99 = 3 + 1 99 15 = 3 + 1 6+ 1 = 3 + 1 6+ 1 1+ 1 1+ 1 2 = 3 + 1 6+ 1 15 9 1+ 1 9 6 = 3 + 1 6+ 1 1+ 1 1+ 1 6 3 Example (Greatest Common Divisor as a Linear Combination) 3 = 9 1 6 = 9 1(15 1 9) = ( 1)15 + 2 9 = ( 1)15 + 2(99 6 15) = 2 99 13 15 = 2 99 13(312 3 99) = ( 13)312 + 41 99

Taleksempel Example (gcd(312,99)=3) r i 1 = q i r i + r i+1 312 = 3 99 + 15 99 = 6 15 + 9 15 = 1 9 + 6 9 = 1 6 + 3 6 = 2 3 Example (Continued Fraction) 312 99 = 3 + 1 99 15 = 3 + 1 6+ 1 = 3 + 1 6+ 1 1+ 1 1+ 1 2 = 3 + 1 6+ 1 15 9 1+ 1 9 6 = 3 + 1 6+ 1 1+ 1 1+ 1 6 3 Example (Greatest Common Divisor as a Linear Combination) 3 = 9 1 6 = 9 1(15 1 9) = ( 1)15 + 2 9 = ( 1)15 + 2(99 6 15) = 2 99 13 15 = 2 99 13(312 3 99) = ( 13)312 + 41 99

Programmer Euklids fun algoritme (rekursiv version) gcd (a,b) = if b=0 then a else let val (_,r) = divmod (a,b) val d = gcd (b,r) in d end

Programmer (rekursiv version) fun egcd (a,b) returns (s, t, d) such that sa + tb = d = if b=0 then (1,0,a) else let val (q,r) = divmod (a,b) val (s,t,d) = egcd (b,r) in (t,s-q*t,d) end

Programmer (rekursiv version) fun egcd (a,b) returns (s, t, d) such that sa + tb = d = if b=0 then (1,0,a) else let val (q,r) = divmod (a,b) val (s,t,d) = egcd (b,r) in (t,s-q*t,d) end (iterativ version) (r0,r1,s0,s1,t0,t1) := (a,b,1,0,0,1); while r1 <> 0 do q := r0 div r1 (r0,r1,s0,s1,t0,t1) := (r1,r0-q*r1,s1,s0-q*s1,t1,t0-q*t1) od result is (s0,t0,r0)

Programmer (rekursiv version) fun egcd (a,b) returns (s, t, d) such that sa + tb = d = if b=0 then (1,0,a) else let val (q,r) = divmod (a,b) val (s,t,d) = egcd (b,r) in (t,s-q*t,d) end (iterativ version) (r0,r1,s0,s1,t0,t1) := (a,b,1,0,0,1); while r1 <> 0 do q := r0 div r1 (r0,r1,s0,s1,t0,t1) := (r1,r0-q*r1,s1,s0-q*s1,t1,t0-q*t1) od result is (s0,t0,r0) a s0 + b t0 = r0 a s1 + b t1 = r1

Restklasseringene modulo n Grupper og undergrupper Modulær division For et positivt helt tal m defineres ækvivalensrelationen a er kongruent med b modulo m a b (mod m) m (a b) Herved dannes m ækvivalensklasser Z m = {[0] m,..., [m 1] m }, [n] m = {n + qm q Z}... 4 0 4...... 1 3... Z 4... 3 1...... 2 2... Klassedelingen harmonerer med addition og multiplikation, [a] m + [b] m = [a + b] m, [a] m [b] m = [a b] m.

Restklasseringene modulo n Grupper og undergrupper Modulær division Den additive struktur af Z m Hvis m kan underforstås, skrives [n] m ofte blot [n] eller n, kanonisk repræsenteret af n mod m. + Z5 0 1 2 3 4 0 0 1 2 3 4 1 1 2 3 4 0 2 2 3 4 0 1 3 3 4 0 1 2 4 4 0 1 2 3 + Z6 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

Restklasseringene modulo n Grupper og undergrupper Modulær division Den additive struktur af Z m Hvis m kan underforstås, skrives [n] m ofte blot [n] eller n, kanonisk repræsenteret af n mod m. + Z5 0 1 2 3 4 0 0 1 2 3 4 1 1 2 3 4 0 2 2 3 4 0 1 3 3 4 0 1 2 4 4 0 1 2 3 + Z6 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 Ved addition og subtraktion af restklasser modulo m bruges de sædvanlige regneregler suppleret med m = 0: 3 + 3 6 1 (mod 5) 2 5 3 3 (mod 6)

Restklasseringene modulo n Grupper og undergrupper Modulær division Den additive struktur af Z m Hvis m kan underforstås, skrives [n] m ofte blot [n] eller n, kanonisk repræsenteret af n mod m. + Z5 0 1 2 3 4 0 0 1 2 3 4 1 1 2 3 4 0 2 2 3 4 0 1 3 3 4 0 1 2 4 4 0 1 2 3 + Z6 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 Ved addition og subtraktion af restklasser modulo m bruges de sædvanlige regneregler suppleret med m = 0: 3 + 3 6 1 (mod 5) 2 5 3 3 (mod 6) (Z m, +) danner en kommutiativ gruppe.

Restklasseringene modulo n Grupper og undergrupper Modulær division Den multiplikative struktur af Z m Z5 0 1 2 3 4 0 0 0 0 0 0 1 0 1 2 3 4 2 0 2 4 1 3 3 0 3 1 4 2 4 0 4 3 2 1 Z6 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

Restklasseringene modulo n Grupper og undergrupper Modulær division Den multiplikative struktur af Z m Z5 0 1 2 3 4 0 0 0 0 0 0 1 0 1 2 3 4 2 0 2 4 1 3 3 0 3 1 4 2 4 0 4 3 2 1 Z6 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 Et element a er regulært modulo m, hvis gcd(a, m) = 1. Det er ensbetydende med, at det er invertibelt, det vil sige der findes et b, så a b 1 (mod m), og med, at rækken {a b b Z m } er en permutation af Z m, og med, at kun a b 0 (mod m) for b 0 (mod m).

Restklasseringene modulo n Grupper og undergrupper Modulær division Den multiplikative struktur af Z m Z5 1 2 3 4 Z6 1 5 1 1 2 3 4 1 1 5 2 2 4 1 3 3 3 1 4 2 4 4 3 2 1 5 5 1 Et element a er regulært modulo m, hvis gcd(a, m) = 1. Det er ensbetydende med, at det er invertibelt, det vil sige der findes et b, så a b 1 (mod m), og med, at rækken {a b b Z m } er en permutation af Z m, og med, at kun a b 0 (mod m) for b 0 (mod m). De regulære elementer danner en kommutativ gruppe (Z m, ).

Eulers totientfunktion Restklasseringene modulo n Grupper og undergrupper Modulær division Z m kaldes φ(m) (Eulers φ-funktion eller totientfunktion). φ(m) is the number of invertible residue classes modulo m. φ(m) is the number of residue classes modulo m mutually prime to m. φ(m) is the number of 1 s in the multiplication table of Z m. For mutually different primes p 1,..., p k and positive integer exponents e 1,..., e k, φ( k i=1 pe i i ) = k i=1 pe i 1 i (p i 1) φ(m) = m p prime divisor of m (1 1 p ) As a special case, it is convenient to define φ(1) = 1.

Eulers totientfunktion Restklasseringene modulo n Grupper og undergrupper Modulær division Z m kaldes φ(m) (Eulers φ-funktion eller totientfunktion). φ(m) is the number of invertible residue classes modulo m. φ(m) is the number of residue classes modulo m mutually prime to m. φ(m) is the number of 1 s in the multiplication table of Z m. For mutually different primes p 1,..., p k and positive integer exponents e 1,..., e k, φ( k i=1 pe i i ) = k i=1 pe i 1 i (p i 1) φ(m) = m p prime divisor of m (1 1 p ) As a special case, it is convenient to define φ(1) = 1. m 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 φ(m) 1 1 2 2 4 2 6 4 6 4 10 4 12 6 8 8 16 6 18 8

Eulers totientfunktion Restklasseringene modulo n Grupper og undergrupper Modulær division Z m kaldes φ(m) (Eulers φ-funktion eller totientfunktion). φ(m) is the number of invertible residue classes modulo m. φ(m) is the number of residue classes modulo m mutually prime to m. φ(m) is the number of 1 s in the multiplication table of Z m. For mutually different primes p 1,..., p k and positive integer exponents e 1,..., e k, φ( k i=1 pe i i ) = k i=1 pe i 1 i (p i 1) φ(m) = m p prime divisor of m (1 1 p ) As a special case, it is convenient to define φ(1) = 1. m 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 φ(m) 1 1 2 2 4 2 6 4 6 4 10 4 12 6 8 8 16 6 18 8 Facts: φ is multiplicative: gcd(a, b) = 1 φ(ab) = φ(a)φ(b). For all n, n = d n φ(d).

Algebraiske strukturer Restklasseringene modulo n Grupper og undergrupper Modulær division (S, ) er en gruppe: a b S a (b c) = (a b) c a 0 = a a : a ( a) = 0

Algebraiske strukturer Restklasseringene modulo n Grupper og undergrupper Modulær division (S, ) er en kommutativ gruppe: a b S a (b c) = (a b) c a 0 = a a : a ( a) = 0 a b = b a

Algebraiske strukturer Restklasseringene modulo n Grupper og undergrupper Modulær division (S,, ) er en ring: a b S a b S a (b c) = (a b) c a (b c) = (a b) c a 0 = a a 1 = 1 a = a a : a ( a) = 0 a b = b a a (b c) = (a b) (a c) (b c) a = (b a) (c a)

Algebraiske strukturer Restklasseringene modulo n Grupper og undergrupper Modulær division (S,, ) er en kommutativ ring: a b S a b S a (b c) = (a b) c a (b c) = (a b) c a 0 = a a 1 = a a : a ( a) = 0 a b = b a a b = b a a (b c) = (a b) (a c)

Algebraiske strukturer Restklasseringene modulo n Grupper og undergrupper Modulær division (S,, ) er en kommutativ ring, hvori nulreglen gælder: a b S a b S a (b c) = (a b) c a (b c) = (a b) c a 0 = a a 1 = a a : a ( a) = 0 a b = b a a b = b a a (b c) = (a b) (a c) Nulreglen: a b = 0 a = 0 b = 0

Algebraiske strukturer Restklasseringene modulo n Grupper og undergrupper Modulær division (S,, ) er et legeme: a b S a b S a (b c) = (a b) c a (b c) = (a b) c a 0 = a a 1 = a a : a ( a) = 0 a 0 a 1 : a a 1 = 1 a b = b a a (b c) = (a b) (a c) (b c) a = (b a) (c a) (I et legeme gælder nulreglen.)

Algebraiske strukturer Restklasseringene modulo n Grupper og undergrupper Modulær division (S,, ) er et kommutativt legeme: a b S a b S a (b c) = (a b) c a (b c) = (a b) c a 0 = a a 1 = a a : a ( a) = 0 a 0 a 1 : a a 1 = 1 a b = b a a b = b a a (b c) = (a b) (a c) (I et legeme gælder nulreglen.)

Algebraiske strukturer Restklasseringene modulo n Grupper og undergrupper Modulær division (S,, ) er et kommutativt legeme: a b S a b S a (b c) = (a b) c a (b c) = (a b) c a 0 = a a 1 = a a : a ( a) = 0 a 0 a 1 : a a 1 = 1 a b = b a a b = b a a (b c) = (a b) (a c) (I et legeme gælder nulreglen.) (Z, +, ) er en kommutativ ring, hvori nulreglen gælder (et integritetsområde). (Z m, +, ) er en kommutativ ring. (Z m, ) er en kommutativ gruppe.

Undergruppe Restklasseringene modulo n Grupper og undergrupper Modulær division En delmængde S S af en gruppe (S, ) kaldes en undergruppe, hvis også (S, ) er en gruppe. Sætning 31.14 S og a ( b) S for alle a, b S er tilstrækkeligt.

Undergruppe Restklasseringene modulo n Grupper og undergrupper Modulær division En delmængde S S af en gruppe (S, ) kaldes en undergruppe, hvis også (S, ) er en gruppe. Sætning 31.14 S og a ( b) S for alle a, b S er tilstrækkeligt. Bevis: Opgave 31.3-2. Bemærk: trykfejl i bogen. Hvis S S er en ægte delmængde, kaldes (S, ) en ægte undergruppe. Enhver gruppe (S, ) har den trivielle undergruppe ({0}, ) og den uægte undergruppe (S, ) selv. Lagranges sætning For en undergruppe S af en endelig gruppe (S, ) vil S S. For en ægte undergruppe S vil S S 2.

Restklasseringene modulo n Grupper og undergrupper Modulær division Gentagen komposition ( potenser i en gruppe) For et element a af en gruppe (S, ) og et helt tal n defineres } a a {{... a } for n > 0 n na = 0 for n = 0 ( n)( a) for n < 0 (I multiplikativ notation: a n.)

Restklasseringene modulo n Grupper og undergrupper Modulær division Gentagen komposition ( potenser i en gruppe) For et element a af en gruppe (S, ) og et helt tal n defineres } a a {{... a } for n > 0 n na = 0 for n = 0 ( n)( a) for n < 0 (I multiplikativ notation: a n.) De sædvanlige regneregler pa qa = (p + q)a og q(pa) = (pq)a kan vises at gælde. (I multiplikativ notation: a p a q = a p+q og (a p ) q = a pq.)

Frembringere Restklasseringene modulo n Grupper og undergrupper Modulær division Den mindste undergruppe, som indeholder en delmængde A S, siges at være frembragt af denne delmængde. Specielt kan man for et enkelt element a S tale om undergruppen a frembragt af a (det vil sige af singletonmængden {a}). Det er klart, at a = {na n Z}. Hvis a = S, kaldes a en frembringer for S. En gruppe, der har en frembringer, siges at være cyklisk.

Frembringere Restklasseringene modulo n Grupper og undergrupper Modulær division Den mindste undergruppe, som indeholder en delmængde A S, siges at være frembragt af denne delmængde. Specielt kan man for et enkelt element a S tale om undergruppen a frembragt af a (det vil sige af singletonmængden {a}). Det er klart, at a = {na n Z}. Hvis a = S, kaldes a en frembringer for S. En gruppe, der har en frembringer, siges at være cyklisk. En frembringer for (Z m, ) kaldes også en primitiv rod. Example I (Z 7, ) vil 2 = {1, 2, 4}, ord(2) = 3, og 3 = {1, 3, 2, 6, 4, 5}, ord(3) = 6. 3 er en primitiv rod modulo 7 (men 2 er det ikke).

Orden Restklasseringene modulo n Grupper og undergrupper Modulær division Et gruppeelements orden er det mindste antal gange, det skal komponeres med sig selv for at danne neutralelementet: min{k > 0 ka = 0} hvis der findes et k N 1, ord(a) = for hvilket ka = 0 hvis ka = 0 k = 0 (I multiplikativ notation: a k = 1.) Fakta ord(a) = a. Sekvensen..., ( 1)a, 0, a, 2a,... er periodisk med periode ord(a). For ethvert element a af en endelig gruppe (S, ) vil S a = 0.

Restklasseringene modulo n Grupper og undergrupper Modulær division Specialtilfældet de regulære restklasser Sætning 31.32 De værdier af n > 1, for hvilke Z n er cyklisk, er 2, 4, p e og 2p e, for ulige primtal p og positive heltal e. Eulers sætning For n > 1, a Z n, vil a φ(n) 1 (mod n).

Restklasseringene modulo n Grupper og undergrupper Modulær division Specialtilfældet de regulære restklasser Sætning 31.32 De værdier af n > 1, for hvilke Z n er cyklisk, er 2, 4, p e og 2p e, for ulige primtal p og positive heltal e. Eulers sætning For n > 1, a Z n, vil a φ(n) 1 (mod n). Bevis: φ(n) = Z n Fermats lille sætning a p a (mod p) for alle primtal p og hele tal a.

Restklasseringene modulo n Grupper og undergrupper Modulær division Specialtilfældet de regulære restklasser Sætning 31.32 De værdier af n > 1, for hvilke Z n er cyklisk, er 2, 4, p e og 2p e, for ulige primtal p og positive heltal e. Eulers sætning For n > 1, a Z n, vil a φ(n) 1 (mod n). Bevis: φ(n) = Z n Fermats lille sætning a p a (mod p) for alle primtal p og hele tal a. Bevis: Trivielt for p a og en følge af Eulers sætning for p a

Den modulære førstegradsligning Restklasseringene modulo n Grupper og undergrupper Modulær division For m N 1 og a, b Z m søges x Z m, så ax b (mod m). Theorem (Solving a Linear Equation Modulo m) Let d = gcd(a, m). Then 1 If d b there are no solutions. 2 If d b, the equation has d solutions (equivalent modulo m d ).

Den modulære førstegradsligning Restklasseringene modulo n Grupper og undergrupper Modulær division For m N 1 og a, b Z m søges x Z m, så ax b (mod m). Theorem (Solving a Linear Equation Modulo m) Let d = gcd(a, m). Then 1 If d b there are no solutions. 2 If d b, the equation has d solutions (equivalent modulo m d ). Proof: If x is a solution, all solutions will be {x + i m d 0 i < d}, because ax 1 ax 2 (mod m) m a(x 1 x 2 ) m d a d (x 1 x 2 ) m d (x 1 x 2 ) x 1 x 2 (mod m d ), since integers a d and m d are mutually prime. ax b (mod m) means q(b ax = qm), or xa + qm = b. 1: d divides left hand side. 2: rewrite as x a d + q m d = b d. Find s, t (extended Euclid) such that s a d + t m d = 1; choose x = s b d

Inverst element Restklasseringene modulo n Grupper og undergrupper Modulær division ax 1 (mod m), gcd(a, m) = 1, compute x = a 1 (mod m). Four Methods : Try all possibilities x = 1, 2, 3,..., m 1. Find s, t, 0 < s < m, such that sa + tm = 1: let val (s,_,d) = egcd (a,m) in if d > 1 then raise Fail "unsolvable" else if s < 0 then s+m else s end (r0,r1,s0,s1) := (m,a,0,1); while (r1 > 0) {q := r0 div r1; (r0,r1,s0,s1) := (r1,r0-q*r1,s1,s0-q*s1);} if r0 > 1 return "unsolvable"; return if s0 < 0 then s0+m else s0; x := a φ(m) 1