Mathematik sehen und verstehen Schlüssel zur Welt Bearbeitet von Dörte Haftendorn 2. Auflage 2015. Buch. XIV, 385 S. Kartoniert ISBN 978 3 662 46612 4 Format (B x L): 16,9 x 24,4 cm Gewicht: 676 g Weitere Fachgebiete > Mathematik > Mathematik Allgemein Zu Inhaltsverzeichnis schnell und portofrei erhältlich bei Die Online-Fachbuchhandlung beck-shop.de ist spezialisiert auf Fachbücher, insbesondere Recht, Steuern und Wirtschaft. Im Sortiment finden Sie alle Medien (Bücher, Zeitschriften, CDs, eBooks, etc.) aller Verlage. Ergänzt wird das Programm durch Services wie Neuerscheinungsdienst oder Zusammenstellungen von Büchern zu Sonderpreisen. Der Shop führt mehr als 8 Millionen Produkte. 2 Kryptografie Abb. 2.1 Anzapfen der Kommunikation nützt nichts Kryptografie in unserer Welt Ein namhaftes Werk zur deutschen Rechtschreibung schreibt in seiner Auflage von 2006 das Folgende: Kryp|to|gra|fie, die; -, . . .ien (Psychol. absichtslos entstandene Kritzelzeichnung bei Erwachsenen; Disziplin der Informatik; veraltet für Geheimschrift) Dieselbe arg unvollkommene Definition enthält das Fremdwörterbuch desselben Verlages, aber auch das Rechtschreibwerk eines anderen großen Herstellers. Der Brockhaus allerdings beschreibt Kryptografie und Kryptologie in seiner Auflage von 1990 schon zutreffend als „die Lehre von der Entwicklung und Bewertung von Verschlüsselungsverfahren zum Schutz von Daten“. Jedenfalls steckt das griechische Wort kryptikos darin, das verborgen, geheim heißt. Kryptografie ist also das verborgene Schreiben und Kryptologie heißt die Lehre vom Geheimen. Zusammen trifft dies den Sachverhalt auch wirklich. Heute hat sich Kryptografie als allgemeine Bezeichnung durchgesetzt. Beutelspacher et al. formulieren in ihrem Buch [Beutelspacher 2005] den Satz: Kryptografie ist eine öffentliche mathematische Wissenschaft, in der Vertrauen geschaffen, übertragen und erhalten wird. Genau hier liegen die Ziele dieses Kapitels: Sie – die Öffentlichkeit – sollen so viel verstehen können, dass Sie nicht blind vertrauen müssen. © Springer-Verlag Berlin Heidelberg 2016 D. Haftendorn, Mathematik sehen und verstehen, DOI 10.1007/978-3-662-46613-1_2 10 2. Kryptografie 2.1 Die alte und die neue Kryptografie Vermutlich haben Menschen schon immer Nachrichten ausgetauscht, die nicht jeder erfahren durfte. Einige einfallsreiche Verfahren der abendländischen Geschichte sind bekannt. Bei der griechischen Skytala wurde ein langes Band um einen Stab gewickelt und dann in Längsrichtung des Stabes beschriftet. Nach dem Abwickeln erschienen die Buchstaben in nicht zu deutender Reihenfolge auf dem Band. Wer aber den passenden Stab hatte, wickelte das Band wieder auf und las bequem die Nachricht. Verschlüsselungen mit Alphabetverschiebung haben eine lange Tradition und sind immer mehr verfeinert worden (dazu mehr im nächsten Absatz). Bei uninformierten Gegenspielern nützte schon das Verwenden erfundener Zeichen anstelle der Buchstaben. Beliebt waren auch immer wieder unsichtbare Tinten, die durch chemische Prozesse sichtbar gemacht werden konnten. Immer aber mussten im Vorhinein Vereinbarungen zwischen Sender und Empfänger der verschlüsselten Nachricht getroffen werden, deren Kenntnis zum Entschlüsseln notwendig war, aber in unberechtigte Hände gelangen konnten. Hier lag die entscheidende Schwachstelle der „alten“ Kryptografie. Bis in die siebziger Jahre des 20. Jahrhunderts konnte man sich eine durchgreifende Lösung dieses Problems auch nicht vorstellen. Seitdem aber gibt es die Kryptografie mit öffentlichen Schlüsseln. Jeder darf diese Schlüssel kennen, auch ein potenzieller Angreifer, der unerlaubt das kryptografische Geheimnis ausspähen will. Dieser Mister X, so wird er oft bezeichnet, darf sogar genau das Verfahren kennen, nach dem Sender und Empfänger vorgehen. Da heute immer Computer im Spiel sind, besteht auch die Sorge, das Anzapfen der Leitungen könnte Mister X etwas nützen. Aber auch das nützt ihm rein gar nichts. Voraussetzung ist allerdings, dass Sender und Empfänger das entsprechende kryptografische Protokoll sinnvoll befolgen, und nicht etwa ihre privaten Schlüssel für jemand anderen zugänglich machen. Auch der Kommunikationspartner, mit dem ein Geheimnis geteilt werden soll, erfährt niemals die privaten Schlüssel. Ein Mindestmaß an Einsicht, was bei der Ver- und Entschlüsselung geschieht, wird deshalb sicher hilfreich sein. Bei der Public-Key-Kryptografie wird mit öffentlichen Schlüsseln die in eine Zahl umgewandelte Nachricht auf besondere Weise verrechnet. Dabei spielen große Primzahlen mit mehr als 150 Stellen eine Rolle. Mit kleinen Primzahlen wie 17 oder 23 sind das Vorgehen und das besondere Rechnen durchaus verstehbar. In diesem Kapitel unternehme ich den Versuch, Ihnen die moderne Kryptografie verständlich zu machen. 2.1.1 Alphabetische Verschlüsselung Wir werden zunächst die alphabetische Verschlüsselung verfeinern und verwandeln, damit Sie die von der alten Kryptografie nicht überwundene Hürde besser verstehen. Um militärische Informationen geheim zu übermitteln, verwendete Cäsar eine einfache Verschlüsselungsidee: Das Alphabet wurde, wie in Abb. 2.2 gezeigt, um einige Buchstaben verschoben. Die Information, dass aus dem A ein L wird, reichte schon aus, um aus dem Wort MATHE den Geheimtext XLESP zu machen. So konnte dann ein Bote mit einer geheimen Nachricht von VZPWY nach ECTPC reiten. Wenn dem Gegner, der 2.1 Die alte und die neue Kryptografie 11 Abb. 2.2 Monoalphabetische Verschlüsselung einen solchen Boten abfing, dieses Prinzip der monoalphabetischen Verschlüsselung bekannt war, konnte er spätestens nach 25 Versuchen den Text lesen. Unsere Computer könnten gleich alle möglichen Rückübersetzungen nennen und der Nutzer wählt die einzige leserliche aus. Ein weiterer Erfolg versprechender Angriff kann über die Buchstabenhäufigkeit erfolgen. Im Deutschen ist E der bei Weitem häufigste Buchstabe. Es folgen N und R. Bei den obigen verschlüsselten Wörtern kommen P und C am häufigsten vor, es könnte sich um E, N oder R handeln. So ist es ja auch. Die Kurzworte IN, AN, UND, AUF, . . . sind in Kryptogrammen leicht kenntlich, so dass man ohne Wortgrenzen verschlüsseln muss. Damit kann man die Sicherheit ein Abb. 2.3 Vigenère-Quadrat, polyalphabetische Verschlüsselung 12 2. Kryptografie wenig erhöhen, bei längeren Geheimtexten kommt man aber dennoch leicht zur Entschlüsselung. Eine bessere Idee sind polyalphabetische Verschlüsselungen. Vigenère schlägt um 1550 die Verwendung eines Buchstabenquadrates vor. Betrachten Sie Abb. 2.3. Ein Schlüsselwort gibt Buchstabe für Buchstabe an, mit welcher Zeile der Klartext verschlüsselt werden soll. Hier wird wegen GALLIA als Erstes die Zeile verwendet, bei der das schwarze G unter dem roten A steht. Damit wird der Klartextbuchstabe K in Q umgewandelt. Als Verständnishilfe sind oben die ersten Schritte nummeriert. So ergibt sich: K Q L L E P O Z P X A A T X R J A T C Q O A R E M U E W U X M U Wenn Kleopatra nun weiß, dass sie den Anfang des Buches De bello gallico von Cäsar als Schlüsselwort nehmen soll, kann sie das Kryptogramm lesen. Die Vigenère-Verschlüsselung kann bei kurzen Schlüsselwörtern, die dann immer wiederholt werden, recht einfach geknackt werden. Zuerst versucht man die Blöcke zu bilden, die die Länge des Schlüsselwortes haben. Dann nimmt man wieder die Häufigkeitsanalyse. Besonders wegen der Unterstützung durch Computer gilt die polyalphabetische Verschlüsselung mit kurzen Schlüsselwörtern als unsicher. Wenn man aber als Schlüssel den Text aus Cäsars Buch immer weiter fortlaufend verwendet, dann klappt dieser Angriff nicht. Noch besser wäre es, statt des Buchtextes eine zufällige Buchstabenfolge zu nehmen. Leider müssen dann aber Sender und Empfänger dieselbe Folge haben. Das ist schwer zu bewerkstelligen. Nimmt man Zahlen statt Buchstaben, kann man leichter zufällige Folgen bilden und übermitteln, wie wir unten sehen werden. Um einen Text in Zahlen zu übersetzen, kann man einfach dasselbe Verfahren verwenden, das sowieso bei unseren Computern üblich ist. Der sogenannte ASCII-Code (American Standard Code for Information Interchange) reicht in seinem Grundtyp bis zur Nummer 127. Hier ist von der ASCIINummer die Zahl 28 abgezogen, damit die Verschlüsselung mit zweistelligen Zahlen möglich ist. Mit höheren Nummern als sie Abb. 2.4 entsprechen folgen noch die Kleinbuchstaben und andere Zeichen. Abb. 2.4 ASCII-Code minus 28 Nun verschlüsseln wir mit Abb. 2.5 die Ziffern einzeln. Sei m die Nachricht (message), als Wort ist es RABE, s der Schlüssel und c die verschlüsselte Nachricht (ciphertext), der Code. Die Vorgehensweise ist eigentlich dieselbe wie beim Vigenère-Quadrat aus Abb. 2.3, nur haben wir es jetzt durch die Zahlen bequemer als mit den Buchstaben. Wir müssen nur einzeln zu jeder Ziffer der Nachricht m die darunter stehende Ziffer des Schlüssels addieren und dabei die Zehnerüberträge ignorieren. Man nennt dieses Vorgehen auch Addition modulo 10. In Abschnitt 2.3 widmen wir uns ausführlich dem modulo-Rechnen. 2.1 Die alte und die neue Kryptografie 13 Abb. 2.5 Vigenère-Quadrat mit Zahlen Bemerkenswert ist, wie sich das antike Alphabetverschieben in ein mathematisches Vorgehen verwandelt hat. 2.1.2 Verschlüsseln mit dem One-Time-Pad Die verschlüsselte Nachricht könnte der Angreifer gern abfangen, sie enthält für jemanden, der den Schlüssel nicht kennt, keinerlei Information. Denn jede andere Nachricht m′ kann bei passendem Schlüssel s ′ genau diese verschlüsselte Nachricht c ergeben. Machen Sie sich anhand der Abb. 2.6 klar, dass zur Textnachricht MAUS ein Schlüssel s ′ konstruiert werden kann, der auch zu c führt. Abb. 2.6 Auch MAUS wird zum Code von RABE Hier ist der Schlüssel acht Stellen lang und das Verfahren kann Worte mit vier Buchstaben unknackbar verschlüsseln. Bleibt man auch bei längeren Nachrichten bei einem so kurzen Schlüssel, so kann ein Angreifer die Schlüssellänge herausbekommen und dann doch mit der Beachtung der Buchstabenhäufigkeiten Erfolg haben. Also nimmt man keine kurzen Schlüssel. 14 2. Kryptografie Das One-Time-Pad ist eine Verschlüsselungsmethode, bei der jede Schlüsselziffer nur einmal zum Verschlüsseln einer Ziffer der Nachricht verwendet wird. Abb. 2.7 One-Time-Pad als Abreißkalender Wenn jeder Schlüssel möglich ist, ist das One-Time-Pad mit unserer obigen Überlegung als sicher nachgewiesen. Die Zahlenfolge für den Schlüssel muss so lang sein wie die Nachricht. Und der Angreifer darf keine Schlüsselziffer vorhersagen können. Stellen Sie sich vor, zufällige Schlüsselziffern stünden auf einem Abreißkalender wie in Abb. 2.7, dessen Blätter Sie einzeln verwenden und dann wegwerfen. Nun widmen wir uns der Schwierigkeit, dass der Empfänger eine identische Kopie dieses Abreißkalenders braucht. Quasizufällige Zahlenfolgen kann man mit Computern leicht erzeugen. Mit quasizufällig meint man, dass die Zahlenfolge für einen Angreifer nicht erratbar ist, dass sie aber in Wahrheit durch einen Algorithmus, ein Rechenverfahren, erzeugt wird. Es eignen sich z. B. die Ziffern der Kreiszahl π von irgendeiner Startstelle aus, sagen wir ab der Stelle 123456789. Die beiden Kommunikationspartner starten dann die π-Berechnung oder allgemeiner einen Zufallszahlengenerator an derselben Stelle. Nun haben wir also den identischen Abreißkalender mit zufällig erscheinenden Ziffern, aber es bleibt noch das Problem, wie die Startstelle unangreifbar sicher übermittelt werden kann. Genau hier kommt die alte Kryptografie nicht weiter. 1976 haben Diffie und Hellman das Problem der sicheren Schlüsselvereinbarung gelöst, wie Sie in Abschnitt 2.5.1 sehen und verstehen können. Damit ist das Zeitalter der modernen Kryptografie eingeläutet, die sich vollständig von der Idee der „verborgenen Muster“ löst und als Werkzeuge große Primzahlen und das modulo-Rechnen etabliert. 2.2 Primzahlen Ein natürliche Zahl heißt Primzahl, wenn sie genau zwei Teiler hat, nämlich die 1 und sich selbst. Damit ist 2 die kleinste Primzahl und auch die einzige gerade Zahl unter den Primzahlen. Alle anderen geraden Zahlen haben ja die 2 als dritten möglichen Teiler. Die nachfolgenden Primzahlen sind 3, 5, 7, 11, 13, 17, 19, . . ., dabei sagen die drei Pünktchen nur, dass noch weitere Primzahlen folgen. Nicht gemeint ist, dass nun die 21 folgt, 2.2 Primzahlen 15 es gilt nämlich 21 = 3 ⋅ 7, und 21 ist daher keine Primzahl. Es gibt gar keine nützliche Formel zur Erzeugung der Primzahlenfolge. Man kann sich nur die Primzahlkandidaten ansehen und dann auf irgendeine Weise entscheiden, ob es sich um eine Primzahl handelt oder nicht. Bei 35 sieht man es sofort. Bei meiner Autonummer 731 ist es schon weniger intuitiv zu sehen, mit Suchen findet man 731 = 17 ⋅ 43, also ist 731 keine Primzahl. Bei großen Zahlen wird es immer schwieriger Faktoren zu finden. 2.2.1 Faktorensuchen ist schwer Was heißt hier große Zahlen? In der Kryptografie werden Zahlen von etwa 300 Stellen Länge verwendet. Überlegen wir, wie viele Prüfungen man wohl braucht, um eine große Zahl in der Nähe von 10300 in Faktoren zu zerlegen. Wenn die Zahl ungerade ist, braucht man keine geraden Zahlen als mögliche Faktoren mehr zu testen. Man hat aber immer noch 5 ⋅ 10299 Kandidaten. Vielleicht reduziert sich die Zahl der möglichen Faktoren erheblich, wenn man nur Primzahlen als Testkandidaten nimmt? Das ist aber nicht der Fall, denn nach einer Abschätzung von Euler gibt es unterhalb einer großen Zahl x etwa x Primzahlen. Hier ist ln (10300 ) ≈ 690, also reduziert sich die Zahl durch diesen ln(x) Gedanken nur um 3 Zehnerpotenzen auf 7 ⋅ 10296 . Dabei ist noch unberücksichtigt, dass man für die Testzahlen erstmal wissen muss, ob sie Primzahlen sind oder nicht. Ein weiterer Reduzierungsgedanke ist, dass man nur bis√ zur Wurzel der zu testenden Zahl prüfen muss. Bei meiner Autonummer 713 wäre das 731 ≈ 27,05. Tatsächlich hat man durch Suchen den Primfaktor 17 kleiner als 27 gefunden, der andere Primfaktor 43 ergibt sich dann durch Division. Wenn nämlich x = a ⋅ b gilt, dann sind entweder die beiden Faktoren gleich – und damit gleich der Wurzel aus x – oder einer der Faktoren ist 10 150 147 kleiner als diese Wurzel. Es gibt nun also ungefähr ln(10 Primzahlen kleiner 150 ) ≈ 3⋅10 300 als die Wurzel aus 10 . Diese muss man aber bei dem vorgestellten Suchverfahren nun wirklich testen. Überlegen wir, wie lange das dauert. Gehen wir davon aus, dass ein Computer 1012 Prüfungen pro Sekunde ausführen kann. Dann schafft er bei Dauerbetrieb im Jahr 1012 ⋅ 60 ⋅ 60 ⋅ 24 ⋅ 365 ≈ 3 ⋅ 1019 Prüfungen. Damit würde dieser Computer etwa 3 ⋅ 10147 ÷ (3 ⋅ 1019 ) = 10147−19 = 10128 Jahre brauchen. Die Astronomen geben das Alter unserer Welt seit dem Urknall mit 1010 Jahren an. Wenn jeder Mensch vom Baby in China bis zum Greis in Island einen solchen Computer für diese Prüfung beisteuern würde und reiche Menschen sogar zwei, kämen wir vielleicht auf zehn Milliarden solcher Computer. Wenn dann auch noch jeder Computer 1000-mal so schnell wie die heute schnellsten wäre, dann dürften wir von der 128 nur eine 13 abziehen. Der Zeitbedarf bleibt aberwitzig lang. Das Suchen von Faktorisierungen durch diese Art von Testen kann bei den Zahlen, die in der Kryptografie verwendet werden, nicht klappen. Allenfalls könnten sich die Mathematiker bessere Verfahren ausdenken. Das haben sie nach Kräften getan, aber sie sind dabei nicht drastisch genug besser geworden. Zurzeit sind die Mathematiker der Ansicht, dass Faktorisieren zu der großen Gruppe der nicht effizient lösbaren Probleme zählt. Mehr über Berechenbarkeit können Sie in Abschnitt 8.6 erfahren. 16 2. Kryptografie 2.2.2 Die Menge der Primzahlen Bis jetzt habe ich Ihnen noch nicht gezeigt, wozu man die Primzahlen braucht. Das kann auch erst wirklich deutlich werden, wenn wir in Abschnitt 2.5 zu den eigentlichen Verfahren der modernen Kryptografie kommen. Primzahlen spielten schon im Altertum eine Rolle. Überliefert von dem griechischen Mathematiker Euklid (um 300 v. Chr.) ist folgender Satz: Satz 2.1: Primzahlsatz von Euklid Es gibt unendlich viele Primzahlen. Die Denkweise des Euklid hat das Denken der Mathematiker über mehr als 2000 Jahre geprägt. Daher möchte ich Ihnen seinen Beweis nicht vorenthalten. Er führt diesen Beweis indirekt. Bei einem indirekten Beweis nimmt man zu Beginn des Beweises das Gegenteil der Behauptung an und erzeugt dann auf logischem, unanfechtbarem Weg einen Widerspruch. Indirekter Beweis des Primzahlsatzes Wenn es nur endlich viele Primzahlen gibt, dann denken wir uns alle in eine endliche Liste geschrieben. Wir bilden eine Zahl m, indem wir das Produkt aller Zahlen der Primzahlliste bilden und dann noch eine 1 addieren. Die Zahl m ist dann durch keine der verwendeten Primzahlen teilbar. Das ist klar, denn wenn wir z. B. ein Vielfaches von 7 haben, erreichen wir das nächste Vielfache von 7 erst, wenn wir 7 hinzuzählen. Addieren wir nur 1, ist die Zahl nicht durch 7 teilbar. Für die obige Zahl m gibt es nun nur zwei Möglichkeiten: 1. Sie ist nicht in Faktoren zerlegbar. Dann ist sie aber eine Primzahl, die nicht in unserer angeblich vollständigen Liste ist. 2. Sie ist in Faktoren zerlegbar. Diese Faktoren, die sicher beide kleiner sind als m, können dann aber auch keine Primzahlen unserer Liste als Teiler haben. Für sie gibt es wieder nur die zwei Möglichkeiten 1. und 2. Da wir nur endlich viele natürliche Zahlen für die immer kleiner werdenden Faktoren zur Verfügung haben, endet diese Überlegung schließlich immer bei Nummer 1. Also gibt es immer mindestens noch eine Primzahl, die nicht in unserer angeblich vollständigen Liste ist. Das ist ein Widerspruch. Damit existiert niemals eine vollständige endliche Liste von Primzahlen. q. e. d. Übrigens ist q. e. d. die Abkürzung der lateinischen Worte quod erat demonstrandum, zu Deutsch: was zu beweisen war. Die Erkenntnisse über Primzahlen und die Teilbarkeit der anderen ganzen Zahlen gehören zu dem mathematischen Arbeitsgebiet der Zahlentheorie. Dabei sind die ganzen Zahlen Z = {. . .−2, −1, 0, 1, 2, 3. . .} gemeint. Das Wort teilbar bezieht sich in der Zahlentheorie ausschließlich auf das Teilen ohne Rest. Bruchrechnung kommt in der Zahlentheorie also nicht vor. 17 2.3 Restklassen modulo n Satz 2.2: Fundamentalsatz der Zahlentheorie Jede ganze Zahl hat ihre eindeutig bestimmte Zerlegung in Primfaktoren. Die Reihenfolge der Faktoren ist unwesentlich. Anstelle eines Beweises machen wir uns klar, was dieses beispielhaft bedeutet. Die folgenden Zahlen können auf die angegebene Weise in Primfaktoren zerlegt werden und anders nicht: 731 = 17 ⋅ 43 , 250 348 = 22 ⋅ 7 ⋅ 8941 , 360 = 23 ⋅ 32 ⋅ 5 . Wenn ich von einer Zahl weiß, dass sie durch 2 und auch durch 5 teilbar ist, dann enthält ihre Primfaktorzerlegung mindestens eine 2 und eine 5, also hat die Zahl am Ende mindestens eine 0. Wenn ein Produkt a ⋅ b von einer Primzahl, sagen wir der 7, geteilt wird, dann enthält mindestens einer der Faktoren diese Primzahl, also die 7. So ein Satz gilt nicht für Nichtprimzahlen. Wenn ein Produkt a ⋅ b von 6 geteilt wird, dann muss nicht einer der Faktoren von 6 geteilt werden: 18 = 2 ⋅ 9, aber weder 2 noch 9 werden von 6 geteilt, obwohl die 18 von 6 geteilt wird. Auf der Website gibt es eine interaktive Datei, die Ihnen jede (vernünftige) Zahl in Primfaktoren zerlegt. Es gibt viele einfach zu verstehende Aussagen der Zahlentheorie. Zum Teil sind sie Schulstoff für elfjährige Kinder. Andererseits gibt es gerade in der Zahlentheorie etliche noch unbewiesene Vermutungen. Die für die Kryptografie wichtigste ist die Riemannsche Vermutung über die Verteilung der Primzahlen. Seit ihrer Formulierung durch Bernhard Riemann Mitte des 19. Jahrhunderts trotzt sie allen Beweisanstrengungen. Seit dem Jahr 2000 winken demjenigen, der sie beweist, eine Million Dollar. Oben wurde gezeigt, dass das Finden der Primfaktorzerlegung für große Zahlen i. A. schwer ist. Will man lediglich mit hoher Wahrscheinlichkeit entscheiden, ob eine Zahl Primzahl ist oder nicht, gibt es zum Glück auch Primzahltests, die nicht auf der Faktorzerlegung von Zahlen beruhen. Einen davon werden wir auf Seite 27 kennenlernen. 2.3 Restklassen modulo n Sie sehen in Abb. 2.8 die Zahlen 0, 1, 2, 3, 4 an die Punkte eines Kreises geschrieben. Stellen Sie sich einen Mathekäfer vor, der bei 0 startet und auf dem Fünfeck zur 1, dann zur 2, 3 und 4 krabbelt. Wenn er nach der 4 wieder bei 0 ankommt, ist er fünf Strecken gelaufen, daher steht neben der 0 noch eine kleine 5. Bei seinem nächsten 0-Durchgang ist er 10, dann 15, . . . Strecken gelaufen. Wenn er rückwärts läuft und diese Strecken auch negativ zählt, dann kommen die Zahlen −5, −10, . . . auch bei den 0-Durchgängen vor. Ebenso kann man all die anderen Zahlen deuten. Wenn er bei der 2 vorbeikommt, ist er entweder sieben Strecken gelaufen oder 12 oder drei rückwärts usw. Die 2 entsteht bei allen diesen Zahlen als Rest, wenn man vollständige Runden nicht berücksichtigt. Die Zahlen {2, 7, 12, 17, . . . , −3, −8, . . .} heißen darum die Restklasse der 2 in diesem Fünfeck oder die Restklasse der 2 modulo 5. 18 2. Kryptografie Abb. 2.8 Visualisierung der Restklassen modulo 5 In diesem Abschnitt zeige ich Ihnen ausführlich das modulo-Rechnen, das man für die Kryptografie unbedingt braucht. Hier ist die Idee: Man rechnet wie immer und nimmt als Ergebnis aber die Zahl am entsprechenden roten Punkt. Das ist die kleinste positive Zahl in derselben Restklasse. Also3+4 ≡ 7 ≡ 2, in Worten: (3+4) modulo 5 ist gleich 2. Bevor wir in die Einzelheiten 5 5 gehen, kommt die „Programmvorschau“. 2.3.1 Vorschau auf die kryptografischen Rechnungen Es wird in der Kryptografie in so einem Kreis wie in Abb. 2.8 gerechnet. Er hat aber nicht fünf, sondern n Punkte und n ist unvorstellbar groß, in der Größenordnung 10300 . Auf einen Kreisrand, der unser bekanntes Universum umfassen könnte, passen allenfalls 1050 Atome. Wäre das Universum eine Kugel voller Atome, kämen wir – uns gäbe es dann gar nicht – auch erst auf die Größenordnung von 10150 Atomen. Das lateinische Wort potentia heißt Macht und es ist schon erstaunlich, dass wir eine Potenz wie 10300 so einfach hinschreiben können, obwohl die Größe solcher Zahlen unsere menschliche Vorstellungskraft sprengt. „Vorstellen“ im Sinne von „vor uns hinstellen“ können wir uns das nicht. Aber mit mathematischem Denkwerkzeug bezwingen wir diese Riesigkeit, sogar noch Potenzen dieser Zahlen. Als Vorschau zeige ich Ihnen einen typischen Vorgang, dessen Richtigkeit Sie jetzt überhaupt noch nicht verstehen können. Zunächst die formelmäßige Darstellung: Berta: c ≡ me n → Anton: d c d ≡ (m e ) ≡ m n n Nun dasselbe als Text: Berta will eine Nachricht m an Anton senden. Sie nimmt Antons öffentliches Schlüsselpaar (n, e). Sie rechnet modulo n die e-te Potenz von m aus und sendet das Ergebnis c an Anton. Dieser potenziert modulo n das c mit seinem privaten Schlüssel d und kann dann m lesen. Wenn ich Ihnen also in den folgenden Abschnitten das modulo-Rechnen, besonders das Potenzieren und die Inversenbildung, vorstelle und wenn Sie den mit kleinen Zah- http://www.springer.com/978-3-662-46612-4