Endelige grupper Teorem 10 (Z n, + n ) er en endelig abelsk gruppe. En gruppe er en mengde S sammen med en binær operasjon definert på S, betegnes (S, ), med følgende egenskaper: 1. a, b S, a b S 2. det finnes et element e S slik at e a = a e = a for hvert a S 3. for alle a, b, c S, a (b c) =(a b) c 4. for hvert element a S finnes et entydig element b S slik at a b = b a = e Hvis, i tilleg, operasjon er kommutativ, dvs a b = b a, da kalles (S, ) kommutativ eller abelsk gruppe. Hvis (S, ) er en gruppe og S er en endelig mengde da kalles (S, ) en endelig gruppe. 8. november 2005 c Vladimir Oleshchuk 34 Siden (Z n, + n ) er en gruppe, additiv invers alltid eksisterer, d.v.s., vi kan trekke fra elementer i Z n. For eksempel, (a b)modn =(a +( b)) mod n =(a +(n b)) mod n. Vi beregner (11 18) mod 31 som (11 + ( 18)) mod 31 = (11 + (31 18)) mod 31 = (11 + 13) mod 31 = 24 mod 31 På den andre siden kunne vi også haberegnet (11 18) mod 31 = ( 7) mod 31 = (31 7) mod 31 = 24 mod 31 8. november 2005 c Vladimir Oleshchuk 35 Eksempel: ikke gruppe Fra tabellen som presenterer operasjoner i (Z 7, 7) kan vi se at 0 ikke har noe invers element siden 0 7 a = a 7 0=06= 1. + 7 0 1 2 3 4 5 6 0 0 1 2 3 4 5 6 1 1 2 3 4 5 6 0 2 2 3 4 5 6 0 1 3 3 4 5 6 0 1 2 4 4 5 6 0 1 2 3 5 5 6 0 1 2 3 4 6 6 0 1 2 3 4 5 7 0 1 2 3 4 5 6 0 0 0 0 0 0 0 0 1 0 1 2 3 4 5 6 2 0 2 4 6 1 3 5 3 0 3 6 2 5 1 4 4 0 4 1 5 2 6 3 5 0 5 3 1 6 4 2 6 0 6 5 4 3 2 1 Derfor kan vi konkludere at (Z 7, 7) ikkeergruppe. På samme grunnlagg kan vi si at (Z, ), (Q, ) og(r, ) ikke er grupper. 8. november 2005 c Vladimir Oleshchuk 36 Z n betegner mengden av alle elementer fra Z n som er innbyrdes primiske til n : Z n = {[a] n [a] n Z n og gcd (a, n) =1} F.eks.: Z 7 = {1, 2,...,6}, Z 12 = {1, 5, 7, 11}og Z p = {1, 2,...,p 1} hvor p er et primtall. Teorem 11 (Z n, ) er en endelig abelsk gruppe. Gruppen (Z n, ) kallesenmultiplikativ gruppe modulo n. 8. november 2005 c Vladimir Oleshchuk 37
Eksempel: multiplikativ gruppe Euler s φ-funksjon Følgende tabell beskriver multiplikasjon i multiplikativ gruppe ³ Z 12,. 12 1 5 7 11 1 1 5 7 11 5 5 1 11 7 7 7 11 1 5 11 11 7 5 1 Systemet (Z n, n) er en endelig gruppe. Antall elementer i (Z n, n) er lik antall elementer i mengden {1, 2,...,n 1} som er innbyrdes primiske med n. Vi kan observere at Z p = p 1hvisp er et primtall. Generelt skal vi skrive at Z n = φ (n), hvor φ (n) betegner antall positive helltall som er mindre enn n og som er innbyrdes primiske med n. Derfor φ (p) =p 1, hvis p er et primtall. 8. november 2005 c Vladimir Oleshchuk 38 8. november 2005 c Vladimir Oleshchuk 39 Eksempel: Euler s φ-funksjon Eksempel: Shift Siffer Slik φ (n) funksjonen kalles Euler s φ-funksjon og er definert for alle helltall n 1, dvs φ : Z + Z + Euler s φ-funksjon defineres for hvert helltall n 1 slik at φ (n) erlik antall positive helltall som er mindre enn n og som er innbyrdes primiske med n. Eksempler av φ (n) forn =1, 2, 3,...,15: φ (1) = 1 φ (2) = 1 φ (3) = 2 φ (4) = 2 φ (5) = 4 φ (6) = 2 φ (7) = 6 φ (8) = 4 φ (9) = 6 φ (10) = 4 φ (11) = 10 φ (12) = 4 φ (13) = 12 φ (14) = 6 φ (15) = 8 8. november 2005 c Vladimir Oleshchuk 40 Eksempel 6 Shift Siffer. La oss definere Shift Siffer over Z 26 (siden den engelske alfabetet har 26 bokstaver). Krypteringsfunksjonen skal være Dekrypteringsfunksjonen blir e K (x) =x + K mod 26,x Z 26 d K (y) =y K mod 26,y Z 26 Det er enkelt åseatd K (e K (x)) = x for hver x Z 26. For å kryptere engelsk tekst skal vi først definere en korespondanse mellom bokstaver og tall fra Z 26. For K=3 cypher kalles Ceasar Cypher og ble brukt av Julius Ceasar. 8. november 2005 c Vladimir Oleshchuk 41
For eksempel, kan være som følgende: A 0, B 1,...,Z 25. Dette er gitt i tabelen: A B C D E F G H I J K L M 0 1 2 3 4 5 6 7 8 9 10 11 12 N O P Q R S T U V W X Y Z 13 14 15 16 17 18 19 20 21 22 23 24 25 Hvis K = 12 svarer ordet MATEMATIKK til 1201941201981010 og den krypterte teksten med K = 12 blir 24 12 5 16 24 12 5 20 22 22 som tilsvarer ordet YMFQYMFUWW. Eksempel 7 Affine Siffer Eksempel: Affine Siffer Vi definerer såkalt Affine Siffer over Z 26. Krypteringsfunksjonen blir e K (x) =(ax + b)mod26, a,b Z 26 og dekryptering betyr å finne x fra y ax + b (mod 26). Det betyr at vi bør kunne finne løsningen av en slik ligning eller ax y b (mod 26). Vi skal se at en slik løsning finnes hvis gcd (a, 26) = 1. 8. november 2005 c Vladimir Oleshchuk 42 8. november 2005 c Vladimir Oleshchuk 43 Teorem 12 Kongruens ax b (mod n) har en entydig løsningen for hver b Z n hvis og bare hvis gcd(a, n) =1. Definition 3 Anta at a Z n. Multiplikativ invers til a, betegnes med ³ a 1 mod n,ogeretelementa 1 Z n slik at aa 1 a 1 a 1(modn). Beregning av multiplikativ invers i Z n Eksempel 8 Hvordan kan vi fine multiplikativ invers? Hvis gcd(a, b) =1,så ax + by =1.Fra For eksempel, 5 1 mod 13 = 8 fordi 5 8 1(mod13). Da kan vi definere divisjon i Z n som a/b a b 1 (mod n). og følger at (ax + by)modb =1modb (ax + by)modb = ax mod b + by mod b = ax mod b ax mod b =1modb 8. november 2005 c Vladimir Oleshchuk 44 Derfor x = a 1. Vi kan finne slik x ved hjelp av utvidet-euclid. 8. november 2005 c Vladimir Oleshchuk 45
Oppgave 1 Beregn 28 1 mod 75. Ved hjelp av utvidet Euklides algoritmen skal vi finne x, y slike at gcd(28, 75) = 28x +75y =1. a b ba/bc d x y 28 75 0 1 8 3 75 28 2 1 3-8 28 19 1 1-2 3 19 9 2 1 1-2 9 1 9 1 0 1 1 0-1 1 0 Vi har at gcd(28, 75) = 28 ( 8) + 75 3=1. Derfor 28 1 mod 75 = 8mod75=(75 8) mod 75 = 67. Kinesisk restledd teorem: introduksjon Ca. a.d.100, ble løsningen av følgende problemet ble beskrevet av kinesisk matematiker Sun-Tsû: Finn heltall x som gir rester 2, 3 og 2 når x deles med 3, 5 og 7 tilsvarende. Formelt skal vi finne x slik at x 2(mod3) x 3(mod5) x 2(mod7) En av mulige løsninger er x =23, og, generelt, x = 23 + 105k, k Z. 8. november 2005 c Vladimir Oleshchuk 46 8. november 2005 c Vladimir Oleshchuk 47 Generell formulering: Kinesisk restledd teorem Ideen: Anta at n 1,n 2,...,n t er parvis innbyrdes primiske tall, d.v.s. gcd(n i,n j )= 1når i 6= j. Anta at a 1,a 2,...,a t er heltall. Vi skal betrakte følgende system av kongruenser: x a 1 (mod n 1 ) x a 2 (mod n 2 ). x a t (mod n t ) 8. november 2005 c Vladimir Oleshchuk 48 Kinesisk restledd teoremet sier at det finnes unik løsning modulo n = n 1 n 2... n t. Vi skal studere funksjon π : Z n Z n1 Z n2... Z nt som defineres på følgende måte: π (x) =(x mod n 1,...xmod n t ) Observasjon: Hvis x er en løsning så π (x) =(a 1,a 2,...,a t ) Eksempel 9 Anta at t =2,n 1 =4,n 2 =3, og n =12. Da funksjonen π skal være som følgende: π(0) = (0, 0) π(1) = (1, 1) π (2) = (2, 2) π (3) = (3, 0) π(4) = (0, 1) π(5) = (1, 2) π (6) = (2, 0) π (7) = (3, 1) π(8) = (0, 2) π(9) = (1, 0) π (10) = (2, 1) π (11) = (3, 2) 8. november 2005 c Vladimir Oleshchuk 49
Ideen (fort.) Anta at n = n 1 n 2... n t,hvorn 1,n 2,...,n t er innbyrdes primiske tall.vi skal se på sammenheng a (a 1,a 2,...,a t ), hvor a Z n, a i Z ni og a i = a mod n i, i =1, 2,...,t. Vi kan beregne (a 1,a 2,...,a t )fraa ved hjelp av t divisjoner. Å løse systemet av kongruenser betyr å finne a fra (a 1,a 2,..., a t ). Vi skal definere m i og y i for i =1, 2,...,t på følgende måte: m i = n/n i, d.v.s. m i =(n 1 n 2 n t ) /n i = n 1 n 2 n i 1 n i+1 n t, Derfor m j 0(modn i ),j6= i og gcd (m i,n i )=1. y i = m 1 i mod n i hvor invers eksisterer siden gcd (m i,n i )=1. Lett åseat m i y i 1(modn i )og m j y j 0(modn i ),j6= i 8. november 2005 c Vladimir Oleshchuk 50 8. november 2005 c Vladimir Oleshchuk 51 Vi velger a som Fra forrige har at a (a 1 m 1 y 1 + a 2 m 2 y 2 + + a t m t y t )modn Vi skal vise at slik a er løsningen for systemet av kongruenser som betyr at a a i mod n i for alle i =1, 2,...,t. Siden n i n,harviat Derfor hvis så hvis a b mod n, så a b mod n i a (a 1 m 1 y 1 + a 2 m 2 y 2 + + a t m t y t )modn, a (a 1 m 1 y 1 + a 2 m 2 y 2 + + a t m t y t )modn i. 8. november 2005 c Vladimir Oleshchuk 52 a i m i y i a i (mod n i )og a j m j y j 0(modn i )hvisj 6= i. Derfor har vi at a (a 1 m 1 y 1 + a 2 m 2 y 2 + + a t m t y t )(modn i ) a i m i y i (mod n i ) a i (mod n i ) Siden det er sant for alle i =1, 2,...,t,daa er løsningen av systemet av ligninger. 8. november 2005 c Vladimir Oleshchuk 53
For åbeviseatπ : Z n Z n1 Z n2... Z nt er bijektiv skal vi vise at π er både injektiv og surjektiv. Ved å gi formulen for å beregne a viser vi kan finne verdi av a for alle elementer Z n1 Z n2... Z nt som betyr at π er en surjektiv funksjon. Teorem 13 Anta at n 1,n 2,...,n t er positive positive innbyrdes primiske tall og la a 1,a 2,...,a t være heltall. Systemet av t kongruenser x a 1 (mod n 1 ) x a 2 (mod n 2 ). x a t (mod n t ) Men siden n = Z n = Z n1 Z n2... Z nt = n 1 n 2... n t da π også er injektiv og, derfor, bijektiv. Den inverse funksjonen til π er π 1 (a 1,a 2,...,a t )=(a 1 m 1 y 1 + a 2 m 2 y 2 + + a t m t y t )modn tx ³ = a k m k m 1 k mod n k mod n k=1 har en unik løsning x modulo n = n 1 n 2... n t som er lik tx ³ x = a k m k m 1 k mod n k mod n k=1 hvor m i = n/n i for i =1, 2,...,t. 8. november 2005 c Vladimir Oleshchuk 54 8. november 2005 c Vladimir Oleshchuk 55 Eksempel 10 Anta at t =3, n 1 =5,n 2 =7,n 3 =8. Vi skal løse følgende systemet: x 3(mod5) x 4(mod7) x 6(mod8) Først finer vi at n =280, m 1 =56, m 2 =40, m 3 =35og m 1 1 mod n 1 =56 1 mod 5 = 1 mod 5 = 1 m 1 2 mod n 2 =40 1 mod 7 = 3 mod 7 = 3 m 1 3 mod n 3 =35 1 mod 8 = 3 mod 8 = 3 ³ x =(3 m 1 m 1 1 mod 5 ³ +4 m 2 m 1 2 mod 7 ³ +6 m 3 m 1 3 mod 8 )mod280 =3 56 1+4 40 3+6 35 3 (mod 280) 8. november 2005 c Vladimir Oleshchuk 56 = 168 + 480 + 630 (mod 280) = 1278 (mod 280) =158. Vi kan se at 158 er løsningen: 158 3(mod5) 158 4(mod7) 158 6(mod8) 8. november 2005 c Vladimir Oleshchuk 57
Følgende teoremet kan brukes for å konstruere mer effektive algoritmer for modulær aritmetikk. Korolar 5 Hvis n 1,n 2,..., n t er positive parvis innbyrdes primiske tall og n = n 1 n 2... n t,så for alle heltall x og a Teorem 14 Anta at n 1,n 2,..., n t er positive parvis innbyrdes primiske tall, n = n 1 n 2... n t og la a 1,a 2,...,a t være helletall. Det finnes en-til-en relasjon a (a 1,a 2,...,a t ), hvor a Z n og a i Z ni og a i = a mod n i for i =1, 2,...,t.Hvis hvis og bare hvis x a (mod n i ),i=1, 2,...,t x a (mod n) a (a 1,a 2,...,a t ) b (b 1,b 2,...,b t ) så (a + b)modn ((a 1 + b 1 )modn 1,...,(a t + b t )modn t ) (a b)modn ((a 1 b 1 )modn 1,...,(a t b t )modn t ) (a b)modn ((a 1 b 1 )modn 1,..., (a t b t )modn t ) 8. november 2005 c Vladimir Oleshchuk 58 Proof. Hvis x a (mod n i ),i =1, 2,...,t,så, fra kinesisk restledd teoremetfølgeratdetfinnes unik løsningen modulo n. Fraandresidedet er enkelt åseata er løsningen for systemet av kongruenser. Derfor x = a mod n. Hvis x a (mod n), så x = n j+a.derforx mod n i =(n j + a)modn i = n j mod n i + a mod n i = a mod n i. Eller x a (mod n i ). 8. november 2005 c Vladimir Oleshchuk 59 Euler phi-funksjon Euler phi-funksjon. Euler s φ-funksjon defineres for hvert helltall n 1 slik at φ (n) betegner antall positive helltall som er mindre enn n og som er relativt primtall med n. Eksempel 11 La oss beregne φ (n) for n =1, 2, 3,...,15: φ (1) = 1 φ (2) = 1 φ (3) = 2 φ (4) = 2 φ (5) = 4 φ (6) = 2 φ (7) = 6 φ (8) = 4 φ (9) = 6 φ (10) = 4 φ (11) = 10 φ (12) = 4 φ (13) = 12 φ (14) = 6 φ (15) = 8 Hvis p er et primtall, så φ (p) =p 1. Teorem 15 Hvis n = pq er sammensatt tall og p og q er to primtall, så φ (n) =(p 1) (q 1). 8. november 2005 c Vladimir Oleshchuk 60 Euler phi-funksjon. Proof. La oss beregne antall tall i mengde S = {1, 2,...,pq 1} som er relativt prim med n. Siden p og q er primtall, da tall som ikke er relativt prim til n deles med enten p eller q. TallfraS som deles med p er følgende: S p = {p, 2p, 3p,..., (q 1)p} Tall fra S som deles med q er følgende: S q = {q, 2q, 3q,...,(p 1)q} Derfor antall tall som er mindre enn n og er relativt prim med n er lik: S S p S q =(pq 1) (q 1) (p 1) = pq 1 q +1 p +1 = pq p q +1=(p 1) (q 1) 8. november 2005 c Vladimir Oleshchuk 61
Euler phi-funksjon. Euler phi-funksjon. Eksempel 12 Finn φ(143). Generelt: Siden 143 = 11 13, da φ(143) = φ (11) φ (13) = 10 12 = 120. Teorem 16 Hvis p er et primtall og k > 0, så φ ³ p k = p k p k 1 = p k 1 (p 1). Proof. Vi skal beregne tall i mengde S = n 1, 2,...,p k 1 o som er mindre enn p k og er ikke relativt prim med p k. Dette er tall fra mengde S 0 = n p, 2p,..., ³ p k 1 1 p o.derforφ ³ p k = S S 0 = ³ p k 1 ³ p k 1 1 = p k p k 1. Teorem 18 For vilkårlig positiv heltall n φ (n) =n Q Ã 1 1! p n p hvor multiplikasjon går over alle primtalls divisorer p av n. Teorem 17 Hvis n, m er slike at gcd(n, m) =1,så φ (nm) =φ (n) φ (m). 8. november 2005 c Vladimir Oleshchuk 62 8. november 2005 c Vladimir Oleshchuk 63 Potensering elementer modulo n. Potensering elementer modulo n. Potensering elementer modulo n. Eksempel 14 Følgende tabell beskriver multiplikasjon i Z 15 : Z n = {a Z n gcd(a, n) =1}. Eksempel 13 Z 11 = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11}, Z 15 = {1, 2, 4, 7, 8, 11, 13, 14}. Vi kan observere at 0 / Z n,n>1 fordi gcd(0,n)=n. Z p = {1, 2,..., p 1} for hvert primtall p. Z n = φ (n). 1 2 4 7 8 11 13 14 1 1 2 4 7 8 11 13 14 2 2 4 8 14 1 7 8 13 4 4 8 1 13 2 14 7 11 7 7 14 13 4 13 2 1 8 8 8 1 2 11 4 13 14 7 11 11 7 14 2 13 1 8 4 13 13 11 7 1 14 8 4 2 14 14 13 11 8 7 4 2 1 Fra tabellen kan vi si at hver tall fra her multiplikativ invers (siden 1 fins i hver rad i tabellen). Den andre konklusjon er at Z 15 er lukket under multiplikasjon modulo n. 8. november 2005 c Vladimir Oleshchuk 64 8. november 2005 c Vladimir Oleshchuk 65
Potensering elementer modulo n. Teorem 19 (Euler) For hvert heltall n>1 kryptosystemet (Rivest, Shamir, Adleman) for alle a Z n. a φ(n) 1(modn) Teorem 20 (Fermat)Hvis p er et primtall, så for alle a Z p. a p 1 1(modp) Det siste teoremet anvendes til alle elementer fra Z p untatt 0, siden 0 / Z p. Men for alle a Z p har vi at a p a (mod p). 1. Velg to store random primtall p og q. 2. Beregn n = p q. 3. Velg mindre odde tall a somerrelativtprimtilφ (n), hvor φ (n) = (p 1) (q 1). 4. Beregn b som multiplikativ invers til a modulo φ(n), i.e. b a 1 mod φ (n). 5. Legg fram (a, n) som offentlig nøkkel. 6. Behold (b, n) som hemmelig nøkkel. 7. Kryptering funksjon defineres som e K (x) =x a (mod n) 8. dekrypteringsfunksjon defineres som d K (y) =y b (mod n) 8. november 2005 c Vladimir Oleshchuk 66 8. november 2005 c Vladimir Oleshchuk 67 La oss verifisere at kryptering og dekryptering er to inverse funksjoner. Derfor x ab x (mod p) forallex Z p. e K (d K (x)) = d K (e K (x)) = x ab mod n Siden ab 1(modφ (n)), da ab = kφ (n)+1=k (p 1) (q 1) + 1. Hvis x 6 0(mod p), så x mod p er fra Z p og På samme måte kan vi vise at x ab x (mod q) for alle x Z q. Vi har fått at ( x ab x(mod p) x ab x(mod q) x ab x kφ(n)+1 (mod p) x k(p 1)(q 1) x (mod p) x ³ x (p 1) k(q 1) (mod p) x (1) k(q 1) (mod n) x (mod p) Hvis x 0(mod p), så x ab x(mod p). eller som er ekvivalent ( x ab 1 1(mod p) x ab 1 1(mod q) Etter at vi betegner x ab 1 som y for vi ( y 1(mod p) y 1(mod q) 8. november 2005 c Vladimir Oleshchuk 68 8. november 2005 c Vladimir Oleshchuk 69
Siden p og q er primtall da systemet har unik løsningen Eksempel 15 Anta at bruker A velger p = 101 og q =113. eller y 1modn x ab x(mod n) Da og n = pq = 11413 φ (n) =100 112 = 11200 = 2 6 5 2 7. Velger a som deles ikke med 2, 5 eller 7. Anta at A velger a = 3533. Ved hjelp av Utvidet Euklides algoritmen finner vi at b = a 1 = 6597 mod 11200 8. november 2005 c Vladimir Oleshchuk 70 8. november 2005 c Vladimir Oleshchuk 71 Apubliserer n = 11413 og a =3533. Nå hvisbrukerb vil sende tall 9726 til A han beregner 9726 3533 mod 11413 = 5761 og sender 5761. Når A mottar 5761, da han dekrypterer det på følgendmåte: 5761 6597 mod 11413 = 9726. 8. november 2005 c Vladimir Oleshchuk 72