Några satser ur talteorin ∏ ∏

LCB 1997/2000
Några satser ur talteorin
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 Zn av heltal modulo n. Vi erinrar om att Zn är en kropp precis när
n är ett primtal.
Den första satsen kallas ibland Fermats lilla sats.1
Z p och a 0 är
S ATS 1. (F ERMAT ) Låt p vara ett primtal. Om a
ap
1
1
B EVIS . Vi betecknar med Z p de inverterbara elementen i Z p , dvs. alla element i
Z p utom 0. Fixera a Z p och betrakta funktionen
Eftersom
Z p x ax
y ax
x a 1y
Zp är denna funktion bijektiv. Detta innebär att om x1 , . . . , x p 1 är samtliga element i
Z p så utgör ax1 , . . . , ax p 1 en permutation av dessa. Därmed är
∏ xi p 1
p 1
1
1
Här kan höger led skrivas om till a p därför att
1
∏
p 1
∏1
1 ap
axi xi . Multiplikation med ∏ xi 1
Fermats sats innebär att om p är ett primtal och a ett heltal med 0 a
1
1
ger
Beviset är klart.
ap
p så är
1 mod p Härav följer lätt:
F ÖLJDSATS. Om p är ett primtal så är för varje heltal a
ap
a mod p Beviset lämnas som övning.
1 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 xn yn zn då n 3 inte har några
positiva heltalslösningar. Fermat dog 1665 och satsen bevisades av Wiles omkring 1995.
1
Exempel 1. Det följer direkt av Fermats lilla sats att
810
1
mod 11
922
1
mod 23
413
4
mod 13 Exempel 2. Beräkna den minsta positiva resten då 3350 divideras med 17.
Lösning: 17 är ett primtal. Av Fermats sats får vi att (modulo 17)
3350
321 16
Men modulo 17 är
314
97 9 813 9
316 21
14
4 3 9
314
4
121 314
16 36
314 36 2 1 Den sökta resten är således lika med 2.
Om a 0 är ett element i Z p (med p primtal) så betecknar vi med o a det
minsta positiva heltalet x sådant att
1
ax
Detta tal kallas ordningen av a i Z p . Fermats sats visar att ordningen är högst lika
med p 1. Vi skall se att man kan säga mera.
S ATS 2. Låt p vara ett primtal och a 0 ett element i Z p . Antag att o a att am 1. Då gäller att
k m
k och
B EVIS . 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
1 am
aqk
ak q
r
ar
1 ar
ar Men enligt definitionen är k o a det minsta positiva x med ax
0 r k är således enda möjligheten att r 0. Vi är klara.
1. Eftersom
Kombinerar vi sats 2 med Fermats sats får vi nästa sats.
S ATS 3. Låt p vara ett primtal och a 0 ett element i Z p . Då gäller att
B EVIS . Enligt sats 1 är a p 1
o a
p 1
1. Resultatet följer därför direkt av sats 2.
2
D EFINITION 1. Om o a p 1 kallas a ett i Z p .
Exempel 3. Visa att 5 är ett primitivt element i Z73 .
Lösning: Alla element (och speciellt 5) i Z73 har enligt sats 3 en ordning som delar
talet
73 1 72 23 32 Alla delare till
kan skrivas 2k 3l med 0 k 3, 0 l 2. Vi måste alltså övertyga
2k72
l
oss om att 5 3 1 om k 3 eller l 2. Det räcker därvid att bestämma 5x för
36 och x 72 24. Om inget av dessa element är 1 så följer att 5x 1
x 72
2
3
för alla äkta delare x till 72, och vi är färdiga.
De följande räkningarna är alla modulo 73.
52
25
53
125 52 56
21 2
21
441 3
512
9
524
81 8
536
9 8 72 1
Vi ser att 524 1 och 536 1 i Z73 . Således är 5 primitivt i Z73 .
Som en kontroll av räkningarna utför vi ytterligare en kvadrering och finner att
572 1, i överensstämmelse med Fermats sats.
Anmärkning. Betrakta de 72 potenserna
51
52
53
572
i Z73 . De är alla olika, ty av 5x 5y med till exempel x y följer att 5x y 1 och
därför att 72 x y, vilket är omöjligt. Alla element utom 0 i Z73 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 Zn med godtyckligt n. Vi erinrar om
att antalet inverterbara element i Zn är φ n , där φ är Eulers φ-funktion. Observera
också att om a och b är inverterbara element i Zn så är ab inverterbart (med inversen
b 1 a 1 ).
S ATS 4. (E ULER ) Antag att a är inverterbart i Zn . Då är
aφ n
3
1
Eftersom φ p p 1 då p är primtal är tydligen Fermats sats ett specialfall av
Eulers.
B EVIS . Beteckna de inverterbara elementen i Zn med x1 , . . . , xφ n . Som i beviset
för Fermats sats (genomför själv detaljerna) får man att
φ n
∏ xi ∏ axi aφ n ∏ xi 1
1
1
φ n
φn
φn
Genom multiplikation med inversen till ∏1
1 aφ n
xi får man att
Man kan på samma sätt som ovan införa begreppet ordning för ett inverterbart
element i Zn .
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 1 och 1 p 1 har denna egenskap.
Antag att a a 1 i Z p . Då följer genom multiplikation med a att a2 1. Alltså
har vi
a2 1 0 dvs. a 1 a 1 0 Men Z p är en kropp, alltså nolldelarfri, varför
a 1 0 eller
a
1 0
vilket ger a 1 respektive a 1 p 1. De enda elementen i Z p som är sin egen
invers är följaktligen 1 och p 1.
Betrakta nu produkten av alla inverterbara element (dvs. alla element utom 0) i
Z p:
1 2 3 p 1 För alla faktorer utom den första och den sista uppträder inversen som en annan
faktor i produkten. Då aa 1 1 är denna produkt följaktligen lika med
1
p 1
p 1
Detta är Wilsons sats. Den kan också formuleras:
S ATS 5. (W ILSON ) Om p är ett primtal är
p 1 ! Satsen kan vändas: om p 1 ! lämnar vi som övning.
1
mod p 1 mod p är p ett primtal. Beviset för detta
4
Exempel 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å stora2 skilda primtal p och q och sätt
n
pq Välj också ett stort tal d som saknar gemensam faktor med
p 1 q 1 Detta tal har en multiplikativ invers e i ringen Z p 1 q 1 , vilken kan beräknas med
φ n
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 1 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 Cd
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 Zn är naturligtvis
M e d M ed Men eftersom e är invers till d i Z p 1 q 1 finns det ett heltal r så att
ed 1 r p 1 q 1 D Cd
(1)
Då är
(2)
M ed
Enligt Eulers sats3 är
(3)
ty
p 1 q 1 M1
M
r p 1 q 1
p 1 q 1 M M
1
p 1 q 1 r
mod n
φ n . Av (1), (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 10100.
måste man anta att M är inverterbart i Zn . Påståendet är sant även annars, men man måste
då återföra sig på Fermats sats.
3 Här
5
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 10-potenser.
Kinesiska restsatsen
Exempel 5. Bestäm alla heltal x som satisfierar
x 13 mod 123
x 33 mod 337 Lösning: De två villkoren innebär att x kan skrivas
x 13
123n 33
337m
med n och m heltal. Vi får efter omflyttning den diofantiska ekvationen
123n 337m 20 Användning av Euklides’ algoritm ger
337
3 123 32
123
4 32 5
6 5
32
5
2 2
2
2
1
1 2
vilket visar att 337 123 1. Vi får vidare att
1 5 2 2 5 2 32 6 5 2 32 13 5 2 32 13 4 32 123 50 32 13 123 50 3 123 337 13 123 137 123 50 337 Multiplikation med 20 ger
20 2740 123 1000 337
och vi ser att en lösning till den diofantiska ekvationen är n 2740, m 1000. Den
allmänna lösningen är
n 2740
m 1000
Därmed blir
Detta kan förenklas till
337p
123p
x 337 033
x 5 425
41 451q
6
p heltal.
41 451p q heltal.
I exempel 5 blir lösningen entydig modulo talet 123 337 41 451. Att detta inte
är en tillfällighet visar nästa sats, som är känd under namnet Kinesiska restsatsen.
S ATS 6. Antag att talen m1 , . . . , mk är parvis relativt prima. Då har kongruenserna
x a1 mod m1
x a2 mod m2
(4)
x
ak mod mk
en entydig lösning x modulo talet m m1 B EVIS . Sätt
Mi m
mi
mk .
∏mj
i 1
k
j i
För varje i är talen Mi och mi relativt prima, varför det finns tal si och ti så att
s i Mi
Sätt
x
(5)
∑ a js jM j ti m i 1 k
a 1 s 1 M1
a k s k Mk j 1
Modulo mi är M j 0 om j i medan si Mi 1. Alltså är
x ai
i 1
mod mi
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 x och x löser (4). Speciellt
är då
x x mod mi
i 1 k
Därför gäller att mi x x för alla i, vilket medför att m x
är parvis relativt prima. Således är x x mod m.
x , eftersom talen mi
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 exempel 5.
Anmärkning. Sats 6 innebär att ringarna
Zm
och Zm1
Zm2
Zmk
är isomorfa. Betrakta nämligen funktionen
(6)
Zm
x a 1 a2
ak Zm1
Zm2
Zmk
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 m1 , . . . , mk är parvis relativt prima är viktig; exempelvis är inte Z4 och
Z2 Z2 isomorfa.
7
Exempel 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 miniatyrexempel.
Antag att man med en viss processor kan utföra aritmetiska beräkningar betydligt snabbare med heltal under 100 ä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 100. Tag till exempel 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 89 403 930 kan representeras som en
fyrtipel i ringen Z99 Z98 Z97 Z95 .
Om vi till exempel vill beräkna summan x y av talen
x 123 684
y 413 456
så börjar vi med att beräkna resterna av dessa tal vid division med de fyra modulerna. Vi får att
x 33 mod 99
x 8 mod 98
så att
x
x 9 mod 97
x 89 mod 95
33 8 9 89 På samma sätt får vi y 32 92 42 16 . Nu utför vi (snabb och parallell) addition
i ringen Z99
Z98
Z97
Z95 :
33 8 9 89 32 92 42 16 65 2 51 10
(komponentvis addition). Den sökta summan z ges tydligen av kongruenserna
z
z
z
z
65
2
51
10
mod
mod
mod
mod
99
98
97
95 Här använder man lämpligen formel (5). Talen Mi och si kan ju räknas ut i förväg
en gång för alla. I vårt fall får man
z 65 37 903 070
2 33 912 285
51 24 921 690
3 397 886 480 537 140
10 4 941 094 mod 89 403 930 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