Fachwissenschaftliches Seminar zur Zahlentheorie

Werbung
Fachwissenschaftliches Seminar
zur Zahlentheorie
Vortragsunterlagen zum Thema:
Kalenderformel und Codierung von Nachrichten“
”
Da sich die Wochentage in 7er-Zyklen übers Jahr verteilen, ist anzunehmen, dass beim Berechnen von Daten und Wochentagen das
Rechnen modulo 7 eine Rolle spielt. Ein Teil der Mathematik hinter
unserem Kalender wird hier vorgestellt.
Eine zweite Anwendung der Kongruenzrechnung und des kleinen Satzes von Fermat ist das Thema “Codierung” aus dem Bereich der Verschlüsselungstechniken.
III.6 Ewiger Kalender
bezüglich
Ein Ewiger Kaleniler ist eine Formel, nach der man aus dem Datum
bestimmen kann'
des Gre.lgorianischen Kalenders (vgl. I.8) den Wcchentag
zu lassen' so
Zunächst einigen wir uns darauf, das Jahr am l.März beginnen
wird' (Dies
daß ein Schaltiag arn End,edes Jahres, also Ende Februar angehängt
: 8'Monat usw')
entspricht den Monu,tsnamen September = 7.Monat, Oktober
2'' 4"' 7 '' 9'Monat
Dann haben der 1., 3., 5., 6., 8., 1'0',11'Monat je 31 Tage, der
je 30 Tage, und der 12.Monat hat 28 oder 29 Tage'
festgesetzt,
Die Gregorianische Kalenderreform fand 1582 statt' Es wurde
jedes vierte Jahr ein schaltjahr
daß das Jahr 1600 ein schaltjahr ist. Dann sollte
(also in den Jahren
sein, in jedem 100. Jahr sollte aber der Schalttag ausfallen
(so daß das
170d, fSbO, 1900), in jedem 400. Jahr sollte er aber nicht ausfallen
Jahr 2000 ein Schaltjahr ist).
Nummern 0'
Wir erteilen nun äen Wochentagen So, Mo, Di, Mi, Do' Fr' Sa
46. wegen
1,2,3,4, 5, 6 und nehmen an, der 1.März 1600 habe die Nummer
gOS: 1 mod. 7 gilt für die Nummer a1 des l.Mtirz des Jahres 1600 + t
ft]
l t I l t I mod7
* L*J
a,: cro
+ t + L;l- LTröj
Kalender entDer l.März 1990 war ein Donnerstag, wie man einem aktuellen
gz - g * 0 mod 7 fotgt os = 3 mod 7, der
nehmen kann. Aus 4 = ao * 390 +
in der Form
l.März 1600 war aiso ein Mittwoch. schreiben wir die Jahreszahl
100c* d mit 0 < d < 100, dann ist t - 100(c- 16) * d und
lal -(c- 16)* rc- 161
(,t= 3*100(c-16)+d+25(c-16)+
L n I
L;l
-1e8b
+ d,+ . [it
* rz4c
[1]
= 3+5c.r.
.
[1]
[;]
mod 7
Dabei haben wir zu beachten, daß
100(c- 1 6 ) +
400
dl
-t
J
:
I c- 1 6 1
l--l
L4l
(l'März)t ein
gilt, denn 4# a |. Wi. führen jetzt statt a1 die Bezeichnung
die Nummer des
und schreiben ents*prechendz.B. (6.Mai)rgss(: (6.3.)tr.n) für
nur beachten,
Wochentags, auf den der 6.Mai 1939 gefallen ist. Dlbei muß man
anders als heute üblich - als 11. und 12' Monat
daß Januar und Febru
den wochentag zu
zum vorjahr zfilen. um nun für jedes beliebige Datum
berücksichtigen.
bestimmen. müssen wir die unterschiedliche Länge der Monate
15 8
lll Restklassen
Es ist
(t.April)1
-(l.April)t*2
(l.Mai)t
: ( 1 . M a i ) 1f 3
(l.Juni)r
:(l.Juni)r*2
(l.Juli)r
(1.August)1 :(l.Juli)r*3
(l .S e p te mb e r)r: ( 1.August) t*3
(l.Oktober)1 : (l.September)r
* 2
(l.November)t : (l.Oktober)l+3
(l .D e ze mb e r)r : ( l.November ) r *2
: (l.Dezember)r
(l.Januar)t
*3
(l .F e b ru a r)r : ( l.Januil) r *3
-(l.März)t*3mod Z
-(l.März)tf5mod7
-(l.Mäirz)r*1mod7
-(l.März)t*3mod7
-(l.März)r*6mod 7
= ( 1.Mär z) t*2mod T
: (1.März)t* 4mod T
: (l.März)r * 0 mod 7
: ( l.Mär z) t*2mod 7
: (l.Mäirz)r*5 mod 7
- ( l.Mär z) t*1 mod 7
Wir können nun das Datum des n.rn. im Jahre 100c* d bestimmen, wobei n,
von 1 bis 28,29,30oder 31 läuft und rn die Nummern der Monate sind (also
m : L für Mdrz,. . . 1 rn: 12 für Februar):
(n.m.)too.tdz n * r,n * 5c * d.+
[X]
.
[;]
mod T,
wobei die Zahlen r,7l um 2 größer als die oben gefundenen Zahlen für (l.rn.)t
sind, um den Summand 3 zu berücksichtigen. Man kann diese Zahlen folgender
Tabelle entnehmen:
Merkwürdigerweisegilt r- =
["?=tJ mod 7 (vgl. [Shockley 1967l,vgl. auch
Aufgabe 53); damit ergibt sich schließli"hdi" Formel
( n . r n . ) t m "?* dn * 5 c1 ' *
[1F]
.
[f]
.
[;]
m o d7 .
Beispiel 1: Die Schlachtvon Waterloofand am 18.6.1815statt. Die Nummer
des Wochentagsist
: L8* 90 + 15+ 10+ 3 + 4 : 0 mod 7.
(1 8 .4 .)1 815
Die Schlachtfand also an einem Sonntagstatt.
Beispiel 2z Der g.Januarim Jahr 2435wird auf einen Dienstagfallen, denn
: 9 * 120+ 34+ 70+ 8 + 6 : 2mod 7.
(9.11.)z€4
stklassen
TIT.7 Codierung
wobei n
nd (also
Zur Codierung (Verschlüsselung) und Decodierung (Entschlüsselung) geheimer
Nachrichten können unterschiedliche zahlentheoretische Methoden verwendet
werden. Wir beschränken uns hier auf zwei solche Methoden' von denen die
erste auf dem Rechnen mit linearen Kongruenzen beruht, die zweite auf dem
Satz von EuIBn-FERMAT.
Wir vereinbaren zunächst eine eindeutige Zuordnung von Buchstaben und
sonstigen zeichen zt zahlen 0,1,2,..., p - 1, wobei p eine Primzahl ist, die
mindestens so groß wie die Anzahl der Buchstaben und sonstigen Zeichen sein
muß. Dann wählen wir ein n € IN und teilen die zu verschlüsselndeNachricht in
n-Tupel ein. Es geht nun also um die Codierung einesn-Tupels (*r,*rr. .- ,nn)
von Zahlen aus 10,1, 2,. . . ,p - 1). Dazu wählen wir eine feste n, n-Matrix Ä,
- 1, " ' , n)'
deren Elemente Restklassenmodp sind, also A: (ori) mod p (i, i
Dann berechnen wir für i : I,. . . ,rtr
mit
a ; i u 5m o d 'P
At=f
Y i € { 0 , 1 ," ' , P
- 1}
j=l
'(1.-')'
rlgender
und erhalten das codierte n-Tupel (yt,yr,, . . . ,Un)' Um nun dieseswieder zu decodieren, müssen wir obiges Kongruenzensystemnach 11,,x2,,...,r,, auflösen.
Dies ist natürlich nur dann eindeutig möglich, wenn die Matrix A mod p eine
Inverse B mod p besitzt, wobei die Definition und die Berechnung der Inversen
im Körper der Restklassen modp wie in jedem anderen Körper zu verstehen ist.
Man nennt A mod p die Codierungsmatrix und B mod p die Decodierungsmatrix'IstB=(b;)modp(i,i:1,.'',n)'soergibtsichfüri:t'"')T7'
*, =ib;iyi
gi. auch
mod'p.
j=l
,iummer
Ein Unbefugter darf zwar die Zuordnung von Buchstaben und Zahlen, die Primzahl p,rnd Ji" Blockläinge n kennen, ohne die Matrix B mod pbzw. die Matrix
Ä mod p kann er keine Nachricht decodieren. Ist n nicht zu klein, dann ist es
in der R"gel sehr schwer, diese Matrizen aus den codierten Nachrichten zu gewinnen.
B e i s p i e l 1 : W i r w ä h l e nP : 3 1 , n
!:
, denn
(2
It
:3
und
3 5\
0 7lmod31.
\r z s)
Es ergibt sich
B-
(B
l2
\+
211 \
24 13 lmod31.
22 2b)
lll Restklassen
160
Sendet man die Nachricht (rr,rr,r")
: (13,17,20), so ensteht daraus
(li)=,(ii)=(ä)
mod 31.
Die Decodierung lautet dann
(;i)='(3i)=(
;:)
mod 31.
Der Satz von EuLER-FERMAT (Satz 6) ist der Ausgangspunkt für die l{onstruktion eines Codierungsverfahrens für geheime Nachrichten, das auf [Rivest/Shamir/Adleman i978] zurückgeht. Man spricht dabei von einem PublicKeg-Code; die Bezeichnungwird im folgenden verständlich werden. Wir denken
uns zwei (sehr große) Primzahlen p und g gegeben und bilden ihr Produkt
m:p.q,
Die zu übermittelnde Nachricht denken wir uns als eine natürliche Zahl N,
welche kleiner als rn ist. (Eine lange Nachricht besteht dann aus einer Folge
solcher Zahlen N.) Im folgenden nehmen wir an, daß N nt m terlerfremd ist, alscr
weder durch p noch durch g teilbar ist. Da p und q ,,sehr groß" sein sollen, wäre
es ein großer Ztf.a\l,, wenn eine beliebig gewähite ZahI nicht zu. m teilerfrernd
wäre. Nun wählen wir eine natürliche Zahl r nrit
l . < r < v @ ) : ( p - r x q - r ) u n d g g T ( re, ( n ) ) : 1
und berechnenden Rest -Rvon N" bei Division durch rn:
N"=Amodrn
mit
1<J?1m.
Kennt man nun.R, dann kann man darausdie Nachricht N rekonstruieren:Man
bestimme die Zahl s mit
rs : 1 mod cp(rn) und 1 < s < V(m);
Dann ist
R":Iü'"=Nmod
rn,,
die Nachricht N ist also der Rest von ft" bei Division durch rn.
Damit nun eine Nachricht nur vom dazu befugten Empfänger verstanden
werden kann, geht man folgendermaßenvor: Der Empfänger gibt seine Zahlen rn und r öffentlich bekannt(wie Telefonnummernin einem Telefonbuch),
häilt aber die Primfaktoren p und q geheim.Dann kann jedermann ihm eine
lll.8 MagischeQuadrate
161
Nachricht senden, denn dazu benötigt man nur die Zahlen rn und r. Zur Entschlässelung aber muß man die Zahl s kennen, und diese ka,nn man nur dann
einfach bestimmen, wenn man p(rn) : (p - txq - 1) kennt, wenn man also die
Primfaktoren p und g kennt. Selbst der Absender einer Nachricht kann diese,
hat er sie einmal verschlässelt, nicht wieder entschltisseln.
Die Einbruchsicherheit dieses Codierungsverfahrens hängt davon ab, wie
schwer es ist, die Primfaktorzerlegung von n't. zu finden. Durch die ständige
Weiterentwicklung der elektronischen Rechner werden hier die Grenzen immer
weiter nach oben verschoben; schon heute benötigt man für einen Public-KeyCode Primzahlen, deren Stellenzahl deutlich über 50 liegt. Die Zahl r wäihlt
man meistens als eine Primzahl, die größer ult p und g ist; jedenfalls sollte
2' > m sein, damit für kein .lt in obiger Bezeichnung N" : R gilt'
Das Auffinden zweier Primzatrlen mit 50 oder gar 100 Ziffern ist kein großes
Problem, wenn man sich damit zufrieden gibt, daß diese Zahlen ,,mit einer
großen Wahrscheinlichkeit" (etwa 1- 10-50) Primzahlen sind. Die dabei verwendeten Primzahltests sind ,,Indizienbeweise", d.h., ma,n prüft notwendige Primzahleigenschaften wie z.B das Bestehen der Kongruenz 2p : 2 mod p (vgl'
rrr.e).
Der glückliche ,,Besitzef' zweier großer Primzahlen p und g muß natürlich
die Primfatctoren von p(pg) : (p - txq - 1) kennen, weil er eine zu p(pq)
teilerfremde Zahl r wählen muß. In der Regel ist die Primfaktorzerlegung von
(p - txq - 1) aber kein Problemqman kann zeigen,daß im Mittel die HäJfte
aller Primfaktoren einer Zahl der Größenordung 1050kl.,iner als 600 sind.
Das folgende Beispiel verdeutlicht das dargestellte Codierungsverfahren,ist
jedoch pral<tischunbedeutend,weil die Primzahlenp und g zu klein sind.
Beispiel 2: Es sei p - 23,e - 29, also m - 667 und g(rn) : 616; ferner sei
r : 15. Est ist 99T(12,667): t und 9gT(15,616): 1. Es soll die Nachricht
N - 12 gesendet werden. Der Absender kennt rn und r; er berechnet L2I5
220 mod 667 und sendet die verschlüsselteNachricht R:220. Der Empfänger
hat zuvor die Zahl s mit 15s : l. mod 616 berechnet,z.B. mit dem euklidischen
Algorithmus:99T(15,616): 1 : 575. 15 -14'616, alsos : 575.Nun berechnet
er 220675: 12 mod 667 und erhält damit die Nachricht N = 12.
Man beachte, daß Potenzieren und Reduzierenmit einem gegebenenModul
m, für einen Computer keine schwereArbeit ist.
Bzgl. weiterer Anwendungen der Zahlentheorie in der Kryptographie vgl.
[Kranakis 1986], [Schroeder1986].
Herunterladen