Några satser ur talteorin LCB 997/2000 Fermats, Eulers och Wilsons satser Vi skall studera några klassiska satser i talteori, vilka är av betydelse bland annat i kodningsteknik och kryptoteknik. De kan med fördel formuleras som satser om räkning i ringen Z n av heltal modulo n. Vi erinrar om att Z n är en kropp precis när n är ett primtal. Den första satsen kallas ibland Fermats lilla sats. SATS. (FERMAT) Låt p vara ett primtal. Om a Z p och a 0 är a p BEVIS. Vi betecknar med Z p de inverterbara elementen i Z p, dvs. alla element i Z p utom 0. Fiera a Z p och betrakta funktionen Z p a Z p Eftersom y a a y är denna funktion bijektiv. Detta innebär att om,..., p är samtliga element i Z p så utgör a,..., a p en permutation av dessa. Därmed är p i p a i p p Här kan höger led skrivas om till a i. Multiplikation med i därför att p a Beviset är klart. ger Fermats sats innebär att om p är ett primtal och a ett heltal med 0 a p så är a p mod p Härav följer lätt: FÖLJDSATS. Om p är ett primtal så är för varje heltal a a p a mod p Beviset lämnas som övning. Satsen skall noga skiljas från det i mer än 300 år obevisade påstående som kallas Fermats stora sats eller Fermats sista sats och som gör gällande att ekvationen n y n n då n 3 inte har några positiva heltalslösningar. Fermat dog 665 och satsen bevisades av Wiles omkring 995.
Eempel. Det följer direkt av Fermats lilla sats att 8 0 mod 9 22 mod 23 4 3 4 mod 3 Eempel 2. Beräkna den minsta positiva resten då 3 350 divideras med 7. Lösning: 7 är ett primtal. Av Fermats sats får vi att (modulo 7) 3 350 3 2 6 4 3 6 2 3 4 2 3 4 3 4 Men modulo 7 är 3 4 9 7 9 8 3 9 4 3 9 4 Den sökta resten är således lika med 2. Om a minsta positiva heltalet sådant att 6 36 36 2 0 är ett element i Z p (med p primtal) så betecknar vi med o a det a Detta tal kallas ordningen av a i Z p. Fermats sats visar att ordningen är högst lika med p. Vi skall se att man kan säga mera. SATS 2. Låt p vara ett primtal och a att a m. Då gäller att 0 ett element i Z p. Antag att o a k och k m BEVIS. Enligt divisionsalgoritmen finns heltal q och r så att m qk r och 0 r k Vi skall visa att resten r är lika med noll. Av förutsättningarna om m och k följer att a m a qk r a k q a r a r a r Men enligt definitionen är k o a det minsta positiva med a. Eftersom 0 r k är således enda möjligheten att r 0. Vi är klara. Kombinerar vi sats 2 med Fermats sats får vi nästa sats. SATS 3. Låt p vara ett primtal och a 0 ett element i Z p. Då gäller att o a p BEVIS. Enligt sats är a p. Resultatet följer därför direkt av sats 2. 2
DEFINITION. Om o a p kallas a ett i Z p. Eempel 3. Visa att 5 är ett primitivt element i Z 73. Lösning: Alla element (och speciellt 5) i Z 73 har enligt sats 3 en ordning som delar talet 73 72 2 3 3 2 Alla delare till 72 kan skrivas 2 k 3 l med 0 k 3, 0 l 2. Vi måste alltså övertyga oss om att 5 2 k 3 l om k 3 eller l 2. Det räcker därvid att bestämma 5 för 72 2 36 och 72 3 24. Om inget av dessa element är så följer att 5 för alla äkta delare till 72, och vi är färdiga. De följande räkningarna är alla modulo 73. 5 2 25 5 3 25 52 2 5 6 2 2 44 3 5 2 9 5 24 8 8 5 36 9 8 72 Vi ser att 5 24 och 5 36 i Z 73. Således är 5 primitivt i Z 73. Som en kontroll av räkningarna utför vi ytterligare en kvadrering och finner att 5 72, i överensstämmelse med Fermats sats. Anmärkning. Betrakta de 72 potenserna 5 5 2 5 3 5 72 i Z 73. De är alla olika, ty av 5 5 y med till eempel y följer att 5 y och därför att 72 y, vilket är omöjligt. Alla element utom 0 i Z 73 kan följaktligen skrivas som en potens av det primitiva elementet 5. Man kan visa att det finns ett primitivt element i Z p för varje primtal p. Det finns emellertid ingen känd enkel metod att finna ett sådant, ett faktum som är av intresse i vissa tillämpningar. Vi skall nu generalisera Fermats sats till Z n med godtyckligt n. Vi erinrar om att antalet inverterbara element i Z n är φ n, där φ är Eulers φ-funktion. Observera också att om a och b är inverterbara element i Z n så är ab inverterbart (med inversen b a ). SATS 4. (EULER) Antag att a är inverterbart i Z n. Då är a φ n 3
Eftersom φ p p då p är primtal är tydligen Fermats sats ett specialfall av Eulers. BEVIS. Beteckna de inverterbara elementen i Z n med,..., φ för Fermats sats (genomför själv detaljerna) får man att φ n i φ n a i a φ n φ n i Genom multiplikation med inversen till φ n i får man att a φ n n. Som i beviset Man kan på samma sätt som ovan införa begreppet ordning för ett inverterbart element i Z n. Vi betraktar nu åter Z p med p primtal. Som en förberedelse för Wilsons sats skall vi undersöka vilka element i Z p som är sin egen multiplikativa invers. Det är klart att och p har denna egenskap. Antag att a a i Z p. Då följer genom multiplikation med a att a 2. Alltså har vi a 2 0 dvs. a a 0 Men Z p är en kropp, alltså nolldelarfri, varför a 0 eller a 0 vilket ger a respektive a p. De enda elementen i Z p som är sin egen invers är följaktligen och p. Betrakta nu produkten av alla inverterbara element (dvs. alla element utom 0) i Z p : 2 3 p För alla faktorer utom den första och den sista uppträder inversen som en annan faktor i produkten. Då aa är denna produkt följaktligen lika med p p Detta är Wilsons sats. Den kan också formuleras: SATS 5. (WILSON) Om p är ett primtal är p! mod p Satsen kan vändas: om p! mod p är p ett primtal. Beviset för detta lämnar vi som övning. 4
Eempel 4. Vi avslutar med att beskriva en tillämpning från kryptologin, nämligen det så kallade RSA-systemet. Antag att vi är mottagare av ett stort antal meddelanden från olika avsändare, och att vi inte vill att obehöriga skall kunna läsa dessa och därför önskar att de skall sändas krypterade. Ett tänkbart sätt att lösa detta problem är följande. Välj två stora 2 skilda primtal p och q och sätt n pq Välj också ett stort tal d som saknar gemensam faktor med φ n p q Detta tal har en multiplikativ invers e i ringen Z p q, vilken kan beräknas med Euklides algoritm. Talen n och e publicerar vi öppet i telefonkatalogen tillsammans med anvisningar för hur de skall användas för kryptering. Talen p, q och d håller vi emellertid hemliga. Antag att alla meddelanden har formen av ett eller flera heltal mellan och n. En avsändare som vill sända ett dylikt tal, M säg, krypterar det genom att beräkna ett tal C som uppfyller C M e mod n Det är talet C som skickas till mottagaren (oss). När meddelandet C når oss måste vi dekryptera det. Det gör vi genom att ta fram det hemliga talet d och beräkna D C d mod n Om D är det minsta positiva talet med denna egenskap är nämligen D M. För att inse detta använder vi Eulers sats. I Z n är naturligtvis D C d M e d () M ed Men eftersom e är invers till d i Z p q ed r p q Då är (2) Enligt Eulers sats 3 är (3) ty p finns det ett heltal r så att M ed M r p q M M p q M p q mod n q φ n. Av (), (2) och (3) följer att D M mod n De angivna krypterings- och dekrypteringsalgoritmerna ger sålunda önskat resultat. 2 Med stora menas i detta sammanhang av storleksordning 0 00. 3 Här måste man anta att M är inverterbart i Z n. Påståendet är sant även annars, men man måste då återföra sig på Fermats sats. 5 r
En annan fråga är om en obehörig person kan forcera ett krypterat meddelande C enbart med hjälp av informationen e och n i telefonkatalogen. Detta torde nog kräva att han kan hitta faktorerna p och q i n. Problemet att faktorisera ett tal av den storleksordning det här är fråga om kräver emellertid (för närvarande) även på snabba datorer en tid i år av åtskilliga 0-potenser. Kinesiska restsatsen Eempel 5. Bestäm alla heltal som satisfierar 3 mod 23 33 mod 337 Lösning: De två villkoren innebär att kan skrivas 3 23n 33 337m med n och m heltal. Vi får efter omflyttning den diofantiska ekvationen 23n 337m 20 Användning av Euklides algoritm ger 337 3 23 32 23 4 32 5 32 6 5 2 5 2 2 2 2 vilket visar att 337 23. Vi får vidare att 5 2 2 5 2 32 6 5 2 32 3 5 2 32 3 4 32 23 50 32 3 23 50 3 23 337 3 23 37 23 50 337 Multiplikation med 20 ger 20 2740 23 000 337 och vi ser att en lösning till den diofantiska ekvationen är n 2740, m 000. Den allmänna lösningen är n 2740 Därmed blir Detta kan förenklas till m 000 337p 23p 337033 445p p heltal. 5 425 4 45q q heltal. 6
I eempel 5 blir lösningen entydig modulo talet 23 337 445. Att detta inte är en tillfällighet visar nästa sats, som är känd under namnet Kinesiska restsatsen. SATS 6. Antag att talen m,..., m k är parvis relativt prima. Då har kongruenserna a mod m (4) a 2 mod m 2 a k mod m k en entydig lösning modulo talet m m m k. BEVIS. Sätt M i m m i j i m j i k För varje i är talen M i och m i relativt prima, varför det finns tal s i och t i så att s i M i t i m i Sätt k (5) a j s j M j a s M a k s k M k j Modulo m i är M j 0 om j i medan s i M i. Alltså är a i mod m i i k Vi har härmed visat att det verkligen finns en lösning till kongruenserna (4). Det återstår att visa entydigheten. Antag att både och löser (4). Speciellt är då mod m i i k Därför gäller att m i är parvis relativt prima. Således är mod m. för alla i, vilket medför att m, eftersom talen m i Beviset ger även en lösningsformel, nämligen (5), men vid handräkning med ett litet värde på k torde det vara enklare att göra som i eempel 5. Anmärkning. Sats 6 innebär att ringarna Z m och Z m Z m2 Z mk är isomorfa. Betrakta nämligen funktionen (6) Z m a a 2 a k Z m Z m2 Z mk som definieras via (4). Enligt satsen är den injektiv och surjektiv, alltså bijektiv, och det är inte svårt att inse att den är en homomorfi. Observera att förutsättningen att talen m,..., m k är parvis relativt prima är viktig; eempelvis är inte Z 4 och Z 2 Z 2 isomorfa. 7
Eempel 6. Kinesiska restsatsen används inom många tillämpningar. Vi ska här illustrera hur den leder till en metod för snabb aritmetik med stora heltal på dator. För att inte besväras av manuellt ohanterliga numeriska data ger vi ett miniatyreempel. Antag att man med en viss processor kan utföra aritmetiska beräkningar betydligt snabbare med heltal under 00 än med större heltal. Vi använder då kinesiska restsatsen (isomorfin (6)) för att representera större heltal med deras rester modulo ett lämpligt antal parvis relativt prima heltal under 00. Tag till eempel k 4 ovan och välj de fyra talen 99, 98, 97, 95. (Övning: kontrollera att dessa är parvis relativt prima.) Alla tal mellan 0 och 99 98 97 95 89403930 kan representeras som en fyrtipel i ringen Z 99 Z 98 Z 97 Z 95. Om vi till eempel vill beräkna summan y av talen 23684 y 43456 så börjar vi med att beräkna resterna av dessa tal vid division med de fyra modulerna. Vi får att så att 33 mod 99 8 mod 98 9 mod 97 89 mod 95 På samma sätt får vi y 33 8 9 89 32 92 42 6. Nu utför vi (snabb och parallell) addition i ringen Z 99 Z 98 Z 97 Z 95 : 33 8 9 89 32 92 42 6 65 2 5 0 (komponentvis addition). Den sökta summan ges tydligen av kongruenserna 65 mod 99 2 mod 98 5 mod 97 0 mod 95 Här använder man lämpligen formel (5). Talen M i och s i kan ju räknas ut i förväg en gång för alla. I vårt fall får man 65 37 903070 2 33 92285 5 24 92690 0 4 94094 3397886480 53740 mod 89403930 Svaret är entydigt bestämt om man från början vet att det inte överstiger 89 403 930. Det är bara i konverteringen på slutet som man måste använda aritmetik för stora tal. 8