man ska definiera division. Men ännu värre, även det som är

¨
4. VAD MODULIRAKNING
BETYDER F¨
oR JUST DITT KRIMINELLA N¨
aTVERK.
45
man ska definiera division. Men ¨annu v¨arre, ¨aven det som ¨ar konsekvenser f¨or heltal av
existensen av division fungerar inte alltid. F¨or heltal vet vi t ex att ab = 0 medf¨or att
antingen ¨ar a = 0 eller s˚
a ¨ar b = 0. Men detta ¨ar inte sant modulo vissa tal, tex s˚
a ¨ar
2 · 3 ≡6 0. Som en konsekvens kan man inte heller ur likheten ax ≡b ay (a, x, y ∈ Z och a
skild fr˚
an 0) i allm¨anhet dra slutsatsen att x = y. (Det g˚
ar att r¨adda situationen om b ¨ar
ett primtal, men det ¨ar en annan historia.)
4. Vad modulir¨
akning betyder f¨
or just ditt kriminella n¨
atverk.
Vi ska bara surfa lite p˚
a ytan. Mer detaljer finns i artiklar om kryptering och RSA
t ex p˚
a wikipedia. I m˚
anga sammanhang vill man att en text bara ska kunna l¨asas av
en enda mottagare. N¨ar man t ex knappar in sin bankomatkod ¨ar det katastrofalt om
den kan l¨asas av n˚
agon som avlyssnar alla telefonmeddelanden fr˚
an apparaten. D¨arf¨or
krypteras informationen innan den ska skickas p˚
a ett s¨att som ska g¨ora att det bara ¨ar
ens bank som kan l¨asa den.
Samma typ av problem uppkommer n¨ar l¨arare ska skicka tentor o¨ver e-post - de kan
inte skickas i klartext eftersom det inte ¨ar alldeles ot¨ankbart att n˚
agra duktiga studenter
tjuvlyssnar p˚
a mail (s˚
a skickliga studenter a¨r ju f¨orst˚
as en l¨arares dr¨om.)
Det har l¨ange varit en kamp mellan de som konstruerar krypteringssystem och de
som f¨ors¨oker bryta dem. I och med datorer har det f¨orst˚
as blivit mycket l¨attare att g¨ora
det sista: Fantomens hemliga chiffer tar inte m˚
anga millisekunder att l¨asa. Samtidigt har
anv¨andningen av datorer inneburit att mycket mer k¨anslig information ¨ar tillg¨anglig f¨or
missbruk, s˚
a att det blivit ett stort behov av s¨aker kryptering.
F¨or ungef¨ar 30 ˚
ar sedan utvecklades bl a krypteringssystemet RSA som hittills - och
troligen ¨aven i framtiden - kunnats g¨oras tillr¨ackligt s¨akert. Det och liknande metoder
inneb¨ar att dom goda - konstrukt¨orer av krypteringssystem vunnit ¨over de onda - de som
f¨ors¨oker dechiffrera. RSA ¨ar i princip r¨att enkelt, och anv¨ander sig av modulir¨akning och
endast n˚
agra f˚
a fler satser om primtal ¨an de vi g˚
att igenom. Det skulle kunna brytas om
det fanns en tillr¨ackligt snabb metod att primtalsfaktorisera sammansatta tal. Men s˚
adana
tror man allts˚
a inte finns. Vi ska g˚
a igenom en annan till¨ampning av modulir¨akning som
kom ungef¨ar samtidigt, det s k Diffie-Hellmans nyckelbyte.
Krypteringssystem ¨ar ofta beroende av en s k nyckel eller l¨osenord, som best¨ammer
hur informationen ska krypteras. Det kan t¨ankas som ett rimligt stort tal, t ex n˚
agra hund100
ra siffror. Man kan t¨anka sig att man har ett bibliotek med 10 olika krypteringssystem,
och nyckeln ¨ar numret p˚
a det av dessa system som ska anv¨andas.
Om nu Alice och Bob - detta ¨ar de traditionella namnen f¨or de som ska utbyta
hemlig information - vill se till att de anv¨ander samma nycklar, s˚
a har de ett problem.
De kan inte skicka nyckeln till varandra ¨over en telefonlinje eller med post, f¨or d˚
a kan den
46
¨
3. MODULIRAKNING
ALIAS KONGRUENSER
enkelt uppsnappas och all annan kommunikation som krypteras med denna gemensamma
nyckel l¨asas. De kan f¨orst˚
as m¨otas d˚
a och d˚
a i enslighet och komma ¨overens, men det blir
opraktiskt och dyrbart, s¨arskilt om de ofta vill byta nycklar. (Ju l¨angre samma nyckel
anv¨ands, desto st¨orre ¨ar risken f¨or avsl¨ojande.)
Men de kan g¨ora s˚
a h¨ar, med lite modulir¨akning. Vi beh¨over en beteckning: om som
nedan p ¨ar ett fixt primtal, och x ¨ar ett naturligt tal s˚
a l˚
at [x] st˚
a f¨or den positiva resten
av x modulo p. Om p = 7 s˚
a ¨ar allts˚
a [10] = 3, och ur tidigare r¨akneregler (Sats 13) f¨oljer
t ex att [ab ]c ≡ [abc ].
Problemet ¨ar allts˚
a att tv˚
a personer ska kommunicera via avlyssnade telefonlinjer med
varandra och i slut¨andan ha kommit ¨overens om samma tal, utan att avlyssnarna har en
suck.
• Helt ¨oppet kommer Alice och Bob ¨overens om ett primtal p och ett tal 1 < g < p
(och att f¨olja proceduren nedan). Denna information k¨anner allts˚
a eventuella
tjuvlyssnare ocks˚
a till.
• Sedan best¨ammer sig Alice i hemlighet tillsammans med sin ¨alskade slumpgenerator f¨or ett tal 1 < kA < p − 1. Detta k¨anner bara hon till.
• P˚
a samma s¨att best¨ammer sig Bob i hemlighet f¨or ett tal 1 < kB < p − 1. Detta
k¨anner bara han till.
• Sedan skickar Alice resten modulo p av g kA , d v s [g kA ] till Bob, och han skickar [g kB ] till Alice. Dessa tv˚
a tal kan man inte skydda, utan de antas ocks˚
a bli
avlyssnade.
• Sedan tar Alice det tal [g kB ] hon f˚
att av Bob och upph¨ojer det till sin egen hemliga
potens kA , och r¨aknar ut resten modulo p. Hon f˚
ar [[g kB ]kA ] = [g kA kB ].
• Bob g¨or detsamma med det tal [g kA ] han f˚
att av Alice. Han upph¨ojer det till
sin egen hemliga potens kB , och r¨aknar ut resten modulo p. Han f˚
ar [[g kA ]kB ] =
kA k B
[g
], allts˚
a samma tal som Alice fick..
• Resten modulo p av talet g kA kB ¨ar deras gemensamma nyckel!
Varf¨or fungerar detta? Varf¨or kan inte tjuvlyssnarna f˚
a fram nyckeln? Enkelt:
• Funktionen x �→ [g x ] ¨ar en s k env¨agsfunktion. Den ¨ar, som vi s˚
ag i exemplet
i f¨orra sektionen l¨att att r¨akna ut, ¨aven f¨or stora tal x, men givet att man vet
[g x ] ¨ar det (troligen) hoppl¨ost sv˚
art att r¨akna ut x. (Problemet att r¨akna ut x
effektivt kallas f¨or det diskreta logaritmproblemet, eftersom det svarar mot att
r¨akna ut ett slags logaritm med basen g.)
En tjuvlyssnare k¨anner till f¨oljande g, p, [g kA ], [g kB ] och har problemet att
ur detta best¨amma den gemensamma nyckeln [g kA kB ]. Om hon (Catherine eller
Eve ¨ar standardnamn) kunde r¨akna ut kA och kB fr˚
an [g kA ] och [g kB ] genom
en effektiv l¨osning av diskreta logaritmproblemet, s˚
a skulle hon f¨orst˚
as kunna
¨
5. OVNINGAR.
47
f˚
a fram nyckeln g kA kB . Men ingen k¨anner till n˚
agon s˚
adan effektiv metod, eller
n˚
agon annan metod att best¨amma den gemensamma nyckeln.
• Det finns till varje primtal p gott om g s˚
a att varje 1 ≤ y ≤ p − 1 kan skrivas
x
som y = [g ], f¨or n˚
agot x. Detta ¨ar en viktig teknisk po¨ang, f¨or att potenserna i
proceduren ovan ska bli olika.
Exempel 34. L˚
at p vara 13 och g = 2. D˚
a ¨ar (modulo 13)
1 ≡ 20 , 2 ≡ 21 , 4 ≡ 22 , 8 ≡ 23 , 3 ≡ 24 , 6 ≡ 25 , 12 ≡ 26 , 11 ≡ 27
9 ≡ 28 , 5 ≡ 29 , 10 ≡ 210 , 7 ≡ 211 , 1 ≡ 212
Vi ser att varje tal 1 ≤ y ≤ p − 1 = 12 kan skrivas som 2x , f¨or n˚
agot l¨ampligt x.
I exemplet ovan s˚
ag vi att resten av 212 = 213−1 modulo 13 ¨ar 1. Det ¨ar sant inte bara
f¨or primtalet 13 utan i allm¨anhet. F¨or varje primtal p g¨aller f¨oljande sats (som anv¨ands i
RSA och andra system) och kallas Fermats lilla sats.
Sats 14. L˚
at p vara ett primtal och 0 < a < p. D˚
a g¨aller ap−1 ≡ 1 (mod p).
Multiplicerar vi likheten i satsen med a f˚
ar vi ap ≡p a, och detta ¨ar sant f¨or alla tal
a ∈ Z. Beviset f¨or satsen ¨ar inte s˚
a sv˚
art och kommer i en senare kurs.
¨
5. Ovningar.
(1) Visa att 3100 − 1 ¨ar j¨amnt delbart med 16. (Ledtr˚
ad: r¨akna ut resten vid division
1 2 3
med 16 av potenserna 3 , 3 , 3 , .... Finns det n˚
agot anv¨andbart m¨onster?)
(2) Vilken rest erh˚
alles d˚
a 2100 delas med 23?
(3) Vilken ¨ar sista siffran i talet 37100 ? (Ledtr˚
ad: detta handlar ocks˚
a om att r¨akna
ut en rest.)
(4) Vad skulle sista siffran bli om man skulle r¨akna ut talet (1715 + 825 )10 ?
(5) Visa genom att kolla alla m¨ojliga rester att talet n3 + 2n ¨ar delbart med 3 f¨or
alla heltal n.
(6) Visa, utan att anv¨anda Fermats lilla sats, att f¨or varje heltal n som inte ¨ar
multipel av 7 g¨aller att n6 vid division med 7 ger resten 1. (Ledtr˚
ad: varje tal ¨ar
modulo 7 lika med n˚
agot av 1, 2, 3, 4, 5, 6 och det r¨acker att titta p˚
a dessa)
(7) Best¨am f¨or varje naturligt tal n den minsta ickenegativa resten vid division av
32n + 2 · 176n med 7.
(8) Vilka heltal g mellan 0 och 7 har egenskapen att resterna modulo 7 av tillr¨ackligt
m˚
anga potenser g 1 , g 2 , g 3 , ... omfattar 1, 2, ..., 6?
(9) Antag att g = 2, p = 7 och att Alices hemliga kA ¨ar 2 och att Bobs kB = 5. Vad
¨ar deras gemensamma nyckel?
48
¨
3. MODULIRAKNING
ALIAS KONGRUENSER
¨ 0-467-51402-X en giltig ISBN kod?
(10) a) Ar
¨ 1-56-004151-5 en giltig ISBN kod?
b) Ar
c) Vad a¨r checksiffran f¨or 14-2000-076-? ?