Mathematische Puzzles - Weblearn
Transcrição
Mathematische Puzzles - Weblearn
Hochschule Bremen Fakultät E-Technik & Informatik Mathematische Puzzles Prof. Dr. Th. Risse Anregendes, Bereicherndes, Cooles, Einschlägiges, . . . Informatives, . . . Kurzweiliges, Lehrreiches, Merkwürdiges, . . . Praktisches, . . . Spielerisches, . . . Unterhaltsames, . . . Zuträgliches, ein kleiner Beitrag zur mathematischen (Allgemein-) Bildung! c 2002–2014 Letzte Änderung: 8. August 2014 risse(at)hs-bremen.de Version 0.5 Inhaltsverzeichnis 0. Einbettung 1. Rätsel [7] • Abmessen mit zwei Gefäßen • Rennen • Volkszählung bzw. Volkszählungsboykott • Zick-Zack zwischen Zügen • Hinund Rück-Reise • Magische Quadrate • Auffälliger Text • Über Geld spricht man nicht • korruptes Postsystem • Gleichberechtigung • Zwei- und Mehr-Augen 2. Mehr Rätsel [11] • Streichhölzer • Umfüllen • Analytische Rätsel I • Analytische Rätsel II • Analytische Rätsel III • Analytische Rätsel IV • Analytische Rätsel V • Brückenquerung • Synthetische Rätsel I • Synthetische Rätsel II • Synthetische Rätsel III • Synthetische Rätsel IV • Dialektisches Rätsel • Rätsel, 588 • Rätsel, 622 • Labyrinth, 652 • Rätsel, 680 • Rätsel, 708 • Rätsel, 734 • Rätsel, 750 • Rätsel, 772 3. Prim-Zahlen Inhaltsverzeichnis (Forts.) 3 • Fermat-Zahlen • Euler-Zahlen • Mersenne-Zahlen 4. Rechnen mit Divisionsresten • Entscheidend ist, was übrig bleibt • mit Resten rechnen • geschickt mit Resten rechnen • Euklid & der kleine Fermat • Fermat, Euler und mehr • Chinesisches • Galois-Körper GF(p) • Galois-Körper GF(pn ) 5. Kryptographie • Caesar und Kohorten • Caesar generell • Vigenère und Konsorten • tarnen, tauschen und ... • DES • öffentliche Schlüssel? • RSA • AES • Elliptische Kurven über R • Elliptische Kurven über GF(p) • Elliptische Kurven über GF(2m ) • Elliptic Curve Cryptography, ECC 6. Kompression • Ausnutzen relativer Häufigkeiten • Wörterbücher nutzen 7. Wahrscheinlichkeit & Intuition • Karten & Ziegen • Algorithmen erzeugen Zufall? • Was ist zufällig am Zufall? 8. Quellen und links Lösungen zu Problemen 4 0. Einbettung Zur Einstimmung finden Sie einige mathematische Rätsel. Ernsthafter und weniger spielerisch gemeint ist die Präsentation grundlegender Verfahren der Kryptographie, Codierung, Wahrscheinlichkeit etc. zum Ausprobieren. Viele im Dokument eingebettete Algorithmen erlauben, diese Verfahren selbst zu untersuchen. Weitere interaktive Dokumente sind z.B. www.weblearn.hs-bremen.de/risse/MAI/docs/numerik.pdf oder www.weblearn.hs-bremen.de/risse/MAI/docs/heath.pdf. Die Funktionalität von pdf-Dokumenten erlaubt Ihnen, bequem sich die Sie interessierenden Problem-Felder oder EinzelProbleme • auszusuchen und Algorithmen auszuführen, leicht von Problemstellung zur Lösung und zurück zu blättern, einfach auch die zahlreichen links auf Informationen auf unserem webDAV server oder im WWW zu besuchen. 5 1. Rätsel [7] • Abmessen mit zwei Gefäßen Problem 1. Zur Verfügung stehen zwei Gefäße mit p ` und q ` Fassungsvermögen und beliebig viel Wasser. Können bestimmte Wassermengen m abgemessen werden? (a) p = 5, q = 3, m = 4 (b) p = 5, q = 3, m = 1 (c) p = 4, q = 9, m = 1, 2, . . . , 13 (d) p = 6, q = 3, m = 4 • Rennen Problem 2. (a) Beim Gipfelsturm auf einen 3000er schafft Sisyphos pro Tag 300 Höhenmeter, rutscht aber während jeder Nacht wieder um 200 Höhenmeter zurück. Am wievielten Tag erreicht Sisyphos den Gipfel? Abschnitt 1: Rätsel [7] 6 (b) Bei einem 100m Rennen schlägt der Erste A den Zweiten B um 10m. Der Zweite B schlägt den Dritten C um 10m. Um wieviele Meter schlägt der Erste A den Dritten C ? • Volkszählung bzw. Volkszählungsboykott Problem 3. (a) Bei einer Volkszählung entspinnt sich folgender Dialog: Zähler: Anzahl der Kinder? Merkmalsträger: drei! Zähler: ganzzahliges Alter der Kinder? Merkmalsträger: Das Produkt der Jahre ist 36. Zähler: Diese Auskunft reicht mir nicht! Merkmalsträger: Die Summe der Jahre stimmt mit der Hausnummer unseres Nachbarn überein. (Der Zähler ermittelt die Hausnummer.) Zähler: Das reicht mir immer noch nicht! Merkmalsträger: Unser ältestes Kind spielt Klavier. Wie alt sind die drei Kinder? Abschnitt 1: Rätsel [7] 7 • Zick-Zack zwischen Zügen Problem 4. (a) Zwei Züge starten auf derselben Strecke 100km entfernt und fahren mit 50km/h aufeinander zu. Ein Fliege fliegt mit 75km/h zwischen diesen beiden Zügen hin und her. Wieviele Kilometer hat die Fliege bis zur unausweichlichen Katastrophe zurückgelegt? • Hin- und Rück-Reise Problem 5. (a) Jemand macht sich mit Sonnenaufgang in A auf wandert mit beliebigen Pausen nach B, wo er bei Sonnenuntergang eintrifft. Am nächsten Tag erfolgt die Rückreise auf demselben Weg: Aufbruch bei Sonnenaufgang in B, beliebige Pausen, Rückkunft bei Sonnenuntergang in A. Abschnitt 1: Rätsel [7] 8 Es gibt einen Punkt des Weges, den der Reisende auf Hin- und Rückweg zu genau derselben Tageszeit passiert. • Magische Quadrate Problem 6. (a) Magische Quadrate sind Anordnungen natürlicher Zahlen in quadratischen Matrizen, so daß die Summen der Elemente in jeder Spalte, Zeile und Diagonale identisch sind. a b c a + b + c = s ... a + d + g = s ... mit d e f a + e + i = s ... g h i Es gibt bis auf Symmetrie genau ein magisches Quadrat mit den natürliches Zahlen 1, 2, . . . , 9 angeordnet in einer 3 × 3-Matrix. • Auffälliger Text Problem 7. Abschnitt 1: Rätsel [7] 9 (a) Study this paragraph and all things in it. What is virtually wrong with it? Actually, nothing in it is wrong, but you must admit that it is most unusual. Don’t zip through it quickly, but study it scrupulously. With luck you should spot what is so particular about it. Can you say what it is? Tax your brains and try again. Don’t miss a word or a symbol. It isn’t all that difficult. • Über Geld spricht man nicht Problem 8. (a) Ein Personalchef möchte das Durchschnittsgehalt der Mitarbeiter einer Abteilung ohne Verstoß gegen Datenschutz usw. ermitteln, d.h. ohne von individuellen Gehältern Kenntnis zu nehmen. • korruptes Postsystem Problem 9. Abschnitt 1: Rätsel [7] 10 (a) In einem korrupten Postsystem wird jeder Brief geöffnet und der Inhalt unabhängig von seinem Wert entfernt. Nur sicher verschlossene Kisten (strong box) werden zuverlässig befördert. Wie kann Bob seiner Alice ein wertvolles Schmuckstück in einer mit mehreren Vorhänge-Schlössern zu sichernden Kiste schicken, wenn sich Alice und Bob über Art und Weise des Transfers (etwa telephonisch) verständigen können? • Gleichberechtigung Problem 10. (a) Alice und Bob haben eine Wochenendbeziehung. Sie wollen sich wechselweise besuchen und durch Münzwurf herausfinden, wer am nächsten Wochenende mit der Fahrerei anfängt. Abschnitt 1: Rätsel [7] 11 • Zwei- und Mehr-Augen Problem 11. Vom Zwei-Augen-Prinzip spricht man, wenn zwei Personen mit je einem Schlüssel oder wenn zwei Passwörter nötig sind, um einen Tresor oder eine Datei zu öffnen. Jede Person öffnet mit ihrem Schlüssel ihr Tresor-Schloß oder fügt ihr Teil-Passwort mit demjenigen der anderen Person zum vollständigen Passwort zusammen. (a) Alice, Bob und Claire verfügen über einen Tresor mit diversen Schlössern. Sie wollen sicherstellen, daß nur mindestens zwei Personen zusammen den Tresor öffnen können. Mit wievielen Schlössern und wievielen Schlüsseln zu jedem Schloß ist dies zu bewerkstelligen? (b) Jetzt wollen Alice, Bob, Claire und Denis sicherstellen, daß nur mindestens zwei Personen zusammen den Tresor öffnen können. Minimal wieviele Schlössern und minimal wieviele Schlüssel zu jedem Schloß sind nötig? (c) Nur mindestens m von insgesamt n Personen sollen zusammen den Tresor öffnen können. Wieviele Schlösser, wieviele Schlüssel? 12 2. Mehr Rätsel [11] • Streichhölzer Problem 12. Es sind eine gegebene Anzahl von Streichhölzern so umzulegen, daß eine gegebene Anzahl gleich großer Quadrate entstehen. (a) Man lege vier Streichhölzer so um, daß drei gleich große Quadrate entstehen. (b) Man lege zwei Streichhölzer so um, daß vier gleich große Quadrate entstehen. (c) Man lege drei Streichhölzer so um, daß drei gleich große Quadrate entstehen. (d) Man lege drei Streichhölzer so um, daß fünf gleich große Quadrate entstehen. Abschnitt 2: Mehr Rätsel [11] 13 • Umfüllen Problem 13. (a) Wie kann man 6 Liter Wasser aus einem Fluß abfüllen, wenn nur ein 4-Liter- und ein 9-Liter-Eimer zur Verfügung stehen? (b) Wie kann man genau 1 Liter Wasser aus einem Behälter abmessen, wenn nur ein 3-Liter- und ein 5-Liter-Behälter zur Verfügung stehen? (c) Ein 8-Liter-Kanister sei voll Weins. Wie kann man genau 4 Liter abmessen, wenn nur ein 3-Liter- und ein 5-Liter-Krug zur Verfügung stehen? (d) Ein Faß enthalte 18 Liter Weins. Es gibt einen 2-Liter-Becher, einen 5-Liter-Krug und einen 8-Liter Eimer. Wie kann man den Wein so verteilen, daß sich die Hälfte im Faß, ein Drittel im Eimer und ein Sechstel im Krug befinden? • Analytische Rätsel I Problem 14. Abschnitt 2: Mehr Rätsel [11] 14 (a) Die Summe der Lebensalter der Mitglieder einer Familie, Vater, Mutter und zwei Kinder, sei 124. Vater und Mutter sind zusammen dreimal so alt wie die Kinder. Die Mutter ist mehr als doppelt so alt wie das älteste Kind. Die Differenz Alter des Vaters minus Alter der Mutter sei neunmal so groß wie die Differenz Alter des älteren Kindes minus Alter des jüngeren Kindes. Wie alt ist jedes Familien-Mitglied? (b) Emil ist 24 Jahre alt. Er ist damit doppelt so alt wie Anton war, als Emil so alt war, wie Anton jetzt ist. Wie alt ist Anton? (c) In einem Kaufhaus bekommt man 20% Rabatt, muß aber 15% Umsatzsteuer zahlen. Ist es günstiger, zuerst den Rabatt abzuziehen oder zuerst den Steueraufschlag vorzunehmen? 2 1 (d) Die L-förmige Fläche ist in vier kongruente Teilflächen zu zerlegen. 2 1 (e) Wenn Fritz 5 Jahre jünger wäre, dann wäre er zweimal so alt wie Abschnitt 2: Mehr Rätsel [11] 15 Paul war, als er 6 Jahre jünger war. Wenn Fritz 9 Jahre älter wäre, dann wäre er dreimal so alt wie Paul, wenn Paul 4 Jahre jünger wäre. Wie alt sind Fritz und Paul? • Analytische Rätsel II Problem 15. (a) (b) (c) (d) Die Ecken des Dreieckes sind mit unbekannten 11 18 natürlichen Zahlen etikettiert. Die Kanten sind mit der Summe der Etiketten der inzidenten Ecken etikettiert. Wie lauten die Etiketten der 27 Ecken? Hans ist 34 Jahre, seine Fau 30 und seine Tochter 7 Jahre alt. Vor wievielen Jahren waren Frau und Tochter zusammen genauso alt wie Hans? Drei Gänse wiegen zusammen 10kg. Die zweite Gans ist um ein Drittel schwerer als die erste. Die dritte Gans ist um ein viertel leichter als die zweite. Wie schwer ist jede Gans? Gibt es vier natürliche Zahlen mit Summe 79 und Abschnitt 2: Mehr Rätsel [11] 16 • Die Zweite ist um 1 kleiner als das Doppelte der Ersten. • Die Dritte ist um 1 kleiner als das Doppelte der Zweiten. • Die Vierte ist um 1 kleiner als das Doppelte der Dritten. (e) Ein Maultier und ein Esel schreiten mit Säcken beladen ihres Weges. Der Esel stöhnt unter seiner Last. Darauf spricht das Maultier: Was jammerst Du? Doppelt soviel wie Du trüge ich, gäbst Du einen Sack mir. Nähmst Du mir einen Sack ab, so trügen wir beide gleich viele Säcke. Wieviele Säcke trägt der Esel, wieviele das Maultier? • Analytische Rätsel III Problem 16. (a) Welchen Radius hat ein Kreis, der ebensoviele Zentimeter Umfang wie Quadratzentimeter Fläche besitzt? (b) Ein Zug fährt in 7sec am Bahnhofsvorsteher vorbei. Der Bahnsteig ist 330m lang. Der Zug braucht 18sec von Beginn des Bahnsteiges und der Lok bis zum Ende des Bahnsteiges und des letzten Wagens. Wie lang ist der Zug und wie schnell fährt er? Abschnitt 2: Mehr Rätsel [11] 17 (c) Ein Arbeiter stellt die erste Hälfte von Werkstücken mit einer Rate von 10 Werkstücken pro Tag und die zweite Hälfte mit 30 Werkstücken pro Tag her. Wieviele Werkstücke stellte der Arbeiter durchschittlich pro Tag her? (d) Sind alle palindromischen vierstelligen Dezimalzahlen durch 11 teilbar? (e) As I was going to St. Ives / I met a man with seven wives. / Each wife had seven sacks, / Each sack had seven cats, / Each cat had seven kids, / Kids, cats, sacks, wives, / How many were going to St. Ives? (f) Um welchen Bruchteil übertrifft vierviertel die Zahl dreiviertel? • Analytische Rätsel IV Problem 17. (a) Wenn 5 Katzen in 5 Minuten 5 Mäuse fangen, wieviele Katzen fangen dann 100 Mäuse in 100 Minuten? (b) Wenn man weiß, wie man Zahlen kleiner als 6 miteinander multi- Abschnitt 2: Mehr Rätsel [11] 18 pliziert, weiß man auch, wie man Zahlen zwischen 6 und 10 miteinander multipliziert: Man hält beide Hände vor sich: um etwa 7 mit 9 zu multiplizieren, senkt man 7 − 5 = 2 Finger der linken Hand und 9 − 5 = 4 Finger der rechten Hand. Dann zählt man die 2 + 4 = 6 gesenkten Finger und multipliziert 3 · 1 = 3 die ausgestreckten Finger der einen mit den ausgestreckten Fingern der anderen Hand. Das Ergebnis 63 entsteht aus 6·10+3. Funktioniert das Verfahren immer? (c) Anderthalb Hennen legen anderthalb Eier in anderthalb Tagen. Wieviele Eier legen sieben Hühner in sechs Tagen? (d) Es gebe vier Sorten Kugeln A, B, C und D. Kugeln gleicher Sorte haben gleiches Gewicht. Es ist bekannt, daß • zwei Kugeln der Sorte B so schwer sind wie eine Kugel der Sorte A, • drei Kugeln der Sorte C so schwer sind wie eine Kugel der Sorte B, • fünf Kugeln der Sorte D so schwer sind wie eine Kugel der Sorte C. Wieviele Kugeln der Sorte D sind so schwer wie eine Kugel der Abschnitt 2: Mehr Rätsel [11] 19 Sorte A? (e) Eine Familie bestehe aus Vater, Mutter, zwei Söhnen und zwei Töchtern. Das Produkt des ganzzahligen Alters der weiblichen Familienanghörigen beträgt 5291, das des ganzzahligen Alters der männlichen Familienanghörigen beträgt 3913. Zwei Kinder der Familie sind Zwillinge. Sind nun diese Zwillinge gleichen oder verschiedenen Geschlechts? • Analytische Rätsel V Problem 18. (a) Ein Zug fährt mit konstanter Geschwindigkeit über eine 225 m lange Brücke in 27 sec, von der Auffahrt der Lokomotive auf die Brücke bis zur Abfahrt des letzten Waggons von der Brücke. An einem Fußgänger, der in Gegenrichtung unterwegs ist, fährt der Zug in 9 sec vorüber. In dieser Zeit legt der Fußgänger 9 m zurück. Wie lang ist der Zug und welche Geschwindigkeit hat er? (b) x2 − x2 = x2 − x2 ⇒ (x + x)(x − x) = x(x − x) ⇒ x + x = x ⇒ Abschnitt 2: Mehr Rätsel [11] 20 2x = x ⇒ 2 = 1 Wo ist der Fehler? (c) Führe ganzzahlige Divisionen durch. Wird der Dividend um 65 und der Divisor um 5 erhöht, so verändern sich Quotient und Rest nicht. Wie lautet der Quotient? (d) Ist es möglich, fünf aufeinander folgende positive ganze Zahlen derart zu finden, daß die Summe der Quadrate der beiden größten Zahlen der Summe der Quadrate der drei anderen Zahlen entspricht? (e) Eine Flasche Wein kostet 9 Euro. Der Wein kostet 8 Euro mehr als die Flasche. Wie teuer ist die Flasche? (f) Ein Bauer baut auf einem Drittel seines Landes Weizen, auf einem Viertel Erbsen, auf einem Fünftel Bohnen und Mais auf den restlichen 26 ha. Wie groß ist sein Land? (g) Heini und Karl machen Rast. Einer der beiden packt fünf Würste, der andere drei Würste aus. Egon stößt zu ihnen und will mitessen: Ich bezahle meinen Anteil auch!“Einvernehmlich ißt jeder der ” drei gleichviel. Egon bezahlt 8 Euro. Wie müssen Heini und Karl die 8 Euro unter sich aufteilen? (h) Ein Bauer hat 17 Kühe testamentarisch unter seinen Söhnen auf- Abschnitt 2: Mehr Rätsel [11] 21 geteilt: der älteste bekommt die Hälfte der Kühe, der mittlere ein Drittel und der jüngste ein Neuntel der Kühe. Es darf keine Kuh getötet werden. Wie kann ein Nachbar bei der Aufteilung der Kühe helfen? • Brückenquerung Problem 19. (a) Vier Personen müssen nachts eine Hängebrücke überqueren. Die Querung darf nur mit Taschenlampe durchgeführt werden. Es gibt nur eine Taschenlampe mit maximale Leuchtdauer von einer Stunde. Auf der Brücke dürfen sich gleichzeitig maximal nur zwei Personen aufhalten. Die vier Personen brauchen für die Querung unterschiedlich viel Zeit: A 5 min, B: 10 min, C: 20 min, D: 25 min. Die langsamere von zwei Personen bestimmt das Tempo. In welcher Reihenfolge müssen die Personen die Brücke überqueren, so daß sie nach spätestens 60 min alle die andere Seite erreicht haben? Abschnitt 2: Mehr Rätsel [11] 22 • Synthetische Rätsel I Problem 20. Das gleichseitige Dreieck kann in drei kongruente Teildreiecke zerlegt werden. Die L-förmige Fläche kann in vier kongruente (Lförmige) Teilflächen zerlegt werden. Kann auch ein Quadrat in jetzt fünf kongruente Teilflächen zerlegt werden? Die sechs Geldstücke sollen so umgelegt werden, daß sich zwei gerade, jeweils aus vier Münzen be(b) stehende Reihen ergeben. Die neun Punkte sollen durch vier gerade Linien (c) in einem Zug verbunden werden. (d) Jeder der 30 Vasallen muß dem König 30 Goldmünzen zahlen. Wie bekannt zahlt einer von ihnen mit 9 g- statt mit den geforderten 10 g-Münzen. Wie kann der König mit einer einzigen Wägung den Betrüger feststellen? (a) 2 1 2 1 Abschnitt 2: Mehr Rätsel [11] 23 • Synthetische Rätsel II Problem 21. (a) Drei Bauern ordern zusammen einen Pflug für 30 Taler. Jeder bezahlt 10 Taler. Nach der Lieferung hält der Schmid den Preis für zu hoch, 25 Taler seien angemessen. Der Lehrling soll 5 Taler zurückerstatten. Der Lehrling kann 5 Taler nicht dritteln, gibt daher jedem Bauern einen Taler zurück und behält 2 Taler. Jeder Bauer hat dann also 9 Taler bezahlt, der Lehrling behält 2 Taler, macht zusammen 29 Taler. Wo ist der 30. Taler? (b) Aus sechs Streichhölzern baue man vier gleichseitige Dreiecke. (c) Zehn Bäume sollen so gepflanzt werden, daß sich fünf gerade Reihen mit je vier Bäumen ergeben. (d) Ein quadratischer Bierträger faßt 36 Flaschen. Ist es möglich, darin 14 Flaschen so anzuordnen, daß die Anzahl der Flaschen in jeder Zeile und in jeder Spalte gerade ist? Abschnitt 2: Mehr Rätsel [11] 24 • Synthetische Rätsel III Problem 22. (a) Multipliziere (x − a)(x − b) . . . (x − z) aus. (b) Ein sehr schwerer Sessel soll umgestellt werden. Man kann ihn aber nur um jede seiner Ecken um jeweils genau 90o drehen. Kann er am Ende genau neben seiner ursprünglichen Position stehen, wobei die Rückenlehne wieder hinten ist? (c) Von einem Schachbrett werden zwei gegenüber liegende Eckfelder entfernt. Kann man das modifizierte Schachbrett vollständig mit Domino-Steinen abdecken, die jeweils zwei Schachfelder überdecken? (d) Um eine zweistellige Zahl z5 mit Endziffer 5 zu quadrieren, multipliziert man z mit z + 1 und schreibt hinter das Ergebnis 25. So ergibt sich z.B. 752 = (7 · 8) · 100 + 25 = 5625. Funktioniert der Trick immer? • Synthetische Rätsel IV Problem 23. Abschnitt 2: Mehr Rätsel [11] 25 (a) Ein Quader soll in 27 kongruente kleine Quader zersägt werden. Dies ist mit sechs Schnitten möglich. Geht das auch mit weniger Schnitten? Bauen Sie ein Kartenhaus wie nebenstehend (b) angedeutet mit 47 Etagen. Wieviele Karten brauchen Sie? (c) Finde mit drei Wägungen auf einer Balkenwaage ohne Gewichte heraus, ob eine von 12 Gold Dublonen gefälscht und daher schwerer oder leichter als eine echte Dublone ist? (d) Gibt es eine Folge von Zahlen, in denen jede der Ziffern 0 bis 9 nur einmal vorkommt und deren Summe gleich 100 ist? 1 floor 2 floors 3 floors • Dialektisches Rätsel Problem 24. (a) Drei Gefangene werden entlassen, wenn sie folgendes Rätsel lösen: sie werden im gleichseitigen Dreieck mit verbundenen Augen jeweils zueinander zugewandt aufgestellt. Hinter jedem von den Dreien ist eines von drei weißen und zwei schwarzen Fähnchen Abschnitt 2: Mehr Rätsel [11] 26 aufgebaut (zwei der fünf Fähnchen werden nicht gebraucht). Die Augenbinden werden entfernt und diejenigen Gefangenen sollen entlassen werden, die die Farbe des Fähnchens hinter ihnen richtig erraten. Die Gefangenen denken eine Weile sehr angestrengt nach und nennen endlich nahezu gleichzeitig die richtige Farbe des Fähnchens hinter jedem von ihnen. Wie das? • Rätsel, 588 Problem 25. (a) An einem Waldlauf nehmen 81 Personen teil, doppelt so viel Männer wie Frauen. Die Anzahl der Kinder und Jugendlichen ist halb so groß wie die Anzahl der Erwachsenen. Es sind doppelt so viele Jugendliche wie Kinder. Wie viele Männer, Frauen, Jugendliche und Kinder nehmen teil? (b) VVVLLL symbolisiert eine Reihe von sechs Gläsern, drei vollen und drei leeren. Man bewege/berühre nur ein Glas (voll oder leer), um eine Reihe Abschnitt 2: Mehr Rätsel [11] 27 von Gläsern zu bekommen, in der sich volle und leere Gläaser abwechseln. (c) = Man bewege nur ein Streichholz, um eine korrekte Gleichung zu bekommen. (d) Lokführer, Heizer und Schaffner eines Zuges heißen J., M. und B., aber nicht notwendig in dieser Reihenfolge. Drei Reisende im Zug haben dieselben Namen, allerdings mit Doktortitel: Dr. J., Dr. M. und Dr. B. Bekannt ist 1. Dr. B. wohnt in Charlottenburg. 2. Dr. J. verdient 5000Euro pro Monat. 3. Der Schaffner wohnt auf halber Strecke zwischen Charlottenburg und Nürnberg. 4. Sein Nachbar, einer der Passagiere, verdient genau dreimal soviel wie er. 5. Der Namensvetter des Schaffners wohnt in Nürnberg. 6. M. besiegt den Heizer im Schach. Wie heißt der Lokführer? (e) Robert sammelt Eidechsen, Käfer und Würmer. Er hat mehr Würmer als Eidechsen und Käfer zusammen. Insgesamt hat er 12 Exemplare mit 26 Beinchen. Wieviele Eidechsen besitzt Robert? Abschnitt 2: Mehr Rätsel [11] 28 (f) Drei Männer haben jeweils zwei Jobs. Der Chauffeur hat den Musiker beleidigt. Musiker und Gärtner fischen zusammen mit Hans. Der Maler leiht sich was vom Kaufmann. Der Chauffeur macht der Schwester des Malers den Hof. Klaus schuldet dem Gärtner 20Euro. Joe schlägt Klaus und den Maler im Schach. Einer ist Friseur. Keine zwei gehen derselben Beschäftigung nach. Wer hat welche Berufe? (g) Fünf Frauen sitzen um einen runden Tisch. Frau Oßwald sitzt zwischen Frau Lutz und Frau Martin. Erika sitzt zwischen Katy und Frau Neidlinger. Frau Lutz sitzt zwischen Erika und Alice. Katy und Doris sind Schwestern. Bettina hat als linke Nachbarin Frau Pieper, als rechte Nachbarin Frau Martin. Wer mit welchem Vor- und Nachnamen sitzt wo am Tisch? • Rätsel, 622 Problem 26. (a) Gibt es genau 204 Quadrate auf einem Standard-Schachbrett? Abschnitt 2: Mehr Rätsel [11] 29 (b) Indem man mehrere Geraden durch ein Quadrat legt, zerlegt man dieses in disjunkte Gebiete. Wieviele Farben braucht man für das Einfärben der Gebiete mindestens, wenn keine zwei sich nicht nur in einem Punkt berührenden Gebiete dieselbe Farbe tragen? (c) Die Damen A., E., I., O. und U. arbeiten in einem Stern-förmigen Büro mit Zentrale und Flügeln in jede der vier Himmelsrichtungen. Wege zwischen den Flügeln führen immer durch die Zentrale. Bevor A. und ich unsere Arbeitsplätze getauscht haben, lag mein Raum nördlich von dem von O., die östlich von U. arbeitet, welche westlich von E. arbeitet. Vordem hat A. östlich von I. gearbeitet. Damals mußte A. in der Zentrale in den rechten Gang einbiegen, wenn sie E. besuchen wollte. Ich ging geradeaus, wenn ich A. besuchen wollte. Wer arbeitet wo? und wer ist ich? • Labyrinth, 652 Problem 27. (a) Gesucht ist der kreuzungsfreie Weg durch das Labyrinth zurück Abschnitt 2: Mehr Rätsel [11] 30 zu Ausgangspunkt. • Rätsel, 680 Problem 28. (a) Wie kann man mit einer 7-min- und einer 11-min-Sanduhr die Zeit für ein 15min-Ei abmessen? • Rätsel, 708 Problem 29. (a) Herr Pünktlich stellt sein Uhr am Samstag um 12h. Am Sonntag stellt er um 12h fest, daß seine Uhr 6min nachgeht. Herr Pünktlich vergißt, seine Uhr zu stellen. Welche Zeit zeigt seine Uhr am Monatg um 8h an? (b) Eine Frau kauft beim Bäcker die Hälfte aller Brote und ein halbes Brot. Ein zweite Frau kauft danach die Hälfte aller restlichen Brote und ein halbes Brot. Eine dritte Frau kauft danach die Hälfte Abschnitt 2: Mehr Rätsel [11] 31 aller nunmehr restlichen Brote und ein halbes Brot. Jetzt sind alle Brote verkauft. Wieviele Brote hat der Bäcker insgesamt verkauft? (c) Ein automatischer Stempel druckt beginnend mit 0 eine fortlaufende Zahl pro Sekunde. Wie oft wird die Ziffer 1 in der ersten Viertelstunde gedruckt? • Rätsel, 734 Problem 30. (a) Wenn sich Demonstranten in Zweier-, Dreier-, Vierer- bis hin zu Zehner-Reihen aufstellen, fehlt immer genau ein Demonstrant. Wieviel Demonstranten demonstrieren, wenn es insgesamt weniger als 5000 sind? (b) Meine Schwester, Du hast genauso viele Brüder wie Schwestern!“ ” Mein Bruder, Du hast zweimal mehr Schwestern als Brüder!“ ” Wieviele Kinder hat diese Familie? (c) Zwei Schwestern haben vier Jahre Altersunterschied. Die Differenz der Kubik-Zahl des Alters der Ersten und der Kubik-Zahl des Abschnitt 2: Mehr Rätsel [11] 32 Alters der Zweiten beträgt 988. Wie alt sind die Schwestern? • Rätsel, 750 Problem 31. (a) Auf einem großen Hof mit gleich vielen Kühen, Schweinen, Pferden und Kaninchen bricht eine Seuche aus. Alle beklagen sich: Vater: Jede fünfte Kuh ist gestorben. Mutter: Es gibt genauso viele tote Pferde wie überlebende Schweine. Sohn: Der neue neue Anteil von Kaninchen (unter den Überlebenden) beträgt 5/14. Oma: Der Tod hat keine Tierart verschont. Beweise, daß die Oma sich geirrt hat! • Rätsel, 772 Problem 32. (a) Eine Flasche Wein kostet 9 Euro. Der Wein kostet 8 Euro mehr als die Flasche. Wieviel kostet nur die Flasche? Abschnitt 2: Mehr Rätsel [11] 33 (b) Ein Vater im Sterben vermacht seinen Söhnen 30 Fässer, zehn volle, zehn halbvolle und zehn leere. Wie müssen Wein und Fässer aufgeteilt werden, damit jeder der drei Söhne gleichviel Wein und gleichviele Fässer bekommt? 34 3. Prim-Zahlen In den modernen Verfahren der Kryptographie spielen Prim-Zahlen eine entscheidende Rolle. Prim-Zahlen haben aber auch schon seit Jahrtausenden nicht nur Mathematiker herausgefordert. So gibt es beispielsweise seit langem Versuche, Prim-Zahlen algorithmisch zu erzeugen. • Fermat-Zahlen Problem 33. Die Fermat1 -Zahlen sind definiert durch n F (n) = 22 + 1 (a) Fermat ging fälschlicherweise davon aus, auf diese Weise (alle?) Prim-Zahlen aufzählen zu können. 1 Pierre Fermat (1601-1665) www-history.mcs.st-and.ac.uk/history/Biographies/Fermat.html Abschnitt 3: Prim-Zahlen 35 • Euler-Zahlen Problem 34. Die Euler2 -Zahlen sind definiert durch E(n) = n2 − n + 41 (a) Nur die ersten 40 Euler-Zahlen sind prim. 2 Leonhard Euler (1707-1783) www-history.mcs.st-and.ac.uk/Biographies/Euler.html Abschnitt 3: Prim-Zahlen 36 • Mersenne-Zahlen Problem 35. Die Mersenne3 -Zahlen sind definiert durch M (n) = 2n − 1 (a) Die Mersenne-Zahlen sind teilweise prim. Es gilt n nicht prim ⇒ M (n) nicht prim Leider ist M (n) nicht notwendig prim, falls n prim ist, wie schon kleine vierstellige (< 212 ) Mersenne-Zahlen zeigen. 3 Marin Mersenne (1588-1648) www-history.mcs.st-and.ac.uk/Biographies/Mersenne.html 37 4. Rechnen mit Divisionsresten • Entscheidend ist, was übrig bleibt Die Modulo-Arithmetik, also das Rechnen mit Divisionsresten, spielt (nicht nur) in der Kryptographie eine entscheidende Rolle. n mod m = r ⇐⇒ n = v m + r für n, v ∈ Z, m, r ∈ N und 0 ≤ r < m Problem 36. (a) Welchen Wochentag haben wir in n Tagen? (b) Welchen Wochentag hatten wir vor n Tagen? (c) Wie wird das UNIX-Datum berechnet, wenn intern ein Zähler die Sekunden seit dem 1.1.1970 0h zählt? Abschnitt 4: Rechnen mit Divisionsresten 38 • mit Resten rechnen n ≡ r (mod m) ⇐⇒ m | (n − r) ⇐⇒ m | n − r n ≡ r (mod m) ⇐⇒ n − r = v · m für m, r, v ∈ N und 0 ≤ r < m Problem 37. (a) Zusammenhang von n mod m = r und n ≡ r (mod m) (b) Additivität, Multiplikativität: n1 ≡ r1 (mod m) (n1 ± n2 ) ≡ (r1 ± r2 ) (mod m) ⇒ n2 ≡ r2 (mod m) (n1 · n2 ) ≡ (r1 · r2 ) (mod m) (c) skalare Vielfache, Potenzen c · n ≡ c · r (mod m) für jedes c ∈ N n ≡ r (mod m) ⇒ np ≡ rp (mod m) für jedes p ∈ N (d) Transitivität r ≡ s (mod m), s ≡ t (mod m) ⇒ r ≡ t (mod m) ? Abschnitt 4: Rechnen mit Divisionsresten 39 • geschickt mit Resten rechnen s(n) = P∞ i=0 zi bezeichne die Quersumme von n = P∞ i=0 zi 10 i . Problem 38. Lieber fix Teilbarkeit testen anstatt zu dividieren! (a) 3 | s(n) ⇒ 3 | n sowie 9 | s(n) ⇒ 9 | n Berechne 3, 1234567890 mod 9 usw. P∞ P∞ 1234567890 mod (b) 11 | i=o (−1)i zi ⇒ 11 | i=0 zi 10i Berechne 1234567890 mod 11 usw. (c) Die letzte Ziffer der 10-stelligen ISBNummern ist eine Prüfziffer, P9 und zwar n mod 11, wenn n = i=1 i · zi die gewichtete Summe 1·z1 +2·z2 +. . .+9·z9 der ersten neun Ziffern z1 . . . z9 bezeichnet. (Falls P∞ n mod 11 = 10, so repräsentiert ein X die Prüfziffer.) (d) 7| i=0 z7i+0P+ 3z7i+1 + 2z7i+2 − z7i+3 − 3z7i+4 − 2z7i+5 + z7i+6 ∞ ⇒ 7 | i=0 zi 10i Berechne 1234567890 mod 7 usw. (e) Parity, ECC, CRC, RSC, . . . ? Abschnitt 4: Rechnen mit Divisionsresten • Euklid & 40 der kleine Fermat Problem 39. ggT(a, b) bezeichne den größten gemeinsamen Teiler, ggT von a ∈ N und b ∈ N, d.h. ggT(a, b) = d ∈ N mit d | a und d | b sowie der Maximalität, i.e. d0 | a, d0 | b ⇒ d0 | d. (a) Für a, b ∈ N gilt ggT(a, b) = ggT(a, b mod a) = ggT(b, a mod b) (b) Iteration liefert den (abbrechenden) Euklid4 schen Algorithmus. (c) Fermat5 s kleiner Satz: Wenn p prim ist, dann gilt ap−1 ≡ 1 (mod p) für jedes zu p teilerfremde a ∈ N, d.h. a 6∈ pN oder ggT(a, p) = 1 Umkehrung (Kontraposition): an−1 6≡ 1 (mod n) für ein a ∈ N ⇒ n ist zusammengesetzt! (d) Es gilt die Implikation nicht deren Umkehrung 4 5 n prim ⇒ n | 2n−1 − 1 n prim ⇐ n | 2n−1 − 1 Euklid von Alexandria (ca 325-265) Pierre Fermat (1601-1665) www-history.mcs.st-and.ac.uk/Biographies/Euclid.html www-history.mcs.st-and.ac.uk/Biographies/Fermat.html Abschnitt 4: Rechnen mit Divisionsresten 41 • Fermat, Euler und mehr Problem 40. Die Euler6 -sche ϕ-Funktion ist definiert durch ϕ(n) = |{m ∈ N : m < n, ggT(m, n) = 1}| (a) (b) (c) (d) Für primes p gilt ϕ(p) = p − 1. Für primes p gilt ϕ(pk ) = pk − pk−1 = (p − 1)pk−1 . Für teilerfremde r und s gilt ϕ(r · s) = ϕ(r) · ϕ(s). Die Primfaktorzerlegung von n erlaubt also eine ganz einfache Berechnung von ϕ(n). Für prime p und q gilt also insbesondere ϕ(p · q) = ϕ(n) = n − (p + q) + 1 = (p − 1)(q − 1) für n = p · q (e) Satz von Euler, EFT7 : aϕ(n) ≡ 1 (mod n) für jedes n ∈ N und jedes zu n teilerfremde a. 6 Leonhard Euler (1707-1783) 1736 7 Euler-Fermat-Theorem, www-history.mcs.st-and.ac.uk/Biographies/Euler.html Abschnitt 4: Rechnen mit Divisionsresten 42 • Chinesisches Problem 41. (a) Chinesischer Restsatz: m1 , m2 , . . . , mn ∈ N seien paarweise teilerfremd. Um alle Lösungen x ∈ N mit x ≡ ri (mod mi ) für i = 1, . . . , n Qn zu finden, bestimmt man m = i=1 mi und bi = m/mi sowie xi mit xi bi = 1 mod mi , also xi als das (modulo mi )-Inverse zu bi für i = 1, . . . , n. Dann gilt: n X x≡ (xi bi ri ) (mod m) i=1 (b) Falls p und q teilerfremd sind, so gilt x = y mod p und x = y mod q ⇒ x = y mod (pq) (c) Das Alter etwa von Party-Gästen läßt sich aus den erfragten Resten bei Division durch 3, 5 und 7 erschliessen. Abschnitt 4: Rechnen mit Divisionsresten 43 • Galois-Körper GF(p) Problem 42. Gewöhnlich betreibt man Arithmetik in Körpern wie Q, R und C mit unendlich vielen Elementen. Etwa in der Kryptographie sind aber nur Körper mit endlich vielen Elementen relevant. Zur Erinnerung, ein Körper ist eine Menge K von Elementen zusammen mit zwei Operationen, nämlich Addition + und Multiplikation ·, so daß (K, +) (mit Null-Element 0) und (K ∗ , ·) = (K \ {0}, ·) (mit Eins-Element 1) kommutative Gruppen sind und die üblichen Distributiv-Gesetze gelten: (K, +) ist kommutative Gruppe (K ∗ , ·) ist kommutative Gruppe ∀a,b∈K a + b = b + a ∈ K ∀a,b∈K ∗ a · b = b · a ∈ K ∗ ∃0∈K ∀a∈K a + 0 = 0 + a = a ∃1∈K ∗ ∀a∈K ∗ a · 1 = 1 · a = a ∀a∈K ∃−a∈K a + (−a) = (−a) + a = 0 ∀a∈K ∗ ∃a−1 ∈K ∗ a · a−1 = a−1 · a = 1 a · (b + c) = a · b + a · c (a) Wie sind Addition und Multiplikation in GF(2) = {0, 1}, dem Galois8 -Körper der Ordnung 2, d.h. mit 2 Elementen, zu definieren? (b) Wie sind Addition und Multiplikation in GF(3) = {0, 1, 2}, dem 8 Evariste Galois (1811-1832) www-history.mcs.st-andrews.ac.uk/Biographies/Galois.html Abschnitt 4: Rechnen mit Divisionsresten 44 Galois-Körper der Ordnung 3, zu definieren? (c) Wie sind Addition und Multiplikation in GF(5) = {0, 1, 2, 3, 4}, dem Galois-Körper der Ordnung 5, zu definieren? (d) Wie kann diese Vorgehensweise für GF(p) = {0, 1, 2, . . . , p − 1}, Galois-Körper der primen Ordnung p, verallgemeinert werden? Und warum scheitert dieses Verfahren für GF(pq) mit primen p and q, d.h. für GF(m) mit zusammengesetztem m ? Abschnitt 4: Rechnen mit Divisionsresten 45 • Galois-Körper GF(pn ) Problem 43. Sei p prim und n ∈ N. Wenn man GF(pn ) auffaßt als Teilmenge von P(n), der Menge aller Polynome der Ordnung n, d.h. vom Grad n − 1, mit Koeffizienten in GF(p), sogenannte Polynome über GF(p), können Polynome über GF(p) wie üblich addiert werden. (a) Was ist dann GF(pn ), + ? (b) Was passiert, wenn zwei Polynome r, s ∈ GF(pn ) als Polynome über GF(p) multipliziert werden? (c) Angenommen, das Produkt zweier Polynome r, s ∈ GF(pn ) sei definiert als Rest des Produktes der beiden Polynome über GF(p) bei Division durch ein Polynom m. Für welche Polynome m liegt jedes dieser so definierten Produkte notwendig wieder in GF(pn ) ? (d) Welche Polynome m(x) müssen ausgeschlossen werden, will man garantieren, daß Produkte nicht-verschwindender Faktoren nicht selbst verschwinden? (e) Warum ist etwa m1 (x) = x2 + 1 ein reduzibles und m2 (x) = x2 + x + 1 ein irreduzibles Polynom über GF(2) ? Abschnitt 4: Rechnen mit Divisionsresten 46 Problem 44. (a) Wie sehen die Multiplikation und die Bestimmung inverser Elemente in GF(22 ) mit m(x) = x2 + x + 1 aus? (b) Sei m(x) ein irreduzibles Polynom über GF(p) mit Grad n. Sei eine Multiplikation für r, s ∈ GF(pn )∗ durch r · s := r(x) · s(x) mod m(x) definiert. Was ist dann GF(pn )∗ , · ? (c) Wie berechnet man die inversen Elemente in GF(pn ) ? (d) Wieviele irreduzible Polynome über GF(p) von gegebenem (kleinem) Grad gibt es? (e) Welche Rolle spielt die Wahl des irreduziblen Polynoms m(x) über GF(p) vom Grad n − 1 für den konstruierten Körper GF(pn ) ? (f) Welche Elemente erzeugen z.B. GF(22 )∗ oder GF(23 )∗ ? (g) Wie kann die Zyklizität von GF(pn )∗ genutzt werden, um die Multiplikation in GF(pn )∗ zu beschleunigen? (h) Wie kann die Zyklizität von GF(pn )∗ genutzt werden, um die Invertierung in GF(pn )∗ zu beschleunigen? 47 5. Kryptographie • Caesar und Kohorten Problem 45. Die Buchstaben des lateinischen Alphabetes seien von 0 bis 25 durchnummeriert! (a) Caesar9 - Verschlüsselung: Klar-Text x1 x2 x3 . . . Buchstaben-weise mit Schlüssel k per y = (x + k) mod 26 in Geheim-Text y1 y2 y3 . . . chiffrieren, Geheim-Text y1 y2 y3 . . . Buchstaben-weise mit Schlüssel k per x = (y − k) mod 26 in Klar-Text x1 x2 x3 . . . dechiffrieren. Ein Geheim-Text laute wklvlvdwrsvhfuhwphvvdjh. (b) Wieviele Schlüssel gibt es? Wie groß ist der Schlüsselraum? Wie hoch ist die Verschlüsselungssicherheit? 9 Gaius Julius Caesar (100-44 v.Chr.) Abschnitt 5: Kryptographie 48 • Caesar generell Problem 46. Die Buchstaben des lateinischen Alphabetes seien von 0 bis 25 durchnummeriert! (a) Unter welcher Bedingung ist y = (kx) mod m eine brauchbare Verschlüsselungsvorschrift? (b) Verschlüsselt wird mit y = (k x) mod m . Entschlüsselt wird mit x = (k inv y) mod m . Mit welchem k inv ? (c) Kombiniert man beide Verfahren, so wird mit y = (k1 x + ko ) mod m verschlüsselt und mit x = (k10 y + ko0 ) mod m entschlüsselt. Mit welchen k10 und ko0 ? (d) Wieviele Schlüssel gibt es? wie groß ist der Schlüsselraum? Wie hoch ist die Verschlüsselungssicherheit? Abschnitt 5: Kryptographie 49 • Vigenère und Konsorten Problem 47. Die Buchstaben des lateinischen Alphabetes seien von 0 bis 25 durchnummeriert! (a) Vigenère10 -Verschlüsselung: Klar-Text x1 x2 x3 ... Buchstaben-weise mit Schlüssel ko k1 ...kl−1 per yi = (xi + ki mod l ) mod 26 in Geheim-Text y1 y2 y3 ... chiffrieren, Geheim-Text y1 y2 y3 ... Buchstaben-weise mit Schlüssel ko k1 ...kl−1 per xi = (yi − ki mod l ) mod 26 in Klar-Text x1 x2 x3 ... dechiffrieren. Ein Geheim-Text laute dlgcmqkxmzwcmvcdqccwyqi. (b) Wieviele Schlüssel gibt es? wie groß ist der Schlüsselraum? Wie hoch ist die Verschlüsselungssicherheit? 10 Blaise de Vigenère (1523-1596) raphael.math.uic.edu/~jeremy/crypt/contrib/deepak.html Abschnitt 5: Kryptographie 50 • tarnen, tauschen und ... Problem 48. Für das Caesar- und das Vigenère-Verfahren ist charakteristisch, daß aufgrund einer (Caesar) oder mehrerer (Vigenère) eineindeutiger Abbildungen f : A → A des verwendeten Alphabetes A jeder Buchstabe des Klartextes ersetzt wird ((monoalphabetische) Substitution). Derartige Abbildungen f heißen Permutationen. (a) Das lateinische Alphabet A = {A, B, . . . , Z} hat 26 Buchstaben. Wieviele Permutationen von A gibt es? (b) Liefern Permutationen neue Verschlüsselungsverfahren, die wesentlich besser als das Caesar- oder das Vigenère-Verfahren sind? (c) Wie sinnvoll ist es, Texte dadurch zu verschlüsseln, daß man die Klartextbuchstaben nur umstellt, also permutiert? Abschnitt 5: Kryptographie 51 • DES Problem 49. Data Encryption Standard, DES [28] ist ein Blockorientiertes, symmetrisches (identische Schlüssel für Ver- und Entschlüsselung) Verschlüsselungsverfahren, das aus Substitutionen und Permutationen besteht. www.itl.nist.gov/fipspubs/fip46-2.htm (a) Der DES-Algorithmus führt auf jedem 64bit-Block des Klartextes nacheinander eine initiale bit-Permutation P , weitere Operationen und schließlich P inv aus. DES spezifiziert nun P als 58 50 42 34 26 18 10 2 60 52 44 36 28 20 12 4 62 54 46 38 30 22 14 6 64 56 48 40 32 24 16 8 P = . Wie lautet P inv ? 57 49 41 33 25 17 9 1 59 51 43 35 27 19 11 3 61 53 45 37 29 21 13 5 63 55 47 39 31 23 15 7 (b) Die weiteren Operationen chiffrieren jeweils linke und rechte 32bitHälfte eines 64bit Blocks (L, R) mit 32-bit Schlüssel K per fK (L, R) = (R, L ⊕ K) inv fK (L, R) wo ⊕ Addition modulo 2 bezeichnet = ? Inwiefern sind diese Operationen Substitutionen? (c) Was für eine Sorte Verschlüsselungsverfahren ist bis hier durch Abschnitt 5: Kryptographie 52 L := P inv ◦ fK16 ◦ fK15 ◦ . . . ◦ fK2 ◦ fK1 ◦ P definiert? mit welchen Konsequenzen? (d) Letzter Baustein im DES ist ein confusion/diffusion11 -Verfahren, implementiert durch die sogenannten substitution boxes, S-Boxen: jede Block-Hälfte à 32bit wird durch Verdoppeln (je nach Runde) bestimmter bits auf 48bit erweitert: insgesamt acht S-Boxen S1 , . . . , S8 verschlüsseln jeweils 6bit input zu 4bit output, z.B. S5 S5 mittlere vier input bits äußere 2 bits 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 00 01 10 11 0010 1110 0100 1011 1100 1011 0010 1000 0100 0010 0001 1100 0001 1100 1011 0111 0111 0100 1100 0001 1100 0111 1101 1110 1011 1101 0111 0010 0110 0001 1000 1101 1000 0101 1111 0110 0101 0000 1001 1111 0011 1111 1100 0000 1111 1100 0101 1001 1101 0011 0110 1100 0000 1001 0011 0100 1110 1000 0000 0101 1001 0110 1110 0011 s.a. www.itl.nist.gov/fipspubs/fip46-2.htm oder z.B. auch www.kuno-kohn.de/crypto/crypto/des.htm für alle acht DES S-Boxen. Wie groß sind die look up Tabellen für die acht S-Boxen? Wie groß wäre die look up Tabelle für die durch die S-Boxen implementierte 32bit Substitution? Wie sieht die inverse S-Box aus? 11 Claude E. Shannon (1916-2001) www-history.mcs.st-andrews.ac.uk/Biographies/Shannon.html Abschnitt 5: Kryptographie 53 Problem 50. Seit seiner Veröffentlichung war die Sicherheit des Data Encryption Standard, DES umstritten, vgl. z.B. http://en.wikipedia.org/wiki/Data Encryption Standard. Die in der Mitte der 1990er Jahre demonstrierte Unsicherheit des DES machte Verbesserungen insbesondere für hoch sicherheitskritische Anwendungen notwendig. (a) Was ist die effektive Länge der DES-Schlüssel? Wie groß ist also der DES-Schlüssel-Raum? (b) Triple DES, TDES oder Triple Data Encryption Algorithm, TDEA besteht aus dreimaligem DES mit drei Schlüsseln TDESK3 ,K2 ,K1 (x) = DESK3 DESinv K2 DESK1 (x) Welche Bedingung garantiert, daß mehrfache DES-Verschlüsselungen (wie etwa TDEA) tatsächlich sicherer als DES sind? (c) Was ist die effektive Länge der TDEA-Schlüssel? Wie groß ist also der TDEA-Schlüssel-Raum? (d) Wann und wodurch wurde DES bzw. TDEA abgelöst? Abschnitt 5: Kryptographie 54 • öffentliche Schlüssel? Problem 51. Symmetrische Verschlüsselungsverfahren setzen voraus, daß der (für Ver- und Entschlüsselung identische) Schlüssel dem Empfänger über einen sicheren Kanal übermittelt werden kann – ein Widerspruch in sich! Asymmetrische Verschlüsselungsverfahren mit Paaren aus öffentlichen und geheimen Schlüsseln (public key encryption12 ) bieten Abhilfe. (a) Für jeden Teilnehmer A, B, C, . . . sei ein öffentlicher Schlüssel und damit ein öffentliches Verschlüsselungsverfahren fA , fB , fC , . . . bekannt. Jeder Teilnehmer A, B, C, . . . halte dagegen seinen geheimen Schlüssel A−1 , B −1 , C −1 , . . . und damit sein persönliches Entschlüsselungsver−1 −1 fahren fA , fB , fC−1 , . . . streng geheim. Bob kann seiner Alice etwa x mitteilen, indem er ihr die verschlüsselte Nachricht fA (x) schickt. Nur Alice kann diese Nachricht mit Hilfe von fA−1 zu x = fA−1 (fA (x)) entschlüsseln. Worauf beruht die Sicherheit dieser public key Verfahren? 12 Whitfield Diffie, Martin Hellman: New Directions in Cryptography; IEEE Trans. Inform. Theory, IT-22, 6, Nov 1976 pp.644-654 Abschnitt 5: Kryptographie 55 • RSA Problem 52. Das RSA13 -Verfahren, ein Verschlüsselungsverfahren mit öffentlichen Schlüsseln14 , ist wie folgt zu implementieren. Seien p und q große Primzahlen und n = p·q, also ϕ(n) = (p−1)(q−1). Verschlüsselt (encryption) wird per y = xe mod n mit öffentlichen Schlüsseln e, so daß ggT e, ϕ(n) = 1. Entschlüsselt (decryption) wird per x = y d mod n mit geheimen Schlüsseln d, so daß e d = 1 mod ϕ(n). (a) Zeige: fe : x → xe mod n ist eine trapdoor Funktion. (b) Worauf beruht die Sicherheit des RSA-Verfahrens? (c) fe−1 oder eben fd wird zum Signieren von Botschaften verwendet. Wenn Alice ihre Botschaft digital signiert, kann Bob sicher sein, daß die empfangene Botschaft y auch wirklich von Alice stammt. 13 R. Rivest, A. Shamir, L. Adleman: A method for obtaining digital signatures and public key cryptosystems; Communications ACM, 21 (1978), 120-126 14 public keys Abschnitt 5: Kryptographie • AES 56 A. Hofmeier, AES – Eine Einführung in Kryptographie 10 rechts weitergegangen und wieder oben angefangen. Problem 53. Der 2000 verabschiedete Advanced Encryption Standard, AES ist der Nachfolger des DES. Um jeden Verdacht der Konspiration von Standardisierungsgremium (NIST) und Entwicklern (IBM im Fall von DES) vorzubeugen, ist der Standard als Ergebnis eines öffentlichen Wettbewerbes verabschiedet worden. AES stellt einen In der folgenden graphischen Darstellung wird von einer Blockgröße von 128 Bit ausgegangen. Die Blöcke ließen sich allerdings in Vier-Byte-Schritten (32 Bit) Spezialfall des Rijndael-Verfahrens [26] bis auf 256 Bit ausweiten. Dasselbe gilt fürdar. den Schlüssel. Daten-Blockgröße 0 4 8 12 0 4 8 12 16 20 24 28 1 5 9 13 1 5 9 13 17 21 25 29 2 6 10 14 2 6 10 14 18 22 26 30 3 7 11 15 3 7 11 15 19 23 27 31 128 Bit-Block (16-Byte) 256 Bit-Block (32 Byte) und Schlüssel-Block-Größe sind vollkommen unabhängig voneinander. Im AES- Standard sind allerdings lediglich Datenblockgrößen von 128 Bit und Schlüssel(a) AES ist eine Verschlüsselungsverfahren welchen Typs? blocklängen von 128, 192 und 256 Bit vorgesehen. Dies ändert nichts daran, dass der Rijndael-Algorithmus mehr kann, was aber nicht notwendiger implementiert (b) Was sind die charakteristischen Kenngrößen von AES? sein muss, wenn auf AES Bezug genommen ist. (c) Worin besteht eine Verschlüsselungsrunde Die graphische Darstellung verdeutlicht den Fluss der Daten:von AES? k(0) AddRoundKey( ) k(1...) SubByte() ShiftRows() } } Round() k(n) MixColums() FinalRound() Adaptiert von Daemen und Rijmen (2002). 3.3.1 Anzahl der Runden Wie oben ersichtlich, wird die Funktion Round() N mal ausgeführt. Wobei N von der Schlüssel- und der Daten-Block-Größe abhängt. Die folgende Tabelle stellt die Länge des Schlüssels der Länge des Datenblockes gegenüber und gibt für jede Kombination eine Anzahl von Runden an. Alle fett dargestellten Fälle sind durch Abschnitt 5: Kryptographie 57 Problem 54. Die Bestandteile einer Runde seien nun der Reihe nach untersucht. Bezeichnungen wie in csrc.nist.gov/publications/fips/fips197/fips-197.pdf (a) SubBytes(): Wie ist diese Substitution spezifiziert? Wie wird sie mit einer S-Box implementiert? Wie wird die Substitution invertiert? (b) ShiftRows(): Wie ist die Permutation der Zeilen des als 4 × 4Byte-Matrix angeordneten Blocks implementiert? Wie wird diese Transformation invertiert? (c) MixColumns(): Wie werden die Spalten des als 4 × 4-Byte-Matrix angeordneten Blocks transformiert? Wie wird diese Transformation invertiert? (d) AddRoundKey(): Wie werden die Spalten mit Teilen des expandierten Schlüssels ’XORed’ ? Wieso stimmt diese Transformation mit ihrer Inversen überein? Abschnitt 5: Kryptographie 58 • Elliptische Kurven über R Problem 55. Um Elliptic Curve Cryptography, ECC einzuführen, ist hilfreich, zunächst sogenannte elliptische Kurven y 2 = x3 +ax+b über R, d.h. Kurven im R2 mit reellen Koeffizienten a, b ∈ R zu betrachten. (a) Welche geometrischen Eigenschaften haben elliptische Kurven E = E(R) = Ea,b (R) über R ? Was passiert für x → +∞ ? (b) Welche Nullstellen hat der Radikand x3 + ax + b einer elliptischen Kurve E = E(R) = Ea,b (R) über R? (c) Unter welcher Bedingung hat der Radikand einer elliptischen Kurve E = E(R) = Ea,b (R) über R keine mehrfachen Nullstellen? (d) Eine nicht vertikale, nicht tangentiale Gerade schneide eine elliptische Kurve E = E(R) = Ea,b (R) über R mindestens zweimal. Warum schneidet dann die Gerade die Kurve E dreimal? (e) Gegeben P = (xP , yP ) und Q = (xQ , yQ ) mit xP 6= xQ auf einer elliptischen Kurve E über R. Wie lauten die Koordinaten des unter obigen Bedingung existierenden dritten Schnittpunktes R = (xR , yR ) auf E und auf der Geraden durch P und Q ? Abschnitt 5: Kryptographie 59 Problem 56. Man spezifiziert eine Addition für Punkte P und Q auf einer elliptischen Kurve E = Ea,b (R) über R durch R := P + Q als den Schnittpunkt der Geraden durch P und Q mit E, gespiegelt an der x-Achse. y −R Q P x R a = −3, b = 5 (a) Wie ist P + P in konsistenter Weise zu definieren? (b) Wie kann man P + Q für xp = xQ und yP 6= yQ in konsistenter Weise definieren? (c) Was bedeutet dies für P +Q mit P = (xP , yP ) und Q = (xp , −yP ) und die Lösbarkeit von P + Q = R in Q für gegebene P, R ∈ E ? (d) Welche Struktur auf E = Ea,b (R) definiert diese Addition? Abschnitt 5: Kryptographie 60 • Elliptische Kurven über GF(p) Problem 57. Elliptische Kurven E = Ea,b (R) über R sind für die Kryptographie unbrauchbar. Stattdessen benutzt man elliptische Kurven E = Ea,b (F) über einem endlichen Körper F, z.B. F = GF(p) für primes p. (a) Wie ist P + Q auf E = Ea,b GF(p) zu definieren? • Elliptische Kurven über GF(2m ) Problem 58. Unter Verwendung von F = GF(2m ), einem anderen Typ endlicher Körper, kann man Gruppen auf elliptischen Kurven E = Ea,b GF(2m ) über GF(2m ) definieren, nämlich y 2 + xy = x3 + ax + b für a, b ∈ GF(2m ) (a) Warum kann man jetzt y 2 = x3 + ax+ b nicht länger benutzen? (b) Wie ist P + Q auf E = Ea,b GF(2m ) zu definieren? Abschnitt 5: Kryptographie 61 • Elliptic Curve Cryptography, ECC Problem 59. Elliptic Curve Cryptography, ECC nutzt die GruppenStruktur auf elliptischen Kurven E = Ea,b (F) über einem endlichen Köper F zusammen mit einem geeigneten Generator-Punkt G ∈ E. Jeder Teilnehmer verfügt über einen geheimen Schlüssel r ∈ N und einen öffentlichen Schlüssel Q ∈ E, wobei r eine Zufallszahl mit 1 < r < card(< G >) ist und Q = rG gilt. (a) ECC ist ein Verschlüsselungsverfahren welchen Typs? für welche Anwendungen? (b) Wie kann man eine ECC-basierte El-Gamal Ver-/Entschlüsselung realisieren? (c) Wie kann man einen ECC-basierten Diffie-Hellman Schlüssel-Austausch, ECDH realisieren? (d) Wie kann man einen ECC-basierten Digitale Signatur Algorithmus, ECDSA realisieren? 62 6. Kompression • Ausnutzen relativer Häufigkeiten Problem 60. Wenn die (relativen) Symbol-Häufigkeiten in einem Text a priori bekannt sind, kann man einen code so entwerfen, daß der code eines Symbols um so kürzer ist je häufiger er vorkommt. Wir nennen solche Kodierungen monoton. Damit einzelne codes nicht mit einem Sonderzeichen voneinander getrennt werden müssen, darf kein Code mit dem Anfang eines anderen Codes übereinstimmen: Die Kodierung muß Präfix-frei sein. (a) Gegeben ein Alphabet s1 , s2 , . . . , sn mit Häufigkeit fi des Symbols si , wobei f1 > f2 > . . . > fn for i = 1, . . . , n. Angenommen ci = code(si ) = 01i−1 ∈ {0, 1}i . Was ist zu dieser Kodierung zu sagen? (b) Wie sind Präfix-freie Kodierungen mit Graphen darzustellen? (c) Konstruiere eine monotone Präfix-freie Kodierung. Abschnitt 6: Kompression 63 • Wörterbücher nutzen Problem 61. Idee von LZW15 ist es, Sender und Empfänger ein Wörterbuch für zu sendende bzw. zu empfangende Buchstaben und Buchstabenkombinationen zusammen mit ihren Codierungen anzulegen und fortzuschreiben zu lassen. (a) Bei Kompression wie Dekompression wird zunächst das Wörterbuch mit den Buchstaben des zugrundeliegenden Alphabetes zusammen mit ihren Codes initialisiert. Bei der Kompression wird der Klar-Text Zeichen-weise eingelesen. PATTERN ist die jeweils längste Zeichenkette im Wörterbuch, die mit den jüngsten eingelesenen Zeichen übereinstimmt. Bei der Dekompression werden die Codes eingelesen. Zugleich wird das Wörterbuch entsprechend erweitert. 15 Jacob Ziv and Abraham Lempel: A Universal Algorithm for Sequential Data Compression; IEEE Transactions on Information Theory, May 1977 Terry Welch, ”A Technique for High-Performance Data Compression”, Computer, June 1984 Abschnitt 6: Kompression 64 Kompression: PATTERN = get input character WHILE there are still input characters DO CHARACTER = get input character IF PATTERN+CHARACTER is in dictionary PATTERN = PATTERN+character ELSE output the code for PATTERN add PATTERN+CHARACTER to dictionary PATTERN = CHARACTER output the code for PATTERN Dekompression: Read oldCODE; output dict[oldCODE] WHILE there are still input characters DO Read newCODE PATTERN = dict[newCODE] output PATTERN CHARACTER = first character in PATTERN add dict[oldCODE]+CHARACTER to dictionary oldCODE = newCODE Abschnitt 6: Kompression (b) Der obige Algorithmus hat eine Schwachstelle: 65 66 7. Wahrscheinlichkeit & Intuition • Karten & Ziegen Problem 62. (a) In einer Urne befinden sich drei Karten: eine auf beiden Seiten rot, eine auf beiden Seiten blau und die letzte auf einer Seite rot, auf der anderen blau. Mit welcher Wahrscheinlichkeit P ist eine beliebig gezogene Karte mit roter Oberseite auf der Unterseite blau? (b) Hinter drei Türen sind je zwei Ziegen und ein Auto (als Hauptpreis) verborgen. Der Quizmaster weiß, wo. Der Kandidat entscheidet sich für eine Tür. Der Quizmaster öffnet eine andere Tür mit einer Ziege dahinter. Steigert der Kandidat seine Gewinnchancen, wenn er seine ursprüngliche Wahl revidiert? Abschnitt 7: Wahrscheinlichkeit & Intuition 67 • Algorithmen erzeugen Zufall? Zufallszahlen spielen eine wichtige Rolle für Simulation, für (zero knowledge) Authentifizierungsverfahren, usw. Kein Wunder, daß jede höhere Programmiersprache Bibliotheksfunktionen wie ran, random oder randomize bietet, die algorithmisch und daher deterministisch sogenannte Pseudo-Zufallszahlen erzeugen. Problem 63. (a) Welche Eigenschaften unterscheiden Zufallszahlen neben der Eigenschaft, anscheinend zufällig zu sein (was auch immer das sein mag)? Wie sind Zufallszahlen mit solchen vorgegebenen Eigenschaften aus geeigneten Standard-Zufallszahlen zu erzeugen? (b) Wie sind Standard-Pseudo-Zufallszahlen schnell, also mit wenig (Rechen-) Aufwand zu erzeugen? (c) xn+1 = (a xn + c) mod m, mit xo = 1 ist periodisch – warum? und mit welcher maximalen/minimalen Periodenlänge? Abschnitt 7: Wahrscheinlichkeit & Intuition 68 • Was ist zufällig am Zufall? Kriterien für die Qualität von Pseudo-Zufallszahlen-Generatoren sind zu entwickeln, insbesondere also für Generatoren von im Einheitsintervall gleichverteilten Zufallszahlen, und in Tests zu bewerten. Allerdings existiert keine Definition von Zufälligkeit. Daher kann es Tests nur für bestimmte ’features’ von Zufälligkeit geben. Problem 64. (a) Wie ist zu testen, ob der Wertebereich gleichmäßig ausgeschöpft wird? (b) Wie ist die Zufälligkeit von Pseudo-Zufallszahlen anhand des Informationsgehaltes einer jeden erzeugten Ziffer zu testen? (c) Wie ist die Zufälligkeit von Pseudo-Zufallszahlen anhand ihrer Komprimierbarkeit zu testen? (d) Wie ist die Zufälligkeit von Pseudo-Zufallszahlen anhand der gegenseitigen (Un-) Abhängigigkeit ihrer Ziffern zu testen? 69 8. Quellen und links Einige Referenzen zur Spaß-Mathematik [1] About.com: Recreational Mathematics; http://math.about.com/od/recreationalmath [2] Bild der Wissenschaft; www.wissenschaft.de/ s. Spiele-Archiv [3] Chlond, Martin: Integer Programming in Recreational Mathematics; www.chlond.demon.co.uk/academic/puzzles.html [4] Canadian Mathematical Society www.math.ca/Recreation [5] Dutch, Steven: Recreational Mathematics; www.uwgb.edu/dutchs/RECMATH/recmath.htm [6] Eppstein, David: Math Fun; www.ics.uci.edu/~eppstein/recmath.html [7] Flannery, Sarah: In Code – A Mathematical Journey; Profile Books, 2000 ISBN 1-86197-222-9 2, 5, 6, 7, 8, 9, 10, 11 Abschnitt 8: Quellen und links 70 [8] Gardner, Martin: Mathematical recreations and many more titles; s. book list, e.g. http://thinks.com/books/gardner.htm [9] Gilleland, Michael: Recreational Mathematics Links; www.weblearn.hs-bremen.de/risse/MAI/docs/MichaelGilleland.html [10] Google Directory - Science > Math > Recreations; www.google.com/Top/Science/Math/Recreations [11] Herold, Helmut, Lurz, Bruno, Wohlrab, Jürgen: Grundlagen der Informatik; Pearson 2012 2, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33 [12] Journal of Recreational Mathematics, Editor: Charles Ashbacher and Lamarr Widmer; www.baywood.com/journals/ PreviewJournals.asp?Id=0022-412x [13] Mathematical Association of America, MAA: Recreational Mathematics; www.maa.org/BLL/recmath.htm [14] Mathematikwettbewerb Känguru e.V. www.mathe-kaenguru.de s.a. www.weblearn.hs-bremen.de/risse/MAI/docs/ Abschnitt 8: Quellen und links 71 [15] Michon, Gérard P.: Recreational Mathematics; www.numericana.com/answer/recreational.htm [16] New Scientist: Physics & Math www.newscientist.com/section/physics-math [17] O’Connor, J.J., Robertson, E.F.: mathematical games and recreations; www-groups.dcs.st-andrews.ac.uk/~history/ HistTopics/Mathematical games.html [18] open directory project dmoz.org/Science/Math/Recreations/ [19] Problem of the Week, s. e.g. [20] Scientific American s. puzzling adventures in single issues www.google.com www.sciam.com, [21] Singmaster, David: The Unreasonable Utility of Recreational Mathematics; anduin.eldar.org/~problemi/singmast/ecmutil.html [22] Eugène Strens Recreational Mathematics Collection Database; www.ucalgary.ca/lib-old/sfgate/strens Abschnitt 8: Quellen und links 72 [23] Wilkinson, David: Recreational Mathematics Links; www.scit.wlv.ac.uk/~cm1985/RecMaths.html [24] Wolfram Mathworld: Recreational Mathematics; mathworld.wolfram.com/topics/RecreationalMathematics.html Einige Referenzen zur Zahlentheorie [25] Forster, Otto: Algorithmische Zahlentheorie; Vieweg 1996 190, 197 Einige Referenzen zur Kryptographie [26] Federal Information Processing Standards, FIPS: Advanced Encryption Standard (AES); Publication 197 http://csrc.nist.gov/publications/fips/fips197/fips-197.pdf Advanced Encryption Standard Algorithm Validation List http://csrc.nist.gov/cryptval/aes/aesval.html 56 [27] Daemen, Joan, Rijmen, Vincent: The Design of Rijndael – AES, The Advanced Encryption Standard; Springer 2002 Abschnitt 8: Quellen und links 73 [28] Federal Information Processing Standards, FIPS: Data Encryption Standard (DES); Publication 46-3 http://csrc.nist.gov/ publications/fips/fips46-3/fips46-3.pdf 51 [29] Federal Information Processing Standards, FIPS: Digital Signature Standard (DSS) – DSA, RSA, and ECDSA algorithms; Publication 186-2 http://csrc.nist.gov/cryptval/dss.htm [30] Hankerson, Darrel, Menezes, Alfred, Vanstone, Scott: Guide to Elliptic Curve Cryptography; Springer 2004 267 [31] Oswald, Elisabeth: Introduction to Elliptic Curve Cryptography; www.iaik.tugraz.at/aboutus/people/oswald/papers/ Introduction to ECC.pdf 261, 264, 267 [32] Standards for Efficient Cryptography Group, SECG: SEC1 – Elliptic Curve Cryptography; www.secg.org/collateral/sec1 final.pdf 267 [33] Wagner, Neal R.: The Laws of Cryptography; www.cs.utsa.edu/~wagner/lawsbookcolor/laws.pdf Abschnitt 8: Quellen und links 74 Einige Referenzen zur Codierung und Kompression [34] Dankmeier, Wilfried: Codierung; Vieweg 2001 [35] Nelson, Marc, Gailly, Jean-loup: The Data Compression Book; 2nd edition, M&T Books, New York, NY 1995 Einige Referenzen zur Wahrscheinlichkeit [36] Bronstein, I.N. & Semendjajew, K.A. et al: (Teubner-) Taschenbuch der Mathematik; Teubner 2003 287 Selbstverständlich freue ich mich über jede Zusendung weiterer origineller Aufgaben oder besserer Lösungen. Prof. Dr. Th. Risse, ZIMT 244, www.weblearn.hs-bremen.de/risse 0049 (0)421 5905-5489 mailto: [email protected] 75 Lösungen zu Problemen Problem 1(a) 4 = (5 − 3) + (5 − 3) Lösungen zu Problemen 76 Problem 1(b) 1=3+3−5 Lösungen zu Problemen 77 Problem 1(c) Beispielsweise 5 = 9 − 4, 3 = 4 + 4 + 4 − 9, . . . Lösungen zu Problemen 78 Problem 1(d) Es gibt keine Lösung! Lösungen zu Problemen 79 Problem 2(a) Sehen wir uns die Leistungsbilanz an: Am 1. Tag erreicht er 300m, in der 1. Nacht fällt er zurück auf 100m am 2. Tag erreicht er 400m, in der 2. Nacht fällt er zurück auf 200m am 3. Tag erreicht er 500m, in der 3. Nacht fällt er zurück auf 300m ... am 27. Tag erreicht er 2900m, in der 27. Nacht fällt er zurück auf 2700m am 28. Tag erreicht er 3000m, Lösungen zu Problemen 80 Problem 2(b) A brauche für die 100m tA Zeiteinheiten, ZE. Seine Geschwindigkeit ist also vA = 100/tA . B brauche für die 100m tB ZE. Seine Geschwindigkeit ist also vB = 100/tB = 90/tA . Daher ist tA /tB = 0.9. Die Geschwindigkeit von C ist vC = 90/tB = x/tA . Also ist x = 90tA /tB = 90 · 0.9 = 81m. Der Erste A schlägt den Dritten C um 19m. Lösungen zu Problemen 81 Problem 3(a) 36 = 22 · 32 . Wenn man 1-jährige Kleinkinder nicht vergißt, ergeben sich folgende mögliche Kombinationen: P 3. 2. 1. 1 1 36 38 1 2 18 21 1 3 12 16 1 4 9 14 1 6 6 13 2 2 9 13 2 3 6 11 3 3 4 10 Also bedurfte es nur bei der Summe 13 eines weiteren Hinweises. Ein ältestes Kind gibt es nur, wenn die Familie zweijährige Zwillinge und ein neunjähriges Kind hat. Lösungen zu Problemen 82 Problem 4(a) poor man’s Lösung: Die Katastrophe ereignet sich nach einer Stunde. Die Fliege hat also 75km zurückgelegt. angeblich John von Neumann’s Lösung: Sei sl die Position des ’linken’ Zuges, sr diejenige des ’rechten’ Zuges. Die Fliege starte ’rechts’. t1 sei der Zeitpunkt des ersten Auftreffens (auf den ’linken’ Zug), t2 sei der Zeitpunkt des zweien Auftreffens (auf den ’rechten’ Zug), usw. Dann gilt sl (t1 ) = 50t1 und 75 = (100 − sl (t1 ))/t1 . Damit ist 75t1 = 100 − 50t1 , 125t1 = 100 und endlich t1 = 4/5. t/h 0 4/5 4/5 + 4/25 4/5 + 4/25 + 4/125 sl (t)/km 0 40 48 49.6 .. . sr (t)/km 100 60 52 50.4 d/km 0 60 12 2.4 Lösungen zu Problemen 83 wobei d die Distanz bezeichne, die die Fliege zwischen zwei Auftreffen zurückgelegt hat. Also ist der Zeitpunkt der Katastrophe ∞ X 1 5 t∞ = 4 0.2i = 4 −1 =4 −1 =1 1 − 0.2 4 i=1 und die insgesamt zurückgelegte Flug-Strecke 4 4 4 75 + 75 + 75 . . . = 75km. 5 25 125 Lösungen zu Problemen 84 Problem 5(a) sh (t) bzw. sr (t) bezeichne die auf dem Hinweg bzw. Rückweg zurückgelegte Distanz entlang der Reiseroute für jeden Zeitpunkt t zwischen Sonnenaufgang 0 und Sonnenuntergang 1. Sei d die Entfernung zwischen A und B. Dann ist sh (0) = 0, sh (1) = d, sr (0) = d, sr (1) = 0. Mit sh und sr ist auch δ(t) = sr (t) − sh (t) eine stetige Funktion von t. Wegen der unterschiedlichen Vorzeichen von δ(0) = d und δ(1) = −d, hat δ(t) mindestens eine Nullstelle to im Intervall [0, 1]. Für den Zeitpunkt to gilt sr (to ) = sh (to ). Unter welchen Bedingungen gibt es mehrere solcher Punkte? Lösungen zu Problemen 85 Problem 6(a) Acht Gleichungen in neun Unbekannten mit Beschränkung der Lösung auf die natürlichen Zahlen 1,. . . ,9. Wir gehen schrittweise vor, um diejenigen acht der 9!=362880 Anordnungen zu selektieren, die magischen Quadraten entsprechen. 1. Das Element in der Mitte/Zentrum ist notwendigerweise 5. n = 6, 7, 8 bzw. 9 scheiden aus, weil dann m = 9, 8, 7 bzw. 6 nicht platziert werden könnte. 2. Die 9 steht nicht in einer Ecke, also nicht im NO, NW, SW, SO. Angenommen, o.B.d.A. NW=9. Dann wäre SO=1 und es blieben für die drei Zahlen 6,7 und 8 nur die zwei Positionen O und S. 3. Sei o.b.d.A. W=9. Dann gilt entweder NW=2 und SW=4 oder NW=4 und SW=2. Angenommen, NW=3. Dann wäre auch SW=3. Die 3 darf aber nur einmal vergeben werden. Damit ergeben sich zwei der bis auf Symmetrie identischen acht magischen Quadrate Lösungen zu Problemen 2 9 4 86 7 5 3 6 1 8 und 4 9 2 3 5 7 8 1 6 Wie sehen die übrigen sechs magischen Quadrate aus? Lösungen zu Problemen 87 Problem 7(a) Im Text kommt der Buchstabe e überhaupt nicht vor, dafür aber jeder andere Buchstabe des Alphabetes mindestens einmal. Entwerfen Sie einen vergleichbaren, möglichst kurzen, deutschen Text. Lösungen zu Problemen 88 Problem 8(a) Mit folgendem Verfahren ermittelt der Personalchef die Gehaltssumme ohne Kenntnis der individuellen Gehälter (auch die Mitarbeiter bekommen keine Kenntnis vom Gehalt eines Kollegen): 1. Er wählt zufallig eine große, ’geheime’ Zahl k. 2. Er teilt k dem ersten Mitarbeiter der Abteilung mit. Dieser inkrementiert k um sein Gehalt und teilt die Summe dem zweiten Mitarbeiter mit. 3. Nacheinander inkrementieren die Mitarbeiter die ihnen genannte Zahl um ihr Gehalt und teilen die Summe dem nächsten Mitarbeiter mit. 4. Der letzte, n-te Mitarbeiter inkrementiert seinerseits die ihm genannte Zahl um sein Gehalt und teilt das Ergebnis g dem Personalchef mit. Das Durchschnittsgehalt ist dann (g − k)/n. Lösungen zu Problemen 89 Problem 9(a) Das Problem besteht darin, Alice zu ermöglichen, die Kiste auch zu öffnen. Die beiden verabreden daher folgendes Verfahren. 1. Bob schickt Alice die mit seinem Schloß verschlossene Kiste. 2. Alice verschließt die mit Bobs Schloß gesicherte Kiste zusätzlich mit ihrem Schloß und schickt sie an Bob zurück. 3. Bob entfernt sein Schloß und sendet die mit Alice’s Schloß gesicherte Kiste an Alice. Lösungen zu Problemen 90 Problem 10(a) Sie vereinbaren etwa per e-mail folgendes Verfahren: 1. Alice und Bob einigen sich auf die Verwendung einer geeigneten ’1-Weg’-Funktion f , d.h. einer eineindeutigen Funktion f : N ⊃ D → W ⊂ N, so daß f (x) leicht und f inv (y) extrem schwer, extrem aufwändig, in der Konsequenz also so gut wie überhaupt nicht zu berechnen ist. 2. Etwa Alice beginnt, wählt ein (gerades oder ungerades) x ∈ D und sendet Bob y mit y = f (x), ohne x zu offenbaren. 3. Bob empfängt y und tippt, ob x gerade oder ungerade war. (Wenn Bob’s Tipp zutrifft, muß Alice sonst muß Bob fahren.) 4. Alice überprüft den Tipp und schickt x zur Verifikation an Bob, der f (x) mit seinem zu Anfang erhaltenen y vergleicht. Lösungen zu Problemen 91 Problem 11(a) Sie brauchen drei Schlösser mit je zwei Schlüsseln. Wenn jede Person etwa nach folgendem Schema über Schlüssel zu zwei Schlössern verfügt, Alice PP P Schloss 1 PP P PPP Bob PP Schloss 2 PP PP PP P Schloss 3 Claire können nur mindestens zwei Personen zusammen alle drei Schlösser und damit den Tresor öffnen. Lösungen zu Problemen 92 Problem 11(b) Das folgende Schema stellt eine Lösung dar, PP Alice Q Schloss QPPP Q P QPPP PP Bob Q Schloss Q P Q PPQ Q PPQ QQ PQ P Schloss PP Claire Q P Q P PPQ PQ PQ P Schloss Dennis 1 2 3 4 weil einer Person immer ein Schlüssel zu einem Schloß fehlt und zwei Personen zusammen immer über mindestens einen Schlüssel zu jedem der vier Schlösser verfügen. Ist diese Lösung mit vier Schlössern mit je drei Schlüsseln auch minimal? Lösungen zu Problemen 93 Bei drei Schlössern kann jede Person nur Schlüssel zu maximal zwei Schlössern haben, macht bei vier Personen insgesamt maximal acht Schlüssel, verteilt auf drei Schlösser: es gibt aber kein Schloß mit nur einem Schlüssel, sonst könnten Paare ohne den Inhaber dieses Schlüssels den Tresor nicht öffnen. Also gibt es entweder eine Person mit Schlüsseln für vier oder zwei Personen mit Schlüsseln für drei Schlösser, was in beiden Fällen zum Widerspruch führt! Schließlich reichen bei vier Schlössern je zwei Schlüssel pro Person offensichtlich nicht, da dann nicht sichergestellt werden kann, daß zwei beliebige Personen zusammen über Schlüssel für alle vier Schlösser verfügen! Lösungen zu Problemen 94 Problem 11(c) ??? Lösungen zu Problemen 95 Problem 12(a) Lösungen zu Problemen 96 Problem 12(b) Lösungen zu Problemen 97 Problem 12(c) Lösungen zu Problemen 98 Problem 12(d) Lösungen zu Problemen 99 Problem 13(a) Bezeichne (x, y) den Zustand des Systems mit x Litern im 4-Liter- und y Litern im 9-Liter-Eimer. Dann sind die folgenden Zustandsübergänge möglich. (0, 0) → (0, 9) → (4, 5) → (0, 5) → (4, 1) → (0, 1) → (1, 0) → (1, 9) → (4, 6) Lösungen zu Problemen Problem 13(b) (0, 0) → (3, 0) → (0, 3) → (3, 3) → (1, 5) → (1, 0) 100 Lösungen zu Problemen 101 Problem 13(c) Bezeichne (x, y, z) den Zustand des Systems mit x Litern im 8-LiterKanister, y Litern im 5-Liter- und z Liter im 3-Liter-Krug. Dann sind die folgenden Zustandsübergänge möglich. (8, 0, 0) → (5, 0, 3) → (5, 3, 0) → (2, 3, 3) → (2, 5, 1) → (7, 0, 1) → (7, 1, 0) → (4, 1, 3) Lösungen zu Problemen 102 Problem 13(d) Das Faß soll also 9 Liter, der Eimer 6 Liter und der Krug 3 Liter enthalten. Bezeichne (w, x, y, z) den Zustand des Systems mit w Litern im Faß, x Litern im Eimer, y Litern im Krug und z Liter im Becher. Dann sind die folgenden Zustandsübergänge möglich. (18, 0, 0, 0) → (10, 8, 0, 0) → (10, 6, 0, 2) → (10, 6, 2, 0) → (7, 6, 5, 0) → (7, 6, 3, 2) → (9, 6, 3, 0) Lösungen zu Problemen 103 Problem 14(a) Sei v, m, k1 and k2 das Alter von Vater, Mutter, älterem und jüngerem Kind. Wir wissen a) v + m + k1 + k2 = 124 b) v + m = 3(k1 + k2 ) c) m > 2k1 d) v − m = 9(k1 − k2 ) a) und b) liefern k1 +k2 = 31 und v+m = 93 sowie 2v = 93+9(k1 −k2 ) bzw. 2m = 93 − 9(k1 − k2 ). In jedem Fall ist also k1 − k2 ungerade. Falls k1 − k2 = 1 gilt, so folgt aus k1 + k2 = 31 eben k1 = 16 und k2 = 15 sowie m > 32. Aus v + m = 93 und v − m = 9 folgt v = 51 und m = 42 > 32. Dies ist die einzige Lösung. Falls nämlich k1 − k2 ≥ 3 gilt, so folgt aus k1 + k2 = 31 eben k1 ≥ 17 und k2 ≤ 14 sowie m > 34. Aus v + m = 93 und v − m ≥ 27 folgt mit v ≥ 60 und m ≤ 33 der Widerspruch. Lösungen zu Problemen 104 Problem 14(b) Es gilt E = 24 = 2(A − d) mit E − d = A = 24 − d, so daß 12 = A − d = 2A − 24 und damit A = 18 folgt. Lösungen zu Problemen 105 Problem 14(c) Egal, ob man zuerst den Rabatt abzieht und dann Umsatzsteuer auf15 23 23 schlägt oder umgekehrt, man muß das (1 − 15 )(1 + 100 ) = 45 20 = 25 fache oder 92% des Netto-Preises bezahlen. Lösungen zu Problemen 106 Problem 14(d) 2 1 2 1 Lösungen zu Problemen 107 Problem 14(e) F − 5 = 2(P − 6) F − 2P = −7) P = 14 ⇒ ⇒ F + 9 = 3(P − 4) F − 3P = −21 F = 21 Lösungen zu Problemen 108 Problem 15(a) 11 18 27 Seien A, B und C die Etiketten der drei Ecken. Aus A∗B B+C A+C 27 18 11 folgt etwa B − A = 7 und daher B = 17, A = 10 sowie C = 1. Allgemein ist also nur ein System linearer Gleichungen zu lösen. Lösungen zu Problemen Problem 15(b) Aus (30 − a) + (7 − a) = 34 − a folgt 3 = 3a und damit a = 1. 109 Lösungen zu Problemen Problem 15(c) g1 + g2 + g2 = 10, g2 = 43 g1 , g3 = 34 g2 ⇒ g1 + 34 g1 + 43 43 g1 = 10 = ⇒ g1 = 3, g2 = 4, g3 = 3. 110 10 3 g1 Lösungen zu Problemen 111 Problem 15(d) k + ` + m + n = 79 und ` + 1 = 2k und m + 1 = 2` und n + 1 = 2m implizieren 79 = k+2k−1+2`−1+2m−1 = 3k−3+(4k−2)+(4`−2) = 7k − 7 + (8k − 4) = 15k − 11 und damit 15k = 90, also k = 6, ` = 11, m = 21 und n = 41. Lösungen zu Problemen 112 Problem 15(e) Sei m bzw. e die Anzahl der Säcke des Maultiers bzw. des Esels. Aus m + 1 = 2(e − 1) und m − 1 = e + 1 folgt m = 7 und e = 5. Lösungen zu Problemen Problem 16(a) U = 2πr = πr2 = A ⇒ r = 2 113 Lösungen zu Problemen 114 Problem 16(b) Sei ` [m] die Länge und v [m/sec] die Geschwindigkeit des Zuges. Aus ` = 7v und 330 = (18 − 7)v folgt v = 30 [m/sec] and ` = 210 [m]. Lösungen zu Problemen 115 Problem 16(c) Der Arbeiter stelle insgesamt x Werkstücke her. Für die ersten x2 x x braucht er 20 Tage, für die zweiten x2 Werkstücke braucht er 60 Tage. 60 x Also stellt er durchschnittlich x/20+x/60 = 4 = 15 Werkstücke pro Tag her. Lösungen zu Problemen 116 Problem 16(d) n = d3 103 + d2 102 + d1 10 + do ist palindromisch ⇐⇒ n = do 103 + d1 102 + d1 10 + do . Für solche n gilt 11|n = 1000do + 110d1 + do ⇐⇒ n|1001do = 11 · 91do . Lösungen zu Problemen Problem 16(e) I, a man, 7 wives, 72 sacks, 73 cats, 74 kids, i.e. P4 5 −1 1+ i=o 7i = 1+ 77−1 = 1+ 16 (823543−1) = 1+137257 = 137258 117 Lösungen zu Problemen Problem 16(f ) 4 4 3 1 3 4 = 3 4 = (1 + 3 ) 4 118 Lösungen zu Problemen 119 Problem 17(a) Eine Katze fängt in 5 Minuten 1 Maus. Eine Katze fängt in 100 Minuten 20 Mäuse. Fünf Katzen fangen dann 100 Mäuse in 100 Minuten. Lösungen zu Problemen 120 Problem 17(b) Sei 6 ≤ a, b ≤ 10 für a, b ∈ N. Dann gilt 10(a−5+b−5)+(10−a)(10−b) = 10(a+b)−100+100−10(a+b)+ab = ab Lösungen zu Problemen 121 Problem 17(c) Ein Huhn legt ein Ei in anderthalb Tagen. Sieben Hühner legen sieben Eier in anderthalb Tagen. Sieben Hühner legen 28 Eier in sechs Tagen. Lösungen zu Problemen 122 Problem 17(d) Die Sorte bezeichne zugleich das Gewicht einer Kugel dieser Sorte. Dann gilt A = 2B, B = 3C, C = 5D ⇒ A = 2B = 6C = 30D. Lösungen zu Problemen 123 Problem 17(e) Wegen der beiden Primfaktor-Zerlegungen 5291 = 11 · 13 · 37 und 3913 = 7 · 13 · 43 besteht das Zwillingspäarchen aus einem 13-jährigen Mädchen und einem 13-jährigen Jungen. Lösungen zu Problemen 124 Problem 18(a) Eine Katze fängt in 5 Minuten 1 Maus. Eine Katze fängt in 100 Minuten 20 Mäuse. Fünf Katzen fangen dann 100 Mäuse in 100 Minuten. Lösungen zu Problemen Problem 18(b) Man darf nicht durch 0 dividieren. 125 Lösungen zu Problemen Problem 18(c) Sei z der Zähler und n der Nenner. Dann gilt 65n ⇒ z = 13n ⇒ nz = 13. 126 z n = z+65 n+5 ⇒ 5z = Lösungen zu Problemen 127 Problem 18(d) Die fünf Zahlen seien n, n + 1, n + 2, n + 3, n + 4 für ein n ∈ N. Dann gilt n2 + (n + 1)2 + (n + 2)2 = (n + 3)2 + (n + 4)2√⇒ 3n2 + 6n + 5 = 2n2 + 14n + 25 ⇒ n2 − 8n − 20 = 0 ⇒ n1,2 = 4 ± 36 ⇒ n = 10. Lösungen zu Problemen 128 Problem 18(e) Sei f der Preis der Flasche und w derjenige des Weins. Aus f + w = 9 und w = f + 8 folgt 2f + 8 = 9 oder f = 12 . Lösungen zu Problemen Problem 18(f ) Sei x die Fläche seines Landes. Dann gilt 47 13 60 x + 26 = x ⇒ 60 x = 26 ⇒ x = 120. 129 x 3 + x 4 + x 5 + 26 = x ⇒ Lösungen zu Problemen 130 Problem 18(g) Es gibt 8 Würste und jeder ißt 83 Würste. Egon bezahlt für seine 83 Würste 8 Euro. Also kostet eine Wurst 3 Euro. Damit bekommt Heini für die nicht selbstgegessenen 3 − 83 = 13 Würste genau 1 Euro und Karl bekommt für die nicht selbstgegessenen 5 − 83 = 73 Würste genau 7 Euro. Lösungen zu Problemen 131 Problem 18(h) 1 1 1 9+6+2 17 + + = = 2 3 9 18 18 Also bekommt der älteste Sohn 9 Kühe, der mittlere 6 und der jüngste Sohn 2 Kühe. Der Nachbar, die 18. Person, bekommt keine Kuh. Lösungen zu Problemen 132 Problem 19(a) Zeit 00 25 30 50 55 diesseits ABCD BC BC BC ABC B B B AB Brücke Zeit 00 AD D D D ACD CD CD CD ABCD 10 →AD→ ←A← →AC→ ←A← →AB→ 65 jenseits 15 40 50 diesseits ABCD CD CD CD ACD A A A AB Brücke →AB→ ←A← →CD→ ←B← →AB→ 60 jenseits AB B B B BCD CD CD CD ABCD Der linke Plan funktioniert offensichtlich nicht. Man spart jedoch Zeit, wenn C und D die Brücke zusammen überqueren. Sie dürfen dies allerdings nicht als erste tun, damit jemand schnelleres die Taschenlampe zurückbringt. Lösungen zu Problemen 133 Problem 20(a) Lösungen zu Problemen 134 Problem 20(b) Man lege die Münze ganz rechts auf die Münze im Schnittpunkt der beiden Reihen. Lösungen zu Problemen 135 Problem 20(c) Lösungen zu Problemen 136 Problem 20(d) Der i-te Vasall fügt dem Wägegut i seiner Goldmünzen P30hinzu. Würden alle in 10g Münzen bezahlen, ergäbe die Wägung 10 i=1 i = 10 30·31 = 2 150·31g Goldmünzen. Der j-te Vasall zahlt nun mit j 9g-Münzen. Das Fehlen von genau jg Goldmünzen überführt den j-ten Vasallen. Lösungen zu Problemen 137 Problem 21(a) Zeit 0 1 2 3 Bauern 30 3 bezahlt -27 Schmied 30 25 25 bekommen 25 Man darf nicht Soll und Ist vermischen! Lehrling P 5 2 behalten 2 30 30 30 30 0 Lösungen zu Problemen Problem 21(b) Konstruiere einen Tetraeder im Raum (!). 138 Lösungen zu Problemen 139 Problem 21(c) 7 8 1 9 3 10 5 6 4 2 Lösungen zu Problemen 140 Problem 21(d) Vertauschen von Zeilen oder Spalten läßt die Anzahl von Flaschen unverändert. Man kann also erreichen, daß die Zeilen und Spalten im Bierträger nach absteigender Anzahl von Flaschen geordnet sind. Dann muß beispielsweise die Anzahl der Zeilen mit sechs Flaschen gerade, nämlich zwei sein, weil sonst die rechteste Spalte eine ungerade Anzahl von Flaschen, kurz ungerade Spalten enthielte. Verbleiben noch zwei Flaschen: in einer Zeile angeordnet entstehen zwei ungerade Spalten, sonst zwei ungerade Zeilen. Angenommen es gibt Zeilen mit vier Flaschen, nämlich nur genau zwei. Verbleiben noch sechs Flaschen, die ähnlich immer zu ungeraden Zeilen oder Spalten führen. 14 Flaschen lassen sich nicht in Zeilen mit zwei Flaschen unterbringen. Lösungen zu Problemen 141 Problem 22(a) Der vorvorletzte Faktor lautet (x−x), so daß (x−a)(x−b) . . . (x−z) = 0 folgt. Lösungen zu Problemen 142 Problem 22(b) Der Pfeil zeige in Blickrichtung. Dann wechseln sich horizontal wie vertikal stets waagerechte mit senkrechten Pfeilen ab. Der Sessel kann also nicht in die gewünschte Position/Orientierung bewegt werden. Lösungen zu Problemen 143 Problem 22(c) Gegenüberliegende Eckfelder haben dieselbe Farbe. Entfernen dieser Felder führt dazu, daß sich die Anzahl schwarzer und weißer Felder unterscheidet. Nun deckt ein Domino-Stein aber immer genau ein weißes und ein schwarzes Feld ab. Also kann das modifizierte Schachbrett nicht vollständig mit Domino-Steinen abgedeckt werden. Lösungen zu Problemen Problem 22(d) n = 10z + 5 ⇒ n2 = 100z 2 + 100z + 25 = 100z(z + 1) + 25. 144 Lösungen zu Problemen 145 Problem 23(a) Nein, der innerste kleine Würfel mit sechs Seiten hat keine Seite, die mit einer der Außenseiten zusammenfällt. Um allein diesen kleinen Würfel auszuschneiden, braucht man sachon sechs Schnitte. Damit ist sechs das Minimum. Lösungen zu Problemen 146 Problem 23(b) Für eine Etage braucht man k1 = 2, für zwei Etagen k2 = k1 +1+2·2 = 7 und für drei Etagen k3 = k2 + 2 + 2 · 3 = 15 Karten, allgemein also ki = ki−1 + (i − 1) + 2i = ki−1 + 3i − 1 mit k1 = 2. Der Ansatz ki = Ai2 + Bi + C mit k1 = 2 liefert ki = 32 i2 + 12 i, speziell also k47 = 23 472 + 21 47 = 21 47(3 · 47 + 1) = 47 · 71 = 3337. Lösungen zu Problemen 147 Problem 23(c) n : n bedeute n Dublonen links gegen n andere Dublonen rechts abzuwägen. Die mögliche drei Ergebnisse sind dann n < n (links oben), n = n und n > n (rechts oben). Verwende folgendes Verfahren: (dabei steht k∗ für k beliebige, nT für n echte, mR für m Dublonen aus dem noch nicht gewogenen Rest, und F für die Fälschung) →4∗ > 4∗, davon2∗ : 2∗→2T = 2T ⇒ 2T : 2∗ | | → 2T > T F ⇒ F < T | | →2T > T F ⇒ F < T 4∗ : 4∗→4T = 4T, 2T : 2R →2T = 2T, 2T : 2R →2T = 2T ⇒ 0F | | →2T < T F ⇒ F > T | → 2T < T F ⇒ F > T →4 < 4 Lösungen zu Problemen 148 Problem 23(d) Wenn man die Zahlen in absteigender anordnet, kann die PReihenfolge 8 größte nicht größer als 90 sein, weil i=1 i = 36, P9 nicht größer gleich 80 sein, weil 86=i=1 i = 45 − 8 = 37, P9 nicht größer gleich 70 sein, weil 76=i=1 i = 45 − 7 = 38, P9 nicht größer gleich 60 sein, weil einerseits 60+ 66=i=1 i = 60+45−6 = 99 und andererseits jeder weitere zweistellige Summand zu Summen größer als 100 führt, P9 nicht größer gleich 50 sein, weil einerseits 50+ 56=i=1 i = 50+45−5 = P9 90 sowie 50 + 12 + 1,2,56=i=1 i = 50 + 12 + 45 − 1 − 2 − 5 = 99 und andererseits jeder weitere zweistellige Summand größer 20 zu Summen größer als 100 führt, P9 nicht größer gleich 40 sein, weil einerseits 40+ 46=i=1 i = 40+45−4 = P9 81 sowie 40 + 12 + 1,2,46=i=1 i = 40 + 12 + 45 − 1 − 2 − 4 = 90, P9 40 + 21 + 1,2,46=i=1 i = 40 + 21 + 45 − 1 − 2 − 4 = 99 und andererseits jeder weitere zweistellige Summand größer 30 zu Summen größer als 100 führt, Lösungen zu Problemen 149 P9 nicht größer gleich 30 sein, weil einerseits 30 + 36=i=1 i = 30 + 45 − P9 3 = 72 sowie 30 + 12 + 1,2,36=i=1 i = 30 + 12 + 45 − 1 − 2 − 3 = P9 81, 30 + 21 + 1,2,36=i=1 i = 30 + 21 + 45 − 1 − 2 − 3 = 90 und weitere zweistellige Summanden größer als 40 ausfielen und damit schon behandelt wurden, P9 nicht größer gleich 20 sein, weil einerseits 20+ 26=i=1 i = 20+45−2 = P9 63 sowie 20 + 13 + 1,2,36=i=1 i = 20 + 13 + 45 − 1 − 2 − 3 = 72 und weitere zweistellige Summanden größer als 30 ausfielen und damit schon behandelt wurden, P9 nicht größer gleich 10 sein, weil einerseits 10+ 16=i=1 i = 10+45−1 = 54 und weitere zweistellige Summanden größer als 20 ausfielen und damit schon behandelt wurden. P9 Bleiben lauter einstellige Summanden mit Summe i=0 i = 45. Lösungen zu Problemen 150 Problem 24(a) Es können nicht zwei schwarze Fähnchen aufgestellt sein, weil der Gefangene, der beide schwarzen Fähnchen sieht, sofort auf sein weißes Fähnchen geschlossen hätte. Es kann auch nicht genau ein schwarzes Fähnchen aufgestellt sein, weil die beiden Gefangenen, die dieses schwarze Fähnchen sehen, sofort auf ihr weißes Fähnchen geschlossen hätten. Also kann überhaupt kein schwarzes Fähnchen aufgestellt worden sein. Auf diese Einsicht kommen die drei Gefangenen nahezu gleichzeitig und nennen alle Weiß als die Farbe des Fähnchens hinter ihnen. Lösungen zu Problemen 151 Problem 25(a) Sei K, J, F , M die Anzahl der Kinder, Jugendlichen, Frauen und Männer. Dann gilt: 2K = J, 2F = M , 3K +3F = K +J +F +M = 81 und 2·3K = 2(K +J) = F +M = 3F , also 2K = F und daher K = 9, J = 18 = F , M = 36. Lösungen zu Problemen 152 Problem 25(b) VVVLLL Nimm das zweite volle Glas und gieße seinen Inhalt in das zweite leere Glas. Lösungen zu Problemen 153 Problem 25(c) = d.h. 1 = √ 1 Lösungen zu Problemen 154 Problem 25(d) Mit a), b) und f) gilt Personal Beruf Reisende Verdienst Wohnort J Dr. J 5000Euro/Monat M 6= Heizer Dr. M B Dr. B Ch-burg 5000 ist nicht durch 3 teilbar. Also Dr. J kein Nachbar des Schaffners, der in (Ch.+N)/2 und nicht in N wohnt, so daß Dr. J weder in Ch. noch in (Ch.+N)/2 wohnt. Wegen e) wohnt Dr. J in N. Also ist Dr. M Nachbar des Schaffners. Wegen e) heißt der Schaffner J. Also heißt der Lokführer B. Personal Beruf Reisende Verdienst Wohnort J Schaffner Dr. J 5000Euro/Monat N M 6= Heizer Dr. M B Lokführer Dr. B (Ch+N)/2 Ch Lösungen zu Problemen 155 Problem 25(e) Die Anzahl der Eidechsen, Käfer und Würmer sei E, K und W . Es gilt E + K + W = 12. Eidechsen haben vier und Käfer sechs Beine. Würmer haben keine Beine. Also gilt 4E + 6K = 26, was 0, 2, 4 6= K ∈ {0, 1, 2, 3, 4}, also K ∈ {1, 3} impliziert. Falls K = 1, so folgt E = 5 und W = 6 = E + K, was wegen W > E + K ausgeschlossen ist. Falls K = 3, so folgt E = 2 und W = 7 > E + K = 5. Lösungen zu Problemen 156 Problem 25(f ) Der Reihe nach ergeben sich folgende Berufe: Joe Gärtner Hans 6= Musiker, 6= Gärtner Chauffeur Maler Klaus 6= Gärtner Musiker Kaufmann Friseur Lösungen zu Problemen 157 Problem 25(g) Wir unterstellen, daß Schwestern denselben Nachnamen tragen. Martin Bettina Pieper Lösungen zu Problemen Problem 26(a) Es gibt 12 = 1 Quadrat mit Seitenlänge 8. Es gibt 22 = 4 Quadrate mit Seitenlänge 7. Es gibt 32 = 9 Quadrate mit Seitenlänge 6. ... Es gibt 88 = 64 Quadrate mit der Seitenlänge 1. P8 = Insgesamt gibt es also i=1 i2 = n(n+1/2)(n+1) 3 n=8 12 · 17 = 204 Quadrate. 158 8·8.5·9 3 = 24 17 2 = Lösungen zu Problemen 159 Problem 26(b) Zum Einfärben der äußeren drei Sektoren werden drei Farben gebraucht. Dann braucht man eine weitere Farbe für die innere Kreis-Scheibe. Vgl. http://de.wikipedia.org/wiki/Vier-Farben-Satz Lösungen zu Problemen Problem 26(c) ??? 160 Lösungen zu Problemen 161 Problem 27(a) Lösungen zu Problemen 162 Problem 28(a) Z. Zt. t = 0 startet man beide Sanduhren. Z. Zt. t = 7 dreht man beide Sanduhren um, so daß die 11-min-Sanduhr nach weiteren 4 min, also z. Zt. t = 11 leerläuft. Umdrehen der 7-min-Sanduhr erlaubt, die verbleibenden 4 min abzumessen. Lösungen zu Problemen 163 Problem 29(a) Die Uhr geht 6min/24 = 1/4min = 15sec pro Stunde zu spät, d.h. in 24 + 20 = 44 Stunden geht sie 11 min zu spät und zeigt um 8h eben 7:49h an. Lösungen zu Problemen 164 Problem 29(b) Die dritte Frau kauft ein halbes Brot. Dies machte genau die Hälfte der verbliebenen Brote aus. Also war für die dritte Frau genau ein Brot übrig geblieben. Die zweite Frau findet drei Brote vor, kauft davon mit anderthalb Laiben die Hälfte und zudem einen halben Laib, so daß für die dritte Frau eben genau ein Brot übrig bleibt. Die erste Frau findet sieben Brote vor, kauft davon mit drei Laiben und einem halben Laib die Hälfte und zudem einen halben Laib, so daß für die zweite Frau eben genau drei Brote übrig bleiben. Der Bäcker verkauft sieben Brote. Lösungen zu Problemen 165 Problem 29(c) Der Stempel druckt die Nummer 1 in der zweiten Sekunde, die Nummer i in der i + 1. Sekunde. Eine Viertelstunde hat 15 · 60 = 900 Sekunden. Der Stempel druckt also in der ersten Viertelstunde die Nummern von 0 bis 899. Die Folge 0,1, . . . , 99 enthält 10+10=20 Einsen. Die Folge 100, 101, . . . , 199 enthält 120 Einsen, Alle weiteren hundert Nummern enthalten somit 7 · 20 = 140 Einsen, insgesamt 280 Einsen. Lösungen zu Problemen 166 Problem 30(a) Für die Zahl n der Demonstranten gilt n mod 2 = 1, n mod 3 = 2, . . . n mod 10 = 9. Mit dem chinesischen Restsatz gilt n = 2519, s.a. www.arndt-bruenner.de/mathe/scripts/chinesischerRestsatz.htm Lösungen zu Problemen 167 Problem 30(b) Sei S bzw. B die Anzahl der Schwestern bzw. Brüder. S − 1 = B, S = 2(B − 1) ⇒ B = 3, S = 4. Lösungen zu Problemen 168 Problem 30(c) Sei A bzw. B das Alter der ersten bzw. zweiten Schwester. Dann gilt A − B = 4, A3 − B 3 = 988 = (A − B)(A2 + AB + B 2 ) ⇒ A2 + AB + B 2 = A2 + A(A − 4) + (A − 4)2 = 247 ⇒ 3A2 − 12A − 231 = 0 ⇒ A2 − 4A − 77 = 0 ⇒ A = 11, B = 7. Lösungen zu Problemen 169 Problem 31(a) Es gebe n Kühe, n Schweine, n Pferde und n Kaninchen. Es überleben 4 4 1 5 5 n Kühe, 5 n Schweine, 5 n Pferde und r n Kaninchen. Dann gilt 14 = r rn = 9 +r , d.h. 9+5r = 14r und damit r = 1, d.h. kein Kaninchen 9 5 n+r n 5 ist verendet. Lösungen zu Problemen 170 Problem 32(a) Sei F der Preis der Flasche und W der Preis des Weines. Dann gilt 9 = F +W = F +(F +8) = 2F +8, d.h. 2F = 1 und damit F = 21 . Lösungen zu Problemen 171 Problem 32(b) Jeder Sohn bekommt den Inhalt von 13 (10 + 5) = 5 Fässern Wein. Man gieße also die Hälfte des Inhaltes eines jeden der vollen Fässer in eines der leeren Fässer. Dann gibt es 30 halbvolle, halbleere Fässer, von denen jeder Sohn genau zehn Fässer bekommt. Lösungen zu Problemen 172 Problem 33(a) Die ersten drei Fermat-Zahlen 1 2 3 F (1) = 22 + 1 = 5, F (2) = 22 + 1 = 17, F (3) = 22 + 1 = 257 erweisen sich auch ohne Hilfsmittel als Primzahlen. Mit calc.exe, mit www.weblearn.hs-bremen.de/risse/MAI/docs/numerik.pdf, mit jedem Taschenrechner erweist sich auch die vierte Fermat-Zahl 4 F (4) = 22 + 1 = 65537 als Primzahl. Erst Euler16 gelang die Faktorisierung von F (5) mit 5 F (5) = 22 + 1 = 4294967297 = 641 · 6700417 Diese und erst Recht die Faktorisierung der sechsten Fermat-Zahl 6 F (6) = 22 + 1 = 18446744073709551617 = 274177 · 67280421310721 gelingt heute bequem erst mit mächtigen Werkzeugen wie Mathematica, Maple, MATLAB, MuPAD o.ä. (vgl. /risse/symbolic/) 16 Leonhard Euler (1707-1783) www-history.mcs.st-and.ac.uk/Biographies/Euler.html Lösungen zu Problemen 173 Problem 34(a) Es gilt nämlich E(41) = 1681 = 412 und beispielsweise E(42) = 1763 = 41 · 43. Weiterführendes s.a. www.weblearn.hs-bremen.de/risse/MAI/, www.cs.unb.ca/profs/alopez-o/math-faq/math-faq.pdf Lösungen zu Problemen 174 Problem 35(a) Es gilt nämlich M (11) = 2047 = 23 · 89. Der Lucas17 -Lehmer18 -Test, s. z.B. (3.2.8 What is the current status on Mersenne primes?) von www.cs.unb.ca/profs/alopez-o/math-faq/math-faq.pdf testet effizient, ob Mersenne-Zahlen prim sind oder nicht. 1999 ergab der Rekord im Rahmen des Great Internet Mersenne Prime Search, GIMPS, daß M (6972593) – eine Zahl mit 2098960 Dezimal-Stellen – prim ist. Jeder kann idle cycles seines PCs für die Bestimmung von primen Mersenne-Zahlen zur Verfügung stellen, s. Great Internet Mersenne Prime Search (GIMPS) GIMPS betreibt übrigens viele weitere Projekte des distributed computing. 17 François 18 Derrick E.A. Lucas (1842-1891) www-history.mcs.st-and.ac.uk/Biographies/Lucas.html N. Lehmer (1867-1938) www.math.berkeley.edu/publications/newsletter/2000/lehmer.html Lösungen zu Problemen 175 Problem 36(a) Den (n mod 7)-ten Wochentag, wobei die Wochentage zyklisch anzuordnen sind, numeriert von 0 bis 6, beginnend mit dem heutigen Wochentag. Lösungen zu Problemen 176 Problem 36(b) Den (7 − (n mod 7)) mod 7-ten Wochentag, wobei die Wochentage zyklisch anzuordnen sind, numeriert von 0 bis 6, beginnend mit dem heutigen Wochentag. Lösungen zu Problemen 177 Problem 36(c) siehe etwa www.cl.cam.ac.uk/~mgk25/iso-time.html Lösungen zu Problemen 178 Problem 37(a) Per Definition gilt für m, n, r ∈ N n mod m = r ⇐⇒ n = v · m + r für ein v ∈ N ⇐⇒ n − r = v · m für ein v ∈ N ⇐⇒ m|n − r ⇐⇒ n ≡ r (mod m) Lösungen zu Problemen 179 Problem 37(b) Additivität: n1 ≡ r1 (mod m) ⇒ n1 − r1 = v1 m n2 ≡ r2 (mod m) ⇒ n2 − r2 = v2 m (n1 ± n2 ) ≡ (r1 ± r2 ) (mod m) ⇐ n1 + n2 − (r1 + r2 ) = (v1 + v2 )m Multiplikativität: m|n1 − r1 m|r2 (n1 − r1 ) ni ≡ ri (mod m) ⇒ ⇒ ⇒ m|n2 − r2 m|n1 (n2 − r2 ) m|r2 (n1 − r1 ) + n1 (n2 − r2 ) = n1 n2 − n1 r2 + n1 r2 − r1 r2 ⇒ n1 · n2 ≡ r1 · r2 (mod m) Lösungen zu Problemen 180 Problem 37(c) skalare Vielfache n ≡ r (mod m) ⇒ m|n − r ⇒ m|c(n − r) ⇒ c · n ≡ c · r (mod m) Potenzen entweder per Multiplikativität oder direkt etwa durch voll√ ständige Induktion: p=1 bleibt also nur np ≡ rp(mod m) ⇒ np+1 ≡ rp+1(mod m) zu zeigen n ≡ r (mod m) m|n − r m|rp (n − r) ⇒ ⇒ ⇒ np ≡ rp (mod m) m|np − rp m|n(np − rp ) m|rp (n − r) + n(np − rp ) = np+1 − nrp + nrp − rp+1 ⇒ np+1 ≡ rp+1 (mod m) Lösungen zu Problemen 181 Problem 37(d) Transitivität r ≡ s (mod m), s ≡ t (mod m) ⇒ m | r − s, m | s − t ⇒ m | (r − s) + (s − t) = r − t ⇒ r ≡ t (mod m) Lösungen zu Problemen 182 Problem 38(a) Division durch 3: (wegen Potenzieren) 10o = 1 ≡ 1 (mod 3) ⇒ 10p ≡ 1 (mod 3) und (wegen Multiplikativität) zi 10i = zi ≡ 1 (mod 3) ⇒ n = ∞ X i=0 zi 10i ≡ ∞ X zi (mod 3) i=0 Speziell gilt also s(n) ≡ 0 (mod 3) ⇒ n ≡ 0 (mod 3) Division durch 9: analog! z.B. 1234567890 mod 3 = (1 + 2 + . . . + 9) mod 3 = 45 mod 3 = 0 1234567890 mod 9 = (1 + 2 + . . . + 9) mod 9 = 45 mod 9 = 0 Die üblichen Tests für Teilbarkeit durch 2,4 oder 5 können entsprechend hergeleitet werden. Lösungen zu Problemen 183 Problem 38(b) Divisionsreste modulo 11 der Zehner-Potenzen: 2i 10 ≡ 1 (mod 11) 10o ≡ 1 (mod 11) ⇒ 102i+1 ≡ 10 (mod 11) ≡ −1 (mod 11) 101 ≡ 10 (mod 11) Damit folgt per Arithmetik modulo 11 z2i 102i ≡ z2i (mod 11) und z2i+1 102i+1 ≡ −z2i+1 (mod 11) Zusammen mit der Transitivität ergibt sich ein Test auf Teilbarkeit durch 11: 11 | ∞ X i=o i (−1) zi ⇒ 11 | ∞ X zi 10i i=0 und z.B. 1234567890 mod 11 = (−1 + 2 − 3 + 4 − 5 + 6 − 7 + 8 − 9 + 0) mod 11 = −5 mod 11 = 6 Lösungen zu Problemen 184 Problem 38(c) Einige Beispiele mögen das Verfahren illustrieren: Prüfziffer der ISBNummer 1-86197-222 ist 1-86197-222-9, da 1·1+2·8+3·6+4·1+5·9+6·7+7·2+8·2+9·2 = 174 mod 11 = 9 mod 11 Prüfziffer der ISBNummer 3-933146-67 ist 3-933146-67-4, da 1·3+2·9+3·3+4·3+5·1+6·4+7·6+8·6+9·7 = 48 mod 11 = 4 mod 11 Prüfziffer der ISBNummer 3-933146-43 ist 3-933146-43-7, da 1·3+2·9+3·3+4·3+5·1+6·4+7·6+8·4+9·3 = 51 mod 11 = 7 mod 11 Prüfziffer der ISBNummer 0-550-10206 ist 0-550-10206-X, da 1·0+2·5+3·5+4·0+5·1+6·0+7·2+8·0+9·6 = 32 mod 11 = 10 mod 11 Lösungen zu Problemen 185 Problem 38(d) Divisionsreste modulo 7 der Zehner-Potenzen: 7i+0 10o ≡ 1(mod 7) 10 ≡ 1(mod 7) ≡ −6(mod 7) 7i+1 101 ≡ 3(mod 7) ≡ 3(mod 7) ≡ −4(mod 7) 10 102 ≡ 2(mod 7) 107i+2 ≡ 2(mod 7) ≡ −5(mod 7) 103 ≡ 6(mod 7) ⇒ 107i+3 ≡ 6(mod 7) ≡ −1(mod 7) 104 ≡ 4(mod 7) 107i+4 ≡ 4(mod 7) ≡ −3(mod 7) 5 10 ≡ 5(mod 7) 107i+5 ≡ 5(mod 7) ≡ −2(mod 7) 7i+6 6 10 ≡ 1(mod 7) ≡ 1(mod 7) ≡ −6(mod 7) 10 P∞ Damit gilt für n = i=0 zi 10i per Arithmetik modulo 7 n≡ ∞ X z7i+0 +3z7i+1 +2z7i+2 −z7i+3 −3z7i+4 −2z7i+5 +z7i+6 (mod 7) i=0 Die Transitivität liefert nun einen Test auf Teilbarkeit durch 7: P∞ 7| i=0 z7i+0P+ 3z7i+1 + 2z7i+2 − z7i+3 − 3z7i+4 − 2z7i+5 + z7i+6 ∞ ⇒ 7 | i=0 zi 10i und z.B. 1234567890 mod 7 = (2·1+3·2+1·3+1·4−2·5−3·6−1·7+ 2·8+3·9+1·0) mod 7 = (2+6+3+4−10−18−7+16+27) mod 7 = 23 mod 7 = 2 Lösungen zu Problemen 186 Problem 38(e) Parität, parity bzw. Error Correcting Codes, ECC sind Beispiele Fehler-erkennender oder sogar Fehler-korrigierender Codierungen von Informationen. Sie sichern Daten gegen Verfälschung bei Übertragung (LAN, wLAN, Satellit, ...) oder Speicherung (HD, RAID, CD-ROM, DVD ...). z.B. Das Paritätsbit bo für odd/even parity ist so zu setzen, daß die Anzahl der gesetzten bits in einem bit-String b1 . . . bn inclusive parity bit bo ungerade/gerade ist. Mit einem Paritätsbit werden 1-bit Fehler erkannt. n X 1 mod 2 für odd parity bi = 0 mod 2 für even parity i=o Übrigens, odd parity ist Standard19 für synchrone, even parity für asynchrone Übertragung. z.B. Selbstverständlich ist es aufwändiger, Fehler zu korrigieren als nur ihr Vorhandensein festzustellen. Entsprechend komplexer sind die Algorithmen, wie z.B. CRC oder Reed-Solomon-Codes. 19 s. z.B. www.its.bldrdoc.gov/projects/t1glossary2000/ parity check.html Lösungen zu Problemen 187 Erläuterung einschlägiger Verfahren zur Fehler-Korrektur bieten etwa Cyclic Redundancy Codes, CRC, s. ftp.informatik.uni-trier.de/pub/Users-CTVD/sack/ep/CRC.txt 20 Reed -Solomon20 -Code, s. www.4i2i.com/reed solomon codes.htm, www.cs.cornell.edu/Courses/cs722/2000sp/ReedSolomon.pdf ... 20 Irving Reed (1923-?), Gustave Solomon (1931-1996) hotwired.lycos.com/synapse/feature/97/29/silberman2a 1.html Lösungen zu Problemen 188 Problem 39(a) Sei a < b (sonst ist nichts zu tun). Sei b = va + r mit r = b mod a. Falls r = 0, so ist ggT(a, b) = a wie auch ggT(a, (va) mod a) = ggT(a, 0) = a. Falls r > 0, so gilt für d = ggT(a, r) eben d | a und d | r und damit auch d | b = va + r. Bleibt zu zeigen, daß d auch größter Teiler von a und b ist. Für ein d0 ∈ N mit d0 | a und d0 | b = va + r folgt d0 | r. Da ja d = ggT(a, r), gilt d0 | d. Insgesamt ist also ggT(a, r) = d = ggT(a, b). Lösungen zu Problemen 189 Problem 39(b) Rekursive Version des Euklid’schen Algorithmus’ ggT(a,b) { if (b==0) return a; else return ggT(b,a mod b); } Der Algorithmus terminiert, weil bei jedem Rekursionsschritt die Argumente abwechselnd um mindestens 1 dekrementiert werden. ggT( , ) = Iterative Version des Euklid’schen Algorithmus’ ggT(a,b) { while (b != 0) { tmp=b; b=a mod b; a=tmp; } return a; } ggT( , ) = Lösungen zu Problemen 190 Problem 39(c) Beweis des FLT nach [25] S.54-55 Für primes p ist G = (Z/pZ)∗ = {1, 2, . . . , p − 1} eine multiplikative Gruppe mit p − 1 Elementen (abgeschlossen unter Multiplikation modulo p mit Eins-Element 1), also eine Gruppe der Ordnung ord(G) = p − 1. Jedes x ∈ G erzeugt nun eine Untergruppe < x >= {x1 , x2 , . . .} in G ⊃< x >. Da sich G als disjunkte Vereinigung etwa der Linksnebenklassen g < x > (mit identischer Kardinalität |g < x > | für alle g ∈ G) darstellen läßt, gilt – wie für jede Untergruppe H einer Gruppe G – ord(x) = ord(< x >) | ord(G) Für a ∈ G, d.h. für zu p teilerfremde a, gilt v · ord(a) = ord(G) und damit ap−1 = aord(G) = av·ord(a) = (aord(<a>) )v = 1v = 1 oder eben die Aussage des kleinen Satzes von Fermat ap−1 ≡ 1 (mod p) Lösungen zu Problemen 191 z.B. m = 11111 ist nicht prim, da 211110 ≡ 10536 (mod 11111), denn 215 ≡ 10546 (mod m), 290 ≡ 105466 (mod m) ≡ 7830 (mod m) 2150 ≡ 1054610 (mod m) ≡ 3771 (mod m), 2310 ≡ 10536 (mod m) 2540 ≡ 78306 (mod m) ≡ 1 (mod m), 210800 = (2540 )20 ≡ 1 (mod m) Ebenso ist m = 11111 nicht prim, da 311110 ≡ 2410 (mod 11111), denn 39 ≡ 19683 (mod m) ≡ 8572 (mod m), 310 ≡ 3494 (mod m) 360 ≡ 34946 (mod m) ≡ 9757 (mod m), 370 ≡ 2410 (mod m) 3120 ≡ 97572 (mod m) ≡ 1 (mod m), 311040 = (3120 )92 ≡ 1 (mod m) ˆ ˆ = ≈21 (mod 11111 ) 21 eben im Rahmen der Darstellungsgenauigkeit Lösungen zu Problemen 192 Problem 39(d) Die Implikation ist äquivalent zu FLT mit p = n und a = 2. FLT: 2n−1 ≡ 1 (mod n) ⇒ 2n−1 − 1 ≡ 0 (mod n) ⇒ n|2n−1 − 1. Sei dagegen n = 341. Wegen 341 = 11 · 31 ist n zusammengesetzt, also nicht prim. Es gilt aber dennoch 2340 ≡ 1 (mod 341), denn 210 = 3·341+1 ⇒ 210 −1 = 3·341 ⇒ 341|210 −1 ⇒ 210 ≡ 1 (mod 341) Das Gegenbeispiel ergibt sich nun durch Potenzieren: 2340 ≡ 1 (mod 341) ⇒ 341|2340 − 1 z.B. 341 ist zusammengesetzt, da 3340 ≡ 56(mod 341). Denn 36 = 47 mod 341, 37 = 141 mod 341, 38 = 82 mod 341 39 = 246 mod 341, 310 = 56 mod 341, 330 = 1 mod 341 3330 = 1 mod 341, zusammen also 3340 = 56 mod 341 Lösungen zu Problemen 193 Problem 40(a) Wenn |M | die Kardinalität der Menge M , also die Anzahl der Elemente von M bezeichnet, ist offensichtlich ϕ(p) = |{m ∈ N : m < p, ggT(m, p) = 1}| = |{1, 2, . . . , p − 1}| = p − 1 Im Übrigen ist ϕ(n) für kleine n schnell bestimmt: n ϕ(n) 2 3 4 5 6 7 8 9 10 1 2 2 4 2 6 4 6 4 n 11 12 13 14 15 16 17 18 19 20 ϕ(n) 10 4 12 6 8 8 16 6 18 8 n 21 22 23 24 25 26 27 28 29 30 ϕ(n) 12 10 22 8 20 12 18 12 28 8 Lösungen zu Problemen 194 Problem 40(b) Zu zeigen ist, daß es pk−1 − 1 verschiedene m < pk gibt, die gemeinsame Teiler mit pk , d.h. die (u.a.) den Teiler p haben. |{m = vp : m = vp < pk }| = |{m = vp : 1 ≤ v < pk−1 }| = pk−1 − 1 Also ist ϕ(pk ) = |{1, 2, . . . , pk − 1} \ {m = vp : 1 ≤ v < pk−1 }| = |{1, 2, . . . , pk − 1}| − |{m = vp : 1 ≤ v < pk−1 }| = pk − 1 − (pk−1 − 1) = pk − pk−1 Lösungen zu Problemen Problem 40(c) 195 Sei n = r · s mit teilerfremden Faktoren r und s. Die Menge M = {m ∈ N : m < n, ggT(m, n) = 1} läßt sich wie folgt aufzählen: Jedes zu r teilerfremde r0 und jedes zu s teilerfremde s0 liefert ein zu n teilerfremdes m = r0 · s0 , d.h. {r0 < r : ggT(0 r, r) = 1} × {s0 < s : ggT(0 s, s) = 1} ⊂ M Umgekehrt ist jeder Teiler von m ∈ M entweder Teiler von r oder von s. Seine Primfaktorzerlegung läßt sich also als Produkt von zwei Faktoren auffassen, die teilerfremd entweder zu r oder zu s sind. ϕ(n) = |M | = |{r0 < r : ggT(0 r, r) = 1} × {s0 < s : ggT(0 s, s) = 1}| = |{r0 < r : ggT(0 r, r) = 1}| · |{s0 < s : ggT(0 s, s) = 1}| = ϕ(r) · ϕ(s) Lösungen zu Problemen 196 Problem 40(d) Jedes n ∈ N hat eine Primfaktorzerlegung v Y n= pvi i i=1 wobei vi die Vielfachheit des Primfaktors pi und v die Anzahl der Primfaktoren bezeichnen. Damit gilt v v Y Y vi vi −1 ϕ(n) = pi − pi =n 1 − 1/pi i=1 i=1 aber eben nur, wenn die Primfaktorzerlegung von n überhaupt bekannt ist. Für prime p und q sowie n = p · q gilt also insbesondere ϕ(n) = ϕ(p·q) = ϕ(q)·ϕ(q) = (p−1)(q−1) = p·q−p−q+1 = n−(p+q)+1 Lösungen zu Problemen Problem 40(e) 197 Beweis nach [25] S.57 Sei wie im Beweis des kleinen Satzes von Fermat G = (Z/nZ)∗ , d.h. die Gruppe der invertierbaren Elemente von Z/nZ mit dem Einselement [1] ∈ Z/nZ. G besteht also gerade aus den Elementen [m] ∈ Z/nZ, deren Repräsentanten m ein modulo-n Inverses haben. Dies sind genau die Elemente [m] mit zu n teilerfremden Repräsentanten m. Also ist G = {[m] : 1 ≤ m < n, ggT(m, n) = 1} und damit ord(G) = ϕ(n). Mit ggT(a, n) = 1 ist also [a] ∈ G und damit aord(G) = [1] oder eben aϕ(n) = aord(G) ≡ 1 (mod n) Lösungen zu Problemen 198 Problem 41(a) Aus ggT(mi , mj ) = 1, folgt ggT(bi , mi ) = 1 für i = 1, . . . , n. Daher existiert das (modulo mi )-Inverse xi zu bi , d.h. xi bi ≡ 1 (mod mi ) für i = 1, . . . , n Zudem ist bi xi ≡ 0 (mod mj ) falls i 6= j, also xi bi ≡ δij (mod mi ). Mit n X x= xi bi ri i=1 gilt also für j = 1, . . . , n n X x mod mj = (xi bi ri ) mod mj = (xj bj rj ) mod mj = rj i=1 Lösungen zu Problemen 199 Problem 41(b) Offensichtlich gilt x = y mod p ⇐⇒ x − y ∈ pZ ⇐⇒ p | (x − y) x = y mod q ⇐⇒ x − y ∈ qZ ⇐⇒ q | (x − y) Da nach Voraussetzung p und q teilerfremd sind, folgt (pq) | (x − y) ⇐⇒ x − y ∈ (pq)Z ⇐⇒ x = y mod (pq) Lösungen zu Problemen 200 Problem 41(c) Sei a das zu bestimmende Alter. Erfragt werden r1 = a%3, a = r1 mod 3, a ≡ r1 (mod 3) r2 = a%5, a = r2 mod 5, a ≡ r2 (mod 5) r3 = a%7, a = r3 mod 7, a ≡ r3 (mod 7) Q3 Dann gilt m = 1 mi = 3 · 5 · 7 = 105. Weiterhin ist b1 = 105/3 = 35, b2 = 105/5 = 21 und b3 = 105/7 = 15. Die (modulo mi )-Inversen sind x1 = 2 wegen 2 · 35 = x1 b1 = 1 mod m1 = 1 mod 3, x2 = 1 wegen 1 · 21 = x2 b2 = 1 mod m2 = 1 mod 5 und x3 = 1 wegen 1 · 15 = x3 b3 = 1 mod m3 = 1 mod 7. Damit gilt a= 3 X xi bi ri mod m = (70 r1 + 21 r2 + 15 r3 ) mod 105 1 Lösungen zu Problemen 201 Problem 42(a) Verwende einerseits a+0 = 0+a = a und andererseits a · 1 = 1 · a = a, um bis auf eines alle Ergebnisse in der Additionsbzw. in der Multiplikationstabelle zu bestimmen. + 0 0 0 1 1 1 1 0 · 0 1 0 0 0 1 0 1 Definierte man 1 + 1 = 1, dann hätte 1 kein inverses Element bzgl. der Addition. Definierte man 1 · 1 = 0, dann hätte 1 kein inverses Element bzgl. der Multiplikation. Addition läßt sich also als XOR oder als Addition modulo 2 interpretieren und implementieren. Multiplikation läßt sich also als AND oder als Multiplikation modulo 2 interpretieren und implementieren. Lösungen zu Problemen 202 Problem 42(b) Kommutative Addition und Multiplikation in GF(3) + 0 1 2 0 0 1 2 1 1 2 0 2 2 0 1 · 0 1 2 0 0 0 0 1 0 1 2 2 0 2 1 Lösungen zu Problemen 203 Problem 42(c) Kommutative Addition und Multiplikation in GF(5) + 0 1 2 3 4 0 0 1 2 3 4 1 1 2 3 4 0 2 2 3 4 0 1 3 3 4 0 1 2 4 4 0 1 2 3 · 0 1 2 3 4 0 0 0 0 0 0 1 0 1 2 3 4 2 0 2 4 1 3 3 0 3 1 4 2 4 0 4 3 2 1 Lösungen zu Problemen 204 Problem 42(d) Für jedes prime p machen jeweils die Addition modulo p aus GF(p) und die Multiplikation modulo p aus GF(p)∗ kommutative Gruppen – mit Distributivität. a= b= a+b= a·b= m= 6 eval reset Für p, q ∈ GF(pq)∗ würde jedoch unzulässigerweise p · q = 0 gelten, so daß das Produkt von Null verschiedener Faktoren verschwände. Lösungen zu Problemen 205 Pn−1 Problem 43(a) Für r(x) = i=0 ri xi ∈ GF(pn ) und s(x) = GF(pn ) mit ri , si ∈ GF(p) definiert man (r + s)(x) := n−1 X Pn−1 i=0 si xi ∈ (ri + si )xi ∈ GF(pn ) i=0 GF(pn ), + ist dann offensichtlich eine kommutative (additive) Gruppe. Deren Null-Element ist das konstante Polynom null(x) = 0xo . Das Pn−1 Inverse eines Polynoms q(x) = i=0 ci xi ∈ GF(pn ) bzgl. dieser AdPn−1 dition ist das Polynom −q(x) = i=0 (p − ci mod p)xi ∈ GF(pn ). r = 1,0,1,0 s = 1,1,0,1,1 r= s= r+s= p= 2 n= 8 add s := −r reset Lösungen zu Problemen 206 Problem 43(b) Pn−1 Pn−1 Seien r(x) = i=0 ri xi ∈ GF(pn ) und s(x) = i=0 si xi ∈ GF(pn ) mit ri , si ∈ GF(p). Dann gilt 2n−2 i X X rs (x) := xi rj si−j ∈ P(2n − 1) i=0 j=0 Weil offensichtlich i.a.R. r · s ∈ P(2n − 1) gilt, liegt das Produkt von Faktoren in GF(pn ) nicht notwendig wieder in GF(pn ). Lösungen zu Problemen 207 Problem 43(c) Dann muß das Polynom m den Grad n haben. Ein Polynom m mit kleinerem Grad leistet nicht das Gewünschte, wie folgendes Beispiel für GF(22 ) zeigt. m(x) = x 0 1 ∗ 0 0 0 1 0 1 0 x x x+1 0 x+1 x 0 x 0 0 x+1 0 x+1 0 1 m(x) = x + 1 ∗ 0 1 0 0 0 1 0 1 0 x x x+1 0 x+1 x 0 x 1 0 x+1 0 x+1 0 0 In beiden Fällen ergeben sich Widersprüche. Für m(x) = x hat beispielsweise x kein Inverses. Für m(x) = x + 1 hat beispielsweise x + 1 kein Inverses. Lösungen zu Problemen 208 Problem 43(d) Dann muß m irreduzibel sein, d.h. m kann nicht als Produkt zweier nicht-konstanter Polynome niedrigeren Grades dargestellt werden. Denn angenommen, m = m1 · m2 mit nicht-konstanten Polynomen m1 und m2 , deren Grad nicht größer als n ist. Dann gälte m1 , m2 ∈ GF(pn ) und damit zwangsläufig m1 · m2 = 0 in GF(pn ). Lösungen zu Problemen 209 Problem 43(e) Wegen m1 (x) = x2 + 1 = x2 + 2x + 1 = (x + 1)2 ist m1 reduzibel über GF(2). Auflisten aller geeigneten Produkte zeigt, daß m2 = x2 + x + 1 über GF(2) irreduzibel ist. x·x x · (x + 1) (x + 1) · x (x + 1) · (x + 1) = = = = x2 x2 + x x2 + x x2 + 2x + 1 = x2 + 1 Lösungen zu Problemen 210 Problem 44(a) Multiplikation in GF(22 ) = GF(2)[x]/m(x) mit m(x) = x2 + x + 1 ist durch die folgende Tabelle gegeben · 0 1 x x+1 0 0 0 0 0 1 0 1 x x+1 x 0 x x+1 1 x+1 0 x+1 1 x weil x2 = x + 1 mod m(x) und x(x + 1) = x2 + x = x + 1 + x = 1 mod m(x) und (x + 1)2 = x2 + 2x + 1 = x2 + 1 = x + 2 = x mod m(x). Die inversen Elemente können direkt aus der Multiplikationstabelle ausgelesen werden. Lösungen zu Problemen 211 Pn−1 i n ∗ Problem 44(b) Für r(x) = i=0 ri x ∈ GF(p ) und s(x) = Pn−1 i n ∗ i=0 si x ∈ GF(p ) mit ri , si ∈ GF(p) definiert man n−1 i X X (r · s)(x) := xi rj si−j mod m(x) ∈ GF(pn ) i=0 j=0 n ∗ Dann ist GF(p ) , · eine kommutative (multiplikative) Gruppe. Deren Eins-Element ist das konstante Polynom eins(x) = 1xo . m = 1,0,0,0,1,1,0,1,1 r = 1,0,1,0,1 s = 1,1,0,1,1 m= r= s= r·s = g= next irr poly p= 2 n= 8 irreduzibel? multipliziere s := 1/r reset |{irr poly}| next generator Lösungen zu Problemen 212 Problem 44(c) Mit der erweiterten Version des Euklid’schen Algorithmus auf S. 40. Zunächst sei also der klassische Algorithmus in rekursiver und iterativer Form präsentiert, der ggT(x, y) = gcd(x, y) berechnet. gcd rec(int x,y) { if (y=0) return abs(x); else return gcd rec(y,mod(x,y)); } gcd it(int x,y) { int tmp; while (y<>0) { tmp = y; y = mod(x,y); x = tmp; } return abs(x) } Der erweiterte Euklid’sche Algorithmus berechnet zu gegebenen x und y nun Koeffizienten a und b, so daß d = ggT(x, y) = ax + by gilt. Mit primem p und 0 ≤ x < p gilt dann 1 = ggT(x, p) = ax + bp, d.h. ax = 1 − bp oder eben ax = 1 mod p. Der erweiterte Euklid’sche Algorithmus invertiert also in GF(p) und analog in GF(pn ). Lösungen zu Problemen gcd coeff(int x,y) % returns vector { int q,tmp,q11,q12,q22,t21,t22; q11 = q22 = 1; q12 = q21 = 0; while (y<>0) { tmp = y; q = x / y; y = x % y; x = tmp; t21 = q21; t22 = q22; q21 = q11 - q*q21; q22 = q12 - q*q22; q11 = t21; q12 = t22; } return vector(x,q11,q12); } 213 Lösungen zu Problemen 214 Problem 44(d) Mithilfe der Möglichkeit im Formular auf S. 211, irreduzible Polynome über GF(p) von gegebenem Grad n zu erzeugen, kann folgende kleine Tabelle aufgestellt werden: p\ n 2 2 1 3 6 5 40 .. . ... 3 2 16 160 4 5 3 6 36 96 600 . . . 6 7 8 9 18 30 232 . . . ... ... Übrigens, man kann zeigen, daß es immer mindestens ein irreduzibles Polynom über GF(p) vom Grad n gibt. Lösungen zu Problemen 215 Problem 44(e) Seien m1 (x) und m2 (x) zwei irreduzible Polynome über GF(p) vom Grad n−1 und Fi der mit mi (x) konstruierte Körper. Diese beiden Körper sind isomorph, d.h. bis auf Umbenennung ihrer Elemente identisch, d.h. es gibt einen Isomorphismus, also eine bijektive Abbildung ϕ : F1 → F2 mit ϕ(r + s) = ϕ(r) + ϕ(s) und ϕ(r · s) = ϕ(r) · ϕ(s) • weil zwei endlich Körper mit gleich vielen Elementen isomorph sind • oder weil endliche Körper zyklisch sind, d.h. daß es für jeden endlichen Körper F ein erzeugendes Element g mit F∗ = {g i ; i ∈ N} gibt. Sei also gi erzeugendes Element von Fi . Dann stellt die Abbildung ϕ : F1 → F2 definiert durch ϕ(g1 ) := g2 und kanonisch auf ganz F1 fortgesetzt einen Isomorphismus zwischen F1 und F2 dar. Lösungen zu Problemen 216 Problem 44(f ) Offensichtlich hat GF(22 )∗ mit m(x) = x2 + x + 1 genau zwei erzeugende Elemente, nämlich g1 (x) = x und g2 (x) = x+1. n 0 1 2 g1n = xn g10 = 1 g11 = x g12 = x + 1 n 0 1 2 g2n = (x + 1)n g20 = 1 g21 = x + 1 g22 = x GF(23 )∗ mit m(x) = x3 + x + 1 hat mindestens drei erzeugende Elemente: x, x + 1 und x2 . n 0 1 2 3 4 5 6 xn 1 x x2 x+1 x2 + x x2 + x + 1 x2 + 1 n 0 1 2 3 4 5 6 (x + 1)n 1 x+1 x2 + 1 x2 x2 + x + 1 x x2 + x n 0 1 2 3 4 5 6 (x2 )n 1 x2 x2 + x x2 + 1 x x+1 x2 + x + 1 GF(23 )∗ mit m(x) = x3 + x2 + 1 hat mindestens drei erzeugende Lösungen zu Problemen 217 Elemente: x, x + 1 und x2 . n 0 1 2 3 4 5 6 xn 1 x x2 x2 + 1 x2 + x + 1 x+1 x2 + x n 0 1 2 3 4 5 6 (x + 1)n 1 x+1 x2 + 1 x x2 + x x2 + x + 1 x2 n 0 1 2 3 4 5 6 (x2 )n 1 x2 x2 + x + 1 x2 + x x x2 + 1 x+1 Das ist nicht überraschend: aufgrund der Isomorphie ist die Menge der erzeugenden Elemente unabhängig von der Wahl des irreduziblen Polynoms m. Es gibt weitere erzeugende Elemente von GF(23 )∗ : das Formular auf S. 211 berechnet nämlich schrittweise alle erzeugenden Elemente von GF(pn )∗ für jedes (kleine) prime p und (kleine) n ∈ N. Lösungen zu Problemen 218 Problem 44(g) Sei g ein erzeugendes Element von GF(pn )∗ und sei log r der Logarithmus von Elementen r ∈ GF(pn )∗ zur Basis g. Dann kann die Multiplikation auf eine Addition und drei table look ups reduziert werden: (r · s) = g log r+log s Betrachte beispielsweise GF(28 )∗ . Dann sind statt einer look up Tabelle mit 256·256 = 65536 Einträgen für die Multiplikation in GF(28 )∗ nur zwei look up Tabellen mit je 256 Einträgen nötig. Lösungen zu Problemen 219 Problem 44(h) Wegen 1/r = r−1 = g − log r = g p n −1−log r kann die Invertierung in GF(pn )∗ durch zwei table look ups und eine Subtraktion implementiert werden. Lösungen zu Problemen 220 Problem 45(a) Mit k = 3 ergibt sich folgender Klar-Text thisisatopsecretmessage. Offensichtlich gibt es genau 26 mögliche Schlüssel. Die Caesar-Verschlüsselung erhält also u.a. die Buchstabenhäufigkeiten der verwendeten Sprache! – ein Schwäche, die Angriffe ausnutzen können. s.a. www.weblearn.hs-bremen.de/risse/MAI/docs/mai1.pdf k=C Caesar Caesar−1 x= y= x= B ? Besonderheiten der Implementierung ? Lösungen zu Problemen 221 Problem 45(b) Außer dem trivialen Schlüssel 0 gibt es nur 25 ’richtige’ Schlüssel k = 1, 2, . . . , 25 im Schlüsselraum {0, 1, 2, . . . , 25}. Die Sicherheit der Caesar-Verschlüsselung ist sehr niedrig, da ja nur diese 25 Schlüssel ausprobiert werden müssen. Lösungen zu Problemen 222 Problem 46(a) Ohne Beschränkung der Allgemeinheit sei k = k mod m . Die Verschlüsselung muß umkehrbar-eindeutig sein, d.h. (k x1 ) mod m = (k x2 ) mod m ⇒ x1 = x2 für alle 0 ≤ x1 , x2 < m oder ebenso x1 6= x2 ⇒ (k x1 ) mod m 6= (k x2 ) mod m für alle 0 ≤ x1 , x2 < m Dann sind notwendigerweise k und m teilerfremd. Denn sonst existiert ein g ∈ N mit k = v g und m = w g. Für 0 = x1 6= x2 = w < m gilt dann (k x1 ) mod m = 0 mod m = 0 = (v w g) mod (w g) Lösungen zu Problemen 223 Problem 46(b) Wenn 1 = (k k inv ) mod m, genau dann gilt x = (k inv y) mod m = (k inv ((k x) mod m)) mod m = (k inv k x) mod m für jedes 0 ≤ x < m. Dann heißt k inv das (modulo-m)-Inverse zu k. Der Euklid’sche Algorithmus ggT(xo , x1 ) berechnet für teilerfremde xo und x1 (bis auf Vertauschung der Argumente) xo = q1 x1 + x2 x1 = q2 x2 + x3 x2 = q3 x3 + x4 x2 = xo − q1 x1 x3 = x1 − q2 x2 = x1 − q2 (xo − q1 x1 ) x4 = x2 − q3 x3 = xo − q1 x1 −q3 (x1 −q2 (xo −q1 x1 )) .. . xn−2 = qn−1 xn−1 + xn xn−1 = qn xn + xn+1 xn = Linearkombination von xo und x1 bis xn = 1 und xn+1 = 0. Jedes xi ist also als Linearkombination von xo und x1 darstellbar. Insbesondere gilt also für ggT(k, m) eben xn = 1 = u k + v m falls ggT(k, m) = 1. Damit folgt u k = 1 − vm ⇒ (u k) = 1 mod m u ist also das (modulo m)-Inverse k inv zu k. Lösungen zu Problemen 224 Der Euklid’sche Algorithmus wird nun erweitert, um das modulo-m Inverse von k zu berechnen function invers(k,m) { var xm=m,x=k,xp,q; var l11=1, l12=0, l21=0, l22=1, n11, n12, n21, n22; while (xm != 1) { q=Math.floor(xm/x); xp=xm-x*q; n11=l21; n12=l22; n21=l11-q*l21; n22=l12-q*l22; l11=n11; l12=n12; l21=n21; l22=n22; xm=x; x=xp; } return (l12+m)-m*Math.floor((l12+m)/m); } k= m= (modulo m) -Inverse zu k k inv = Lösungen zu Problemen 225 Problem 46(c) Einsetzen liefert x = = (k10 y + ko0 ) mod m = (k10 ((k1 x + ko ) mod m) + ko0 ) mod m (k10 k1 x + k10 ko + ko0 ) mod m = x genau dann, wenn k10 = k1inv und ko0 = (−k1inv ko ) mod m Selbstverständlich gilt dann auch y = (k1 x + ko ) mod m = (k1 ((k1inv y + ko0 ) mod m) + ko ) mod m = (k1 k1inv y + k1 ko0 + ko ) mod m = (y + k1 (−k1inv ko ) + ko ) mod m = y Lösungen zu Problemen 226 Problem 46(d) Jeder Schlüssel besteht aus einem Paar (k1 , ko ) mit ko ∈ {0, 1, . . . , m− 1} und k1 ∈ {0 ≤ k < m : ggT(k, m) = 1}. Der Schlüsselraum ist {1, 2, . . . , 25} × {0 ≤ k < m : ggT(k, m) = 1}. Beispielsweise für m = 26 hat der Schlüsselraum 26 · ϕ(26) = 26 · 12 Elemente. Dennoch ist die Sicherheit der allgemeinen Caesar-Verschlüsselung (unverändert) niedrig, da u.a. die Buchstabenhäufigkeiten weiterhin erhalten bleiben. Lösungen zu Problemen 227 Problem 47(a) Mit Schlüsselwort key oder eben k = 10, 4, 24, d.h. l = 3 ergibt sich folgender Klar-Text thisisatopsecretmessage. Offensichtlich gibt es genau 26l mögliche Schlüssel der Länge l. Die Perioden-Länge l kann mit dem Verfahren von Kasiski ermittelt werden. Dann besteht die restliche Attacke nur noch aus l unabhängigen Caesar-Entschlüsselungsverfahren. s.a. www.weblearn.hs-bremen.de/risse/MAI/docs/mai1.pdf k = KEY Vigenère Vigenère−1 x= y= x= ABCDEFABCDEF ? Besonderheiten der Implementierung ? Lösungen zu Problemen 228 Problem 47(b) Jeder Schlüssel besteht aus einer Zeichenkette k beliebiger Länge. Der l Schlüsselraum ist damit ∪∞ l=1 {0, 1, 2, . . . , 25} bei Verwendung etwa des lateinischen Alphabets. Die Sicherheit der Vigenère-Verschlüsselung ist also umso höher, je länger der Schlüssel. Zugleich wachsen aber auch die Anforderungen an die Übermittelung der Schlüssel an die Empfänger. Höchste Sicherheit, bei gleichzeitig höchstem Aufwand für die Übermittelung der Schlüssel, bieten Schlüssel, die nur einmal verwendet werden, one time pad, s.a. www.fourmilab.ch/onetime/otpjs.html Lösungen zu Problemen 229 Problem 48(a) Qn Es gibt n! = 1 · 2 · 3 · · · n = i=1 i Permutationen von n Objekten. Das lateinische Alphabet hat damit 26! = 403291461126605635584000000 Permutationen. Lösungen zu Problemen 230 Problem 48(b) Nein, weil weiterhin die Buchstaben-tupel-Häufigkeiten erhalten bleiben und für eine Entschlüsselung genutzt werden können. z.B. Sei y = CESVLRHEESUUSLLGANOSGMIHRSTU. S, C, und H liegen sehr dicht beieinander (Blockung), so daß man das Trigramm SCH vermuten kann. Kleinstmögliche Block-Länge ` ist 5. Für diese Block-Länge bekommt man die unwahrscheinlichen TextAnfänge ”ELVSCH. . . ” oder ”EVLSCH. . . ”. Bei ` = 6 ist SCH nicht möglich; ` = 6 scheidet daher aus. Für ` = 7 ergibt sich: ...SCH....SEL....ALG.....HMU... Die engültige Position der Trigramme ist noch unbekannt; durch Verwendung der übrigen Buchstaben-tupel-Häufigkeiten erhält man dann x = VERSCHLUESSELUNGSALGORITHMUS s.a. www.kryptoanalytiker.de Lösungen zu Problemen 231 Problem 48(c) Verschlüsselt wird also durch Permutation von Text-Blöcken fester Länge. Im folgenden Beispiel htsisitapoesrcteemssga.e werden benachbarte Buchstaben vertauscht. Die Permutation (2, 1) wird auf 2-Buchstaben Blöcke angewendet. Es gibt n! Permutationen von Blöcken mit n Buchstaben: je länger die Blöcke um so mehr Permutationen oder Schlüssel gibt es, d.h. um so sicherer ist die Verschlüsselung durch Permutationen. Gleichzeitig wachsen aber auch die Schlüssel und der Aufwand für die Pufferung der zu verschlüsselnden bzw. zu entschlüsselnden Nachrichten. Lösungen zu Problemen 232 Problem 49(a) P inv x= y= x= 40 8 48 16 56 24 64 32 38 6 46 14 54 22 62 30 = 36 4 44 12 52 20 60 28 34 2 42 10 50 18 58 26 This is a TOP secret message! 39 7 47 15 55 23 63 31 37 5 45 13 53 21 61 29 35 3 43 11 51 19 59 27 33 1 41 9 49 17 57 25 padding DES-P DES-P inv ? Warum wird wohl die codierte Zeichenkette als o |-String, also jeder codierte Block von 8 Buchstaben als 64bit-Block dargestellt? Probieren Sie andere padding characters, d.h. Buchstaben zum Auffüllen. Lösungen zu Problemen 233 Problem 49(b) inv Sei fK (L, R) = (R ⊕ K, L). Wegen K ⊕ K = ~0 gilt dann inv inv fK fK (L, R) = fK (R, L ⊕ K) = (L ⊕ K ⊕ K, R) = (L, R) wie auch inv fK fK (L, R) = fK (R ⊕ K, L) = (L ⊕ K ⊕ K, R) = (L, R) fK stellt eine Substitution dar, wenn 64bit Blöcke (L, R) als ein Buchstabe im Alphabet A = {0, 1}64 aufgefaßt werden. x= K= y= x= This is a TOP secret message! padding key! check DES-f DES-f inv DES besteht nun aus insgesamt 16 solchen Substitutionen. Lösungen zu Problemen 234 DES verschlüsselt eine Botschaft x durch iterierte Anwendung von Funktionen fKi , wobei die Schlüssel Ki aus einem Haupt-Schlüssel K erzeugt werden. Verschlüsselung durch y = P inv ◦ fK16 ◦ fK15 ◦ . . . ◦ fK2 ◦ fK1 ◦ P (x) = P inv (fK16 (fK15 (. . . (fK2 (fK1 (P (x)))) . . .))) impliziert Entschlüsselung durch x = = inv inv inv inv P inv ◦ fK ◦ fK ◦ . . . ◦ fK ◦ fK ◦ P (y) 1 2 15 16 inv inv inv inv P inv fK fK . . . fK fK (P (y)) . . . 1 2 15 16 Lösungen zu Problemen 235 Problem 49(c) L kann als Hintereinanderausführung von MatrixTransformationen aufgefaßt werden. L ist also linear. Allerdings sind lineare Verschlüsselungsverfahren verhältnismäßig einfach zu brechen. Lösungen zu Problemen 236 Problem 49(d) Die look up Tabelle für eine jede S-Box hat 26 Zeilen à 4bit, also 28 = 256bit, insgesamt 8 · 256 = 211 = 2Kbit für die acht S-Boxes. Eine look up Tabelle für eine 32bit Substitution dagegen hätte 232 Zeilen à 32bit, also 32 · 4 · 230 = 128Gbit – eine völlig inakzeptable Alternative. Verwende vorab bestimmte inverse S-Boxes. Lösungen zu Problemen 237 Problem 50(a) DES-Schlüssel sind 64bit lang; darin eingeschlossen sind 8 parity bits. Die effektive Schlüssel-Länge ist also 56bit und die Größe des Schlüsselraums ist 256 = 64 (210 )5 ≈ 64(103 )5 = 64 · 1015 . Lösungen zu Problemen 238 Problem 50(b) Nur wenn mehrere DES-Verschlüsselungen nicht durch eine einzige DES-Verschlüsselung emuliert werden können, d.h. nur wenn DESK2 ◦ DESK1 6= DESKo gilt, dann bietet TDEA einen höhere Sicherheit als DES, s.a. http://en.wikipedia.org/wiki/Triple DES Lösungen zu Problemen 239 Problem 50(c) TDEA-Schlüssel sind 3×bit lang. Die effektive Schlüssel-Länge ist also 168bit und die Größe des Schlüsselraums ist 2168 = 256 (210 )10 ≈ 256(103 )10 = 2.56 · 1032 . Lösungen zu Problemen 240 Problem 50(d) 2001 wurde der Advanced Encryption Standard, AES publiziert und 2002 standardisiert. AES ist der Gewinner einer öffentlichen Ausschreibung. Im Gegenzug wurde 2004 die Rücknahme von DES bzw. TDEA angekündigt und 2005 durchgeführt. Lösungen zu Problemen 241 Problem 51(a) Das Verfahren ist um so sicherer, je schwieriger es ist, aus A und fA auf fA−1 zu schließen. Funktionen fA mit folgenden Eigenschaften eigenen sich für Verschlüsselungsverfahren mit öffentlichen Schlüsseln: • fA ist eineindeutig. (Der Klartext wird in Blöcke fester Länge zerlegt; fA ist auf jeden entstehenden Block anzuwenden.) • fA und fA−1 sind (möglichst) leicht zu berechnen. (Nachrichten werden schnell codiert und auch wieder dekodiert.) • Aus A und fA kann praktisch nicht auf fA−1 geschlossen werden. (Verschlüsselte Nachrichten können nur mit unvertretbar hohem Aufwand entschlüsselt werden – am besten ist es, wenn der Entschlüsselungsaufwand abgeschätzt und das Verfahren je nach Sicherheitsanforderungen skaliert werden kann.) Übrigens, solche Funktionen heißen auch trapdoor functions. Lösungen zu Problemen 242 Problem 52(a) Der Klartext wird in Blöcke fester Länge zerlegt, so daß die (ASCII-) Zeichenfolge als (großes) x ∈ N mit x < n aufgefaßt und fe nacheinander auf jedes dieser x angewendet werden kann. Die fe sind trapdoor Funktionen, denn • fe ist auf X = {0, 1, 2, . . . , n − 1} eineindeutig, da fd = fe−1 : d ist modulo-ϕ(n) invers zu e, d.h. d e ≡ 1 (mod ϕ(n)) oder d e = v(p−1)(q−1)+1 für ein v ∈ N, so daß xd e = x · xv(p−1)(q−1) . Laut Fermat’s kleinem Satz, FLT gilt für prime p und q de xp−1 = 1 mod p x = x(xp−1 )v(q−1) = x · 1v(q−1) = x mod p ⇒ de q−1 x = 1 mod q x = x(xq−1 )v(p−1) = x · 1v(p−1) = x mod q Aus xde = x mod p und xde = x mod q folgt per Chinesischem Restsatz für teilerfremde, also erst recht für prime p und q xed = x mod (pq) = x mod n • fe (x) bzw. fd (y) sind leicht zu bestimmen, da nur mehrfach Produkte (m1 · m2 ) mod n für mi ∈ X zu berechnen sind. Lösungen zu Problemen 243 • Je größer n umso schwieriger ist es, von fe , also von e und n, auf d zu schließen. Beispielsweise brauchten 1994 ca. 600 über das Internet vernetzte Rechner insgesamt 5000MIPS Jahre, um die 129-stellige Zahl R-12922 in ihre 64- und 65-stelligen Primfaktoren zu zerlegen. p= e= x= y= x= 59 47 q= d= 71 1123 This is a top secret message n= 4189 check&fill at random RSAenc RSAdec Zum Test von z.B. ggT(e, ϕ(n)) = 1 steht der Euklid’sche Algorithmus zur Verfügung. 22 D. Atkins, M. Graff, A.K. Lenstra, P.C. Leyland: The magic words are squeamish ossifrage; Asiacrypt ’94, pp263-277, LNCS 917, Springer 1995 Lösungen zu Problemen 244 Problem 52(b) Die Sicherheit des RSA-Verfahrens besteht in der Schwierigkeit, natürliche Zahlen n ∈ N mit 100 und mehr Dezimalstellen in ihre Primfaktoren zu zerlegen. Das RSA-Verfahren ist um so sicherer, je größer n ist, vgl. z.B. www.comp.mq.edu.au/courses/comp333/Lecture/ factoring and RSA 4.pdf Lösungen zu Problemen 245 Problem 52(c) Sei Alice’s bzw. Bob’s öffentlicher RSA-Schlüssel eA bzw. eB , mit geheimen RSA-Schlüsseln dA bzw. dB . Dann muß Alice an ihre Botschaft y = feB (x) als digitale Signatur nur etwa y 0 = fdA (x) anhängen. Bob entschlüsselt den ersten Teil y der empfangenen Botschaft zu x = fdB (y) und verifiziert anhand des zweiten Teiles, daß x und feA (y 0 ) übereinstimmen. Da nur Alice dA kennt und daher nur sie y 0 erzeugt haben kann, kann Bob sicher sein, eine Botschaft von Alice empfangen zu haben. Im Übrigen muß Alice als Signatur y 0 = fdA (x) nicht die ganze Botschaft x verwenden. Es genügt, einen sowohl dem Sender wie dem Empfänger bekannten hash-Wert hash(x) zu verwenden. Typische hash-Verfahren sind etwa MD4, MD5 oder SHA-1. Lösungen zu Problemen 246 Problem 53(a) AES ist ein Block-orientiertes, symmetrisches (identische Schlüssel für Ver- und Entschlüsselung) Verschlüsselungsverfahren, das aus mehreren Runden von Substitutionen und Permutationen besteht. csrc.nist.gov/publications/fips/fips197/fips-197.pdf Lösungen zu Problemen 247 Problem 53(b) AES verschlüsselt Klartext in 128bit = 16bytes = 4word Blöcken. AES erlaubt 128bit, 192bit und 256bit lange Schlüssel mit jeweils 10, 12 oder 14 Verschlüsselungsrunden. Lösungen zu Problemen Problem 53(c) 248 Eine AES-Verschlüsselungsrunde besteht aus • Substituieren eines jeden Bytes durch ein anderes per S-Box • Permutieren der Zeilen des als 4 × 4-Byte-Matrix angeordneten Blocks • Permutieren der Spalten des als 4×4-Byte-Matrix angeordneten Blocks • Exklusives Odern (XOR) des Blocks mit einem Teil des expandierten Schlüssels Lösungen zu Problemen 249 Problem 54(a) SubBytes(): Die Substitution eines Bytes b vermittels der AES S-Box ist spezifiziert als Berechnung des multiplikativen Inversen b−1 in GF(28 ), gefolgt von der affinen Transformation 0 b0 1 0 0 0 1 1 1 1 b0 1 b01 b1 1 b 1 0 1 0 01 1 01 1 0 1 b0 1 1 1 1 0 b 0 1 1 0 01 0 11 1 0 1 0 1 1 b2 b 1 1 0 b2 0 b 1 1 1 0 0 0 1 1 b 0 b3 1 1 1 1 0 0 0 1 0 = b0 = Ab +b c =1 1 1 1 0 0 0 1 b 0 b3 + 0 +0 . 0 = b4 (5.2) 1 1 1 1 1 0 b 1 1 1 1 1 0 0 0 b 0 0 b4 0 b5 b5 1 1 0 1 11 1 11 0 1 0 b1 1 1 0 b 0 0 0 b 0 0 1 10 1 11 1 1 0 b1 1 1 b6 0 b6 1 0 1 b 0 0 0 1 1 1 1 1 b 0 b07 0 0 0 1 1 1 1 1 b7 0 ' 0 ' 1 ' 2 ' 3 ' 4 ' 5 ' 6 ' 7 0 1 2 3 4 5 6 7 Figure 6 illustrates the effect of the SubBytes() transformation on the State. s0,0 s0,1 s0, 2 s0,3 S-Box s0' , 0 s0' ,1 s0' , 2 s0' ,3 s1, 0 s1,1 s1, 2 s1,3 s1' ,0 s2, 0 s2,1 s2, 2 s2 ,3 s2' , 0 s2' ,1 s2' , 2 s2' ,3 s3, 0 s3,1 s3, 2 s3,3 s3' ,0 s3' ,1 s3' , 2 s3' ,3 sr ,c s1' ,1' s1' , 2 sr ,c s1' ,3 Figure 6. SubBytes() applies the S-box to each byte of the State. The S-box used in the SubBytes() transformation is presented in hexadecimal form in Fig. 7. s3, 0 s3,1 s3, 2 s3,3 Lösungen zu Problemen s3,0 s3,1 s3, 2 s3,3 Figure 6. SubBytes() applies the S-box to each byte of the State. 250 The S-box used in the SubBytes() transformation is presented in hexadecimal form in Fig. 7. For example, if s1,1 = {53}, then the substitution value would be determined by the intersection Die AES S-Box ist üblicherweise als table d.h. of the row with index ‘5’ and the column with index look ‘3’ in Fig. 7. up This would result in s′implementiert, having 1,1 InvShiftRows() a value of {ed}. s s s y s s' s' s' s' 0 r , 0 1 r ,1 2 r ,3 5 6 7 8 9 r , 0 a r ,1 b r , 2c r d 2 r4, 3 ,3 0 63 7c 77 7b f2 6b 6f c5 30 01 67 2b fe d7 1 ca 82 c9 7d fa 59 47 f0 ad d4 a2 af 9c a4 S 2 b7 fd 93 26 36 3f f7 cc 34 a5 e5S ’ f1 71 d8 3 04 c7 23 c3 18 96 05 9a 07 12 80 e2 eb 27 sd6 sb3 s29 4 09 83 s2c 5a a0 52 s3b e3 ,1 s0 ,1b 2 s0 , 36e 0 ,1 0, 2 0,3 0, 0 s01a 0, 0 5 53 d1 00 ed 20 fc b1 5b 6a cb be 39 4a 4c s1fb s02 s7f s50 6 d0 ef s1aa 33 85 45 sf9 3c ,0 ,1 s1,43 2 s1, 34d 1, 3 1, 0 1,1 1, 2 7 51 a3 40 8f 92 9d 38 f5 bc b6 da 21 10 ff x 8 cd 0c s13 s ec s 5f s 97 44 17 c4 sa7 s7e s3d s64 5d 2, 0 2 ,1 2, 2 2 ,3 2, 2 2 ,3 2, 0 2 ,1 9 60 81 4f dc 22 2a 90 88 46 ee b8 14 de 5e a e0 32 s3a s 0a s 49 s 06 24 5c c2 sd3 sac s62 s91 95 ,0 3,1 2 3, 3 3,1 3, 2 3, 3 3, 0 b e7 c8 337 6d 3,8d d5 4e a9 6c 56 f4 ea 65 7a c ba 78 25 2e 1c a6 b4 c6 e8 dd 74 1f 4b bd Figure three the d 70 13. 3eInvShiftRows()cyclically b5 66 48 03 f6 0eshifts 61 the 35last57 b9rows 86 inc1 e e1 f8 98 11 69 d9 8e 94 9b 1e 87 e9 ce 55 f 8c a1 89 0d bf e6 42 68 41 99 2d 0f b0 54 e f ab 76 72 c0 31 15 b2 75 2f 84 58 cf 9f a8 f3 d2 19 73 0b db e4 79 ae 08 8b 8a State. 1d 9e 28 df bb 16 5.3.2 InvSubBytes() Transformation Figure 7. S-box: substitution values for the byte xy (in hexadecimal format). InvSubBytes() is the inverse of the byte substitution transformation, in which the inverse Sbox is applied to each byte of the State. This is obtained by applying the inverse of the affine 16 transformation (5.1) followed by taking the multiplicative inverse in GF(28). wie ebenso die inverse S-Box The inverse S-box used in the InvSubBytes() transformation is presented in Fig. 14: y 0 1 2 3 4 5 6 7 x 8 9 a b c d e f 0 52 7c 54 08 72 6c 90 d0 3a 96 47 fc 1f 60 a0 17 1 09 e3 7b 2e f8 70 d8 2c 91 ac f1 56 dd 51 e0 2b 2 6a 39 94 a1 f6 48 ab 1e 11 74 1a 3e a8 7f 3b 04 3 d5 82 32 66 64 50 00 8f 41 22 71 4b 33 a9 4d 7e 4 30 9b a6 28 86 fd 8c ca 4f e7 1d c6 88 19 ae ba 5 36 2f c2 d9 68 ed bc 3f 67 ad 29 d2 07 b5 2a 77 6 a5 ff 23 24 98 b9 d3 0f dc 35 c5 79 c7 4a f5 d6 7 38 87 3d b2 16 da 0a 02 ea 85 89 20 31 0d b0 26 8 bf 34 ee 76 d4 5e f7 c1 97 e2 6f 9a b1 2d c8 e1 9 40 8e 4c 5b a4 15 e4 af f2 f9 b7 db 12 e5 eb 69 a a3 43 95 a2 5c 46 58 bd cf 37 62 c0 10 7a bb 14 b 9e 44 0b 49 cc 57 05 03 ce e8 0e fe 59 9f 3c 63 c 81 c4 42 6d 5d a7 b8 01 f0 1c aa 78 27 93 83 55 d f3 de fa 8b 65 8d b3 13 b4 75 18 cd 80 c9 53 21 e d7 e9 c3 d1 b6 9d 45 8a e6 df be 5a ec 9c 99 0c f fb cb 4e 25 92 84 06 6b 73 6e 1b f4 5f ef 61 7d Figure 14. Inverse S-box: substitution values for the byte xy (in hexadecimal format). 22 shift (1,4) = 1 ; shift (2,4) = 2 ; shift (3,4) = 3 . (5.4) Lösungen zu Problemen 251 This has the effect of moving bytes to “lower” positions in the row (i.e., lower values of c in a Problem 54(b) ShiftRows(): Dieinto Zeilen eines Blocks zy- of given row), while the “lowest” bytes wrap around the “top” of the row (i.e.,werden higher values c in a given row). klisch geschoben wie der folgenden Darstellung zu entnehmen ist: der Figure 8 S illustrates the in ShiftRows() Block wird so den Blocktransformation. S 0 überführt. ShiftRows() sr , 0 sr ,1 sr , 2 sr ,3 sr' , 0 sr' ,1 sr' , 2 sr' ,3 S S’ s0,0 s0,1 s0, 2 s0,3 s0,0 s0,1 s0, 2 s0,3 s1, 0 s1,1 s1, 2 s1,3 s1,1 s2, 0 s2,1 s2, 2 s2,3 s2, 2 s2,3 s2, 0 s2,1 s3, 0 s3,1 s3, 2 s3,3 s3,3 s3, 0 s3,1 s3, 2 s1, 2 s1,3 s1, 0 Figure 8. ShiftRows() cyclically shifts the last three rows in the State. Die inverse Transformation schiebt Zeilen zyklisch in Gegenrichtung. 5.1.3 MixColumns() Transformation The MixColumns() transformation operates on the State column-by-column, treating each column as a four-term polynomial as described in Sec. 4.3. The columns are considered as Lösungen zu Problemen 252 Problem Polynome als s0' , c 02 03 01 01 s0, c ' 54(c) Spalten eines Blocks (5.6) werden = 01 02 03 01 s1, cDie s1, cMixColumns(): for 0 ≤ c < Nb. s2' , c 01 01 02 03 s2, c 8 mit Koeffizienten in GF(2 ) aufgefaßt und mit ' s3, c 03 01 01 02 s3, c 3 2 1 0 a(x) = multiplication, 0x03 x the +four 0x01 xa column + 0x01 x + 0x02 x As a result of this bytes in are replaced by the following: ′ = ({02} • s ) ⊕ ({03} • s ) ⊕ s ⊕ s 1 multipliziert. Für die c-te Spalte gilt somit modulo x4 s+ 0 s′ = s⊕ ({02} • s ) ⊕ ({03} • s ) ⊕ s s0,c 0x02 0x03 0x01 0x01 s0,c s0,c ′ s s ⊕ s ⊕ ({02} • s ) ⊕ ({03} • s ) = s01,c 0x01 0x02 0x03 0x01 s1,c • s ) ⊕ s ⊕ s ⊕ ({02} • s ). 0 s′ == ({03} = A s1,c s2,c 0x01 0x01 0x02 0x03 s2,c s2,c 0 0x03 0x01 0x01 0x02 s3,c s3,c s3,c 0 ,c 0 ,c 1,c 0 ,c 2 ,c 0 ,c 1,c 1,c 1,c 3, c 2 ,c 0 ,c 1,c 2 ,c 3, c 2 ,c 3, c 3, c 2 ,c 3, c Figure 9 illustrates the MixColumns() transformation. MixColumns() s s0,0 s00,,1c s0, 2 s0,3 s s1, 0 s11,,1c s1, 2 s1,3 s2 , 0 ss2,c 2 ,1 s2 , 2 s2 , 3 s3, 0 ss33,,1c s3, 2 s3,3 s' s0' , 0 s0' 0,1,c s0' , 2 s0' ,3 s1' ,0 s' s1'1,1,c s1' , 2 s1' ,3 ' 2, 0 ' ss2'2,1,c s s2' ,3 s3' ,0 ' s3'3,1,c s3' , 2 s3' ,3 s s ' 2, 2 Figure 9. MixColumns() operates on the State column-by-column. Der Block S wird so in den Block S 0 überführt. 5.1.4 AddRoundKey() Transformation In the AddRoundKey() transformation, a Round Key is added to the State by a simple bitwise XOR operation. Each Round Key consists of Nb words from the key schedule (described in Sec. Lösungen zu Problemen 253 Die inverse Transformation ergibt sich durch Multiplikation modulo x4 + 1 mit dem Polynom a−1 = 0x0b x3 + 0x0d x2 + 0x09 x1 + 0x0e x0 oder als Matrix-Transformation geschrieben 0 s0,c 0x0e 0x0b 0x0d 0x09 s0,c s0,c s01,c 0x09 0x0e 0x0b 0x09 s1,c −1 s1,c 0 = s2,c 0x0d 0x09 0x0e 0x0b s2,c = A s2,c . 0x0b 0x0d 0x09 0x0e s3,c s3,c s03,c Lösungen zu Problemen 254 Problem 54(d) AddRoundKey(): l = round * Nb s0' ,c s0,c s0,0 s0,1 s0, 2 s0,3 s1,c s1, 0 s1,1 s1, 2 s1,3 s2, 0 s2s,12,c s2, 2 s2,3 s3, 0 s3s,1 s3, 2 s3,3 3,c ⊕ wl+c wl wl +1 wl + 2 wl + 3 ' 0, 0 s s0' ,1' s0' , 2 s0' ,3 s1,c s1' ,0 s1' ,1 s1' , 2 s1' ,3 ' s2' , 0 ss2' ,12,c s2' , 2 s2' ,3 ' s3' ,0 s3s' ,13,c s3' , 2 s3' ,3 Wie bei allen stimmt diese Figure 10. XOR-Transformationen AddRoundKey() XORs each column of the State Transformation with a word from the key schedule. mit ihrer Inversen überein. 5.2 Key Expansion The AES algorithm takes the Cipher Key, K, and performs a Key Expansion routine to generate a key schedule. The Key Expansion generates a total of Nb (Nr + 1) words: the algorithm requires an initial set of Nb words, and each of the Nr rounds requires Nb words of key data. The resulting key schedule consists of a linear array of 4-byte words, denoted [wi ], with i in the range 0 ≤ i < Nb(Nr + 1). The expansion of the input key into the key schedule proceeds according to the pseudo code in Fig. 11. Lösungen zu Problemen 255 Problem 55(a) p E = E(R) = Ea,b (R) = { x, ± x3 + ax + b : x3 + ax + b ≥ 0} Elliptische Kurven sind offensichtlich Kurven der Ebene, symmetrisch zur x-Achse. Abhängig von den Parametern a und b ist der Radikand in einem Intervall oder in zwei Intervallen positiv. Entsprechend hat E = E(R) = Ea,b (R) einen Ast oder zwei Äste. Vgl. z.B. y x a = −4, b = 1 √ y y x a = −3, b = 5 x a = 5, b = −7 limx→+∞ ± x3 + ax + b = limx→+∞ ±x3/2 = ±∞ Lösungen zu Problemen 256 Problem 55(b) Alle Koeffizienten von x3 + ax + b sind reell. Daher können die Nullstellen xi bequem trigonometrisch/hyperbolisch dargestellt werden. p Sei p = a/3, q = b/2, D = p3 + q 2 und P = (sgn q) |p|. x1 x2,3 p < 0, D ≤ 0 p < 0, D > 0 p>0 β = 13 arccos Pq3 β = 13 arcosh Pq3 β = 13 arsinh Pq3 −2P cos β −2P cosh −2P sinh √ β √ β 2P cos(β ± π/3) P (cosh β ± i 3 sinh β) P (sinh β ± i 3 cosh β) Lösungen zu Problemen 257 Problem 55(c) Bei gegebenem Radikanden x3 + ax + b sei wieder p = a/3, q = b/2 und Diskriminante D = p3 + q 2 . Dann bestimmt die Diskriminante die Typen der Nullstellen. D D D D >0 <0 = 0, q = 6 0 = 0, q = 0 eine reelle, zwei konjugiert komplexe Nullstellen drei verschiedene reelle Nullstellen eine einfache reelle, eine doppelte reelle Nullstelle eine dreifache reelle Nullstelle Es gibt also genau dann keine mehrfachen Nullstellen, wenn D = p3 + q 2 = a2 b2 + 6= 0 27 4 oder gleichbedeutend, wenn 108D = 108(p3 + q 2 ) = 4a2 + 27b2 6= 0 Lösungen zu Problemen 258 Problem 55(d) Die Gerade sei durch y = mx + c mit m 6= 0 gegeben. Die Abszisse x des Schnittpunktes der Geraden mit E löst (mx + c)2 = x3 + ax + b oder gleichbedeutend x3 − m2 x2 + (a − 2cm)x + b − c2 = 0 Die Substitution y = x − m2 /3 eliminiert den quadratischen Term. Laut Voraussetzung hat die neue Gleichung y 3 + 3py + 2q = 0 mit 3p = (a − 2cm) − 13 m4 2 2q = − 27 m6 + 13 (a − 2cm)m2 + b − c2 mindestens zwei einfache reelle Lösungen. Laut Klassifikation der Lösungen in Abhängigkeit von der Diskriminanten D = p3 + q 2 (auf S. 257) muß es zu zwei einfachen reellen Lösungen eine weitere einfache reelle Lösung geben. Lösungen zu Problemen 259 Problem 55(e) Sei s = (yQ − yP )/(xQ − xP ) die Steigung und somit y = y(x) = yP + s(x − xP ) die Gerade durch P und Q. Dann hat die Gleichung 2 y 2 (x) = yP + s(x − xP ) = x3 + ax + b oder eben x3 − s2 x2 + (a + . . .)x + (b + . . .) = 0 die drei Lösungen xp , xQ und xR , wo xR die Abszisse des dritten Schnittpunktes der Geraden durch P und Q mit E ist. Vergleich der Koeffizienten von x2 liefert −s2 = −xP − xQ − xR oder eben xR = s2 − xP − xQ Spiegeln des dritten Schnittpunkts an der x-Achse liefert R = P + Q mit yR = − (yP + s(xR − xP ) = s(xP − xR ) − yP Lösungen zu Problemen 260 Problem 56(a) Man kann P +P als das Ergebnis des Grenzprozesses P +Q with E 3 Q → P auffassen. Im Limit wird dann aus der Geraden durch P und Q die Tangente in P mit Steigung d p 3 3x2 + a 3x2 + a 1 s= x + ax + b = p 3 P = P dx 2 x + ax + b 2yP xP P P Also ist y = y(x) = yP + s(x − xP ) die Tangente in P . xP ist doppelte Nullstelle der Gleichung 2 y 2 (x) = yP + s(x − xP ) = x3 + ax + b Die andere einfache Nullstelle ist xR . Also ist R = (xR , yR ) = P + P wie zuvor gegeben durch xR = s2 − 2xP und yR = − yP + s(xR − xP ) = s(xP − xR ) − yP Lösungen zu Problemen 261 Problem 56(b) Wegen der Symmetrie von E muß Q = −P gelten. Die Gerade durch P und Q ist vertikal und schneidet E nur in genau diesen beiden Punkten. Angenommen, daß wieder in einem Grenzprozeß E 3 Q0 → Q. Dann bewegt sich R := P + Q0 auf dem unbeschränkten Ast von E gegen Unendlich. Das Resultat dieses Grenzprozesses definiert nun einen besonderen Punkt auf E, den sogenannten Punkt im Unendlichen oder kurz 0. Verwendung homogener Koordinaten transformiert die Ebene zusammen mit der elliptischen Kurve in den projectiven Raum, was zeigt, daß es nur einen Punkt im Unendlichen gibt [31]. Lösungen zu Problemen 262 Problem 56(c) Die Einführung von 0 zusammen mit der Definition −P = −(xP , yP ) := (xP , −yP ) impliziert, daß 0 ein neutrales oder Null-Element bzgl. dieser Addition ist und daß −P das inverse Element von P bzgl. dieser Addition ist, d.h. • P + 0 = 0 + P = P für alle P ∈ E zudem gilt 0 + 0 = 0. • P + (−P ) = (−P ) + P = P − P = 0 für alle P ∈ E zudem ist 0 invers zu 0. Die Gleichung P + Q = R löst Q = (−P ) + R für beliebige P, R ∈ E. Lösungen zu Problemen 263 Problem 56(d) Da diese so definierte Adition kommutativ ist, macht sie aus E = Ea,b (R) eine (additive) kommutative Gruppe oder auch eine sogenannte Abel23 sche Gruppe. 23 Niels Henrik Abel (1802-1829) www-history.mcs.st-andrews.ac.uk/Biographies/Abel.html Lösungen zu Problemen 264 Problem 57(a) Alle Operationen in GF(p) (vgl. Arithmetik in GF(p), S. 43) durchzuführen, macht E = Ea,b GF(p) zu einer kommutativen (additiven) Gruppe (bzgl. der Assoziativität dieser Addition vgl. [31]). Das neutrale Element, d.h. das Null-Element bzgl. der Addition ist hier durch den Punkt (<leerer string>,infty) bezeichnet. Elliptische Kurve E GF(p) = {(x, y) : y 2 = x3 + ax + b} über GF(p) mit a = 1 b= 7 ist eine (addi und p = 17 tive) Gruppe mit card E GF(p) = Elemen √ ten, wobei laut Hasse24 |card E GF(p) − (p+1)| ≤ 2 p gilt. check E GF(p) = P = (xP , yP ) mit xP = 2 Q = (xQ , yQ ) mit xQ = 1 R = (xR , yR ) mit xR = yP = 0 yQ = 3 yR = R := P + Q Q := −P p&v25 reset 24 25 Helmut Hasse (1898-1979) www-history.mcs.st-andrews.ac.uk/Biographies/Hasse.html p&v = prüfe, ob P, Q ∈ E; vervollständige ggfls. die Felder P und Q Lösungen zu Problemen 265 Problem 58(a) In GF(2m ) ist jedes Element r bzgl. der Addition zu sich selbst invers, d.h. −r = r ∈ GF(2m ). Daher sind P = (x, y) mit y 2 = x3 + ax + b und −P = (x, −y) identisch in E = Ea,b GF(2m ) , und es gilt 2P = P + P = P − P = 0 für jedes P ∈ E, so daß E isomorph zu GF(2) × GF(2) × . . . × GF(2) ist. Die von einem beliebigen Element erzeugten Untergruppen von E haben also nur zwei Elemente, was jeden Einsatz in kryptographischen Anwendungen ausschließt (vgl. diskretes Logarithmus-Problem). Lösungen zu Problemen 266 in Problem 58(b) Alle Operationen in GF(2m ) (vgl. Arithmetik GF(2m ), S. 45) durchzuführen, macht E = Ea,b GF(2m ) zu einer kommutativen (additiven) Gruppe. Lösungen zu Problemen 267 Problem 59(a) ECC ist ein Block-orientiertes, asymmetrisches public key Verschlüsselungsverfahren, das die Gruppen-Struktur auf elliptischen Kurven E = Ea,b (F) über F = GF(p) oder F = GF(2m ) nutzt. Es gibt die EC-basierte Ver-/Entschlüsselung (ECIES), den EC DiffieHellman Schlüsselaustausch (ECDH), und den EC digitale Signatur Algorithmus (ECDSA). Wegen seiner hervorragenden Performance wird ECC vor allem dazu benutzt, RSA in hybriden Verschlüsselungsverfahren zu ersetzen. [30] [32] [31] www.secg.org/collateral/sec1 final.pdf www.iaik.tugraz.at/.../oswald/papers/Introduction to ECC.pdf s.a. z.B. www.faqs.org/rfcs/rfc3278.html, http://ducati.doc.ntu.ac.uk/uksim/journal/Vol-5/No-1&2/ROBERTS.pdf Lösungen zu Problemen 268 Problem 59(b) Alle Teilnehmer einigen sich auf die Verwendung einer elliptischen Kurve E = E(F) über einem endlichen Körper F und auf einen geeigneten Generator G ∈ E. Sei n = card(< G >). Jeder Teilnehmer wählt eine Zufallszahl 0 < r < n als geheimen Schlüssel und veröffentlicht rG als öffentlichen Schlüssel. wählt veröffentlicht Alice a QA = aG Bob b QB = bG .. .. .. . . . Um Bob eine verschlüsselte Botschaft m zu schicken, konvertiert Alice m in M ∈ E, wählt eine Zufallszahl k und sendet die verschlüsselte Botschaft, nämlich das Paar (kG, M + k(bG)) ∈ E × E an Bob. Alice Bob wählt k verschlüsselt (kG, M + kQB ) (kG, M + k(bG)) entschlüsselt M = M + kbG − b(kG) Bob entschlüsselt (kG, M + k(bG)), indem er M + k(bG) − b(kG) = M berechnet. Lösungen zu Problemen 269 Problem 59(c) Vor dem Schlüssel-Austausch verständigen sich Alice und Bob auf eine öffentliche elliptische Kurve E = E(F) über einem endlichen Körper F und auf einen Generator G ∈ E. Sei n = card(< G >). Jeder Partner wählt eine Zufallszahl r ∈ N mit 1 < r < n als geheimen Schlüssel, veröffentlicht den dazugehörigen öffentlichen Schlüssel Q = rG ∈ E und berechnet einen geheimen Schlüssel R ∈ E. Alice Bob wählt a b veröffentlicht QA = aG QB = bG berechnet RA = aQB RB = bQA Wegen RA = aQB = abG = baG = bQA = RB wissen dann Alice und Bob um dasselbe Geheimnis RA = R = RB , den gemeinsamen geheimen Schlüssel R. Lösungen zu Problemen 270 Problem 59(d) Sei n = card(< G >). Alice will ihre Botschaft m an Bob signieren. Ihr Schlüssel-Paar ist (a, Q) ∈ N × E mit geheimen Schlüssel 1 < a < n und öffentlichem Schlüssel Q = aG. wählt Alice k hashes berechnet r = xkG mod n e = hash(m) h = k −1 mod n s = h(e + ar) mod n signiert (r, s) Alice wählt zufällige 1 < k < n bis r 6= 0 und s 6= 0 gilt. Bob empfängt Alices Botschaft m zusammen mit ihrer Signatur (r, s). hashes Bob berechnet verifiziert w = s−1 mod n e = hash(m) u = ew mod n, v = rw mod n xP == r P = uG + vQ s = k −1 (e + ar) mod n ⇐⇒ k = s−1 (e + ar) mod n. Also, modulo n k ≡ s−1 (e + ar) ≡ s−1 e + s−1 ar ≡ we + w ar ≡ u + a rw ≡ u + va so daß P = uG + vQ = uG + vaG = (u + va)G = kG und daher xP = xkG = r folgt. Lösungen zu Problemen 271 Problem 60(a) Erstens berücksichtigt diese Kodierung die SymbolHäufigkeit: je häufiger ein Symbol umso kürzer sein code. Zweitens ist diese Kodierung wegen code(si ) ⊂ code(sj ) für i < j nicht Präfix-frei. Drittens agiert 0 als code-Trenner. Vermutlich gibt es bessere Kodierungen. Lösungen zu Problemen 272 Problem 60(b) Eine Kodierung kann als etikettierter Graph mit Wurzel dargestellt werden: die Menge {code(si ) : i = 1, . . . , n} der codes ist gerade die Menge der labels seiner End-Knoten, d.h. Knoten mit genau einer inzidenten Kante. 0 1 0=code(s1 ) 0 10=code(s2 ) 1 11=code(s3 ) Offensichtlich ist eine Kodierung Präfix-frei genau dann, wenn der sie darstellende Graph ein Binär-Baum ist. Lösungen zu Problemen 273 Problem 60(c) Die codes einer Präfix-freie Kodierung sind die Blätter ihres darstellenden Baums. Die Blätter seien mit den zugehörigen Häufigkeiten etikettiert. Jeder interne Knoten ist Wurzel genau eines Teilbaumes und ist mit der Summe der labels aller anderen Knoten dieses Teilbaumes zu etikettieren. 1 = f1 + f2 + f3 0 1 f2 + f3 0=code(s1 ) with f1 0 10=code(s1 ) with f2 1 11=code(s1 ) with f3 Wenn nun nur die Symbol-Häufigkeiten gegeben sind, muß der Baum von den Blättern aus aufgebaut werden. David A. Huffman: A method for the construction of minimum-redundancy codes; Proceedings of the Institute of Radio Engineers, I.R.E. Sept 1952, S. 1098-1102 http://compression.ru/download/articles/huff/huffman 1952 minimum-redundancy-codes.pdf Lösungen zu Problemen 274 Problem 61(a) Der Einfachkeit halber bestehe das Alphabet aus etwa den 64 Zeichen Leerzeichen (ASCII 32) bis hin zu Unterstrich (ASCII 95). text Abrakadabra Abrakadabra TEXT pat= chr= init LZWstep TXT |dict| = dict[ ]= check reset codes old= new= init WZLstep TEXT |dict| = dict[ ]= ? Besonderheiten der Implementierung ? check reset Lösungen zu Problemen 275 Problem 61(b) Die modifizierte Dekompression des Algorithmus’: Read OLD_CODE CHARACTER = dict[oldCODE]; output CHARACTER WHILE there are still input characters DO Read newCODE IF newCODE is not in dictionary PATTERN = dict[oldCODE] PATTERN = PATTERN+CHARACTER ELSE PATTERN = dict[newCODE] END of IF output PATTERN CHARACTER = first character in PATTERN add dict[oldCODE] + CHARACTER to dictionary oldCODE = newCODE Lösungen zu Problemen 276 Problem 62(a) Die Anzahl der möglichen Fälle ist 3, nämlich RR, RR und RB. Die Anzahl der günstigen Fälle ist 2, nämlich RB. Somit ist P = P (RB) = 1/3. Lösungen zu Problemen 277 Problem 62(b) a/A=Auto, z/Z=Ziege; kleine Buchstaben entsprechen zunächst gewählten Türen. o.B.d.A. Kandidat wählt Tür No 1, Quizmaster öffnet Tür No 2. Gewinn-Chancen ohne Revision: P (aZZ) = 1/3 Gewinn-Chancen mit Revision: P (zZA oder zZA) = 2/3 www.comedia.com/hot/monty.html oder (Monte-Carlo-) Experiment: Türen links Mitte 1× 10 × 100 × reset rechts Zustand Wahl x bzw. Enthüllung o Insgesamt 0 Treffer 0 Gewinn-Chance ≈ 0 0 ohne Revision in insgesamt 0 mit Spielen, d.h. ohne Revision mit Lösungen zu Problemen 278 Problem 63(a) Unterscheidende Eigenschaften sind • Datentyp und Wertebereich, wie z.B. – 0-1-Zufallszahlen, etwa Münzwurf, – natürliche oder ganze Zufallszahlen, etwa Dezimal-Ziffern in der Dezimalbruchentwicklung von π, – rationale Zufallszahlen, etwa die gemessenen Abstände von Darts-Pfeilen zur Scheiben-Mitte, – reelle Zufallszahlen, etwa freie Weglängen bei der Brownschen Bewegung eines Moleküls, usw. • Verteilung der Zufallszahlen im zugehörigen Wertebereich, z.B. – gleichverteilte 0-1-Zufallszahlen (0-1-Folgen), etwa Wurf einer (nicht manipulierten) Münze, – Poisson-verteilte natürliche Zufallszahlen, etwa Anzahl radioaktiver Zerfälle pro Zeiteinheit, – exponential-verteilte reelle Zufallszahlen, etwa Lebensdauer nicht-alternder Bauteile, – normalverteilte reelle Zufallszahlen mit Mittelwert µ und Standardabweichung σ, etwa physikalische Meßwerte, usw. Lösungen zu Problemen 279 Als Standard-Zufallszahlen eignen sich im Einheitsintervall gleichverteilte, kontinuierliche Zufallszahlen X: aus X berechnet dann nämlich if (X <= 0.5) return 0; else return 1; gleichverteilte, diskrete Zufallszahlen Y ∈ {0, 1}, if (X < p1 ) return y1 ; if (X < p1 + p2 ) return y2 ; .. . if (X < p1 + . . . + pn ) return yn ; diskrete Zufallszahlen Y ∈ {y1 , y2 , . . . , yn } mit P (Y = yi ) = pi für i = 1, 2, . . . , n, (b-a)*X+a im Intervall [a, b] ⊂ R gleichverteilte kontinuierliche Zufallszahlen, round((b-a)*X+a) im Intervall [a, b] ∩ Z gleichverteilte diskrete Zufallszahlen. Lösungen zu Problemen 280 Für im Einheitsintervall gleichverteiltes X liefert allgemein F inv (X) kontinuierliche Zufallszahlen Y = F inv (X) mit gegebener Verteilungsfunktion F und zugehöriger inverser Funktion F inv , da P (Y < y) = inv P F (X) < y = P X < F (y) = F (y). Lösungen zu Problemen 281 Problem 63(b) Es gibt eine ganze Reihe von Verfahren, PseudoZufallszahlen zu erzeugen. Alle Verfahren sind rekursiv: bekannt ist z.B. J. v. Neumanns Methode der mittleren Ziffern von Quadraten xn+1 = x2n 3b...b−1 für geeignetes 2b bit xo wobei x2n 3b...b−1 die mittleren 2b bit des 4b bit Produktes x2n bezeichnet – oder besser und gebräuchlicher xn+1 = a xn mod m für ein xo , etwa xo = 1, für einen geeigneten Faktor a in der Größenordnung 2b und für einen Modulus m = 2b , wenn integers mit b bits dargestellt werden und es besonders auf Effizienz ankommt. Dieser Generator ist ein Spezialfall der sogenannten Linear Congruential Generators xn+1 = (a xn + c) mod m für ein xo ∈ N, etwa xo = 1, und geeignete Parameter a, c, m ∈ N. Lösungen zu Problemen 282 Problem 63(c) xn+1 ∈ {0, 1, . . . m−1}. Die maximale Periodenlänge ist also m. Für a = 1 und c = 0 ist sie 1. Lösungen zu Problemen 283 Problem 64(a) Histogramme geben einen Eindruck davon, inwieweit die Zufallszahlen den Wertebereich gleichmäßig ausschöpfen. Dies belegt die folgende Simulation: Da hier in JavaScript b = 64, werden für m in der Größenordnung 232 , a in der Größenordnung 216 und irgendein 0 ≤ c < m Zufallszahlen yn = 2−r xn mit xn+1 = (a xn + c) mod m erzeugt und die relative Häufigkeit ihres Auftretens in bestimmten i Intervallen beobachtet. Sei hi = round(100 P (Y = 2−r X ∈ [ i−1 5 , 5 ])). 00000 a = 1300103 h1 = 0 n= 0 % c= 0 h2 = 0 1× % h3 = 0 10 × m = 4294967296 % h4 = 0 100 × % h5 = 0 test 1 % reset Lösungen zu Problemen 284 Problem 64(b) Die Entropie E=− 9 X pi log2 (pi ) i=0 d.h. der Informationsgehalt pro Dezimal-Ziffer (bit per decimal digit, bpdd), ist maximal für echte Zufallszahlen (mit unabhängigen Ziffern). Die Entropie E ist (bei gleichverteilten Ziffern) maximal Emax = − 9 X 1 1 1 log2 ( ) = − log2 ( ) ≈ 3.321928 bpdd 10 10 10 i=0 a = 1300103 c= 0 m = 4294967296 0000000000 n= 0 x= 1 1× 10 × 100 × E= 0 test reset Lösungen zu Problemen 285 Problem 64(c) Pseudo-Zufallszahlen bilden Zeichenketten, die um so schlechter zu komprimieren sind, je zufälliger die Pseudo-Zufallszahlen ausfallen. Sei die Komprimierbarkeit κ mit 0 ≤ κ ≤ 1 definiert durch κ= komprimierte Pseudo-Zufallszahlen-Kettenlänge unkomprimierte Pseudo-Zufallszahlen-Kettenlänge unter Verwendung etwa der Huffman Kodierung. Die Komprimierbarkeit κ ist maximal 1 für echte Zufallszahlen. Lösungen zu Problemen 286 Problem 64(d) Der statistische χ2 -Test prüft, ob zwei (Zufalls-) Variable voneinander unabhängig sind. (Er ist verteilungsfrei, d.h. die den Zufallsvariablen zugrunde liegenden Verteilungen sind irrelevant.) Getestet wird nun, ob in einer Sequenz xi i=0,1,... von Zufallszahlen bestimmte Paare (xi , xi+1 ) oder etwas allgemeiner (xi , xi+d ) für festes d ∈ N unabhängig sind. Hier seien x die Dezimal-Ziffern der erzeugten Pseudo-Zufallszahlen und d = 1. Dazu y x@ 0 1 .. . ist die sogenannte Kontingenz-Tabelle aufzustellen. 0 f0,0 f1,0 1 f0,1 f1,1 .. . ... ... ... j f0,j f1,j .. . ... ... ... 9 f0,9 f1,9 .. . fi,∗ f0,∗ f1,∗ i .. . fi,0 fi,1 .. . ... fi,j .. . ... fi,9 .. . fi,∗ 9 f9,0 f∗,0 f9,1 f∗,1 ... ... f9,j f∗,j ... ... f∗,j f9,9 f∗,9 absolute Häufigkeit fi,j = |{(i, j)}| sowie absolute Rand-Häufigkeiten mit fi,∗ = P9 j=0 fi,j und f∗,j = P9 i=0 fi,j f0,∗ n = # Beobachtungen Lösungen zu Problemen 287 Dann ist die erwartetet Häufigkeit von (i, j) für unabhängige Variablen x and y ei,j = n1 fi,∗ f∗,j Genügend vielen Beobachtungen stellen hier sogar fi,j ≥ 10 und ei,j ≥ 5 sicher – mehr als der χ2 -Test erfordert. Die beiden Variablen sind umso abhängiger je größer die Abweichungen der beobachteten von den erwarteten Häufigkeiten ausfallen. Die Prüfgröße χ2 ist χ2 -verteilt mit 9 · 9 = 81 Freiheitsgraden (df ). χ2 = 9 X 9 9 X 9 2 X X fi,j (fi,j − ei,j )2 =n −1 ei,j f f i=0 j=0 i=0 j=0 i,∗ ∗,j Die Quantile χ2df,α der χ2 -Verteilung sind für verschiedene df und Signifikanz-Niveaus α tabelliert (hier für df = 81 interpoliert): df \α ... 80 81 ... 0.99 0.975 0.95 0.9 0.1 0.05 0.025 0.01 53.54 54.36 57.15 58.00 60.39 61.26 64.28 65.18 96.58 97.68 101.9 103.0 106.6 107.7 112.3 113.5 s. [36] Lösungen zu Problemen a = 1300103 y x@ 0 1 2 3 4 5 6 7 8 9 f∗,j 0 1 288 c= 0 2 3 m = 4294967296 4 5 6 7 8 9 fi,∗ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 α = 0.9 1× x= 1 10 × 100 × χ2 = 0 test reset Lösungen zu Problemen 289 Selbstverständlich kann derselbe Test für jedes d ∈ N durchgeführt werden. Zudem kann die Folge der Zufallszahlen als bit-Kette aufgefaßt werden und so der Test auf Paare von bit-Ketten beliebiger aber fester Länge in beliebigem aber festem Abstand angewandt werden.