Kryptographie mit Zopfgruppen eine Einführung

Danksagung. Dieser Text ist im Rahmen meiner Bachelorarbeit Mathematik an der. FernUniversität in Hagen entstanden. Er ist in weiten Teilen deckungsgleich.
541KB Größe 33 Downloads 109 Ansichten
J¨ org Kunze

Kryptographie mit Zopfgruppen eine Einf¨ uhrung

Alle Rechte vorbehalten Dieses Werk, einschließlich aller seiner Teile, ist urheberrechtlich gesch¨ utzt. Jede Verwertung außerhalb der engen Grenzen des Urheberrechtsgesetzes ist ohne Zustimmung des Verlages unzul¨ assig und strafbar. Das gilt insbesondere ¨ f¨ ur Vervielf¨ altigungen, Ubersetzungen, Mikroverfilmungen, Verfilmungen und die Einspeicherung und Verarbeitung auf DVDs, CD-ROMs, CDs, Videos, in weiteren elektronischen Systemen sowie f¨ ur Internet-Plattformen.

c Lehmanns Media, Berlin 2015

Helmholtzstrae 2-9 10587 Berlin Druck und Bindung: Docupoint GmbH - Barleben ISBN 978-3-86541-796-1

www.lehmanns.de

Danksagung

Dieser Text ist im Rahmen meiner Bachelorarbeit Mathematik an der FernUniversit¨ at in Hagen entstanden. Er ist in weiten Teilen deckungsgleich zu der abgegebenen Arbeit. Zun¨ achst m¨ ochte ich mich bei der Einrichtung der “FernUniversit¨at in Hagen” bedanken, denn ohne die M¨ oglichkeit des Fernstudiums h¨atte ich als Berufst¨ atiger das Studium gar nicht beginnen k¨onnen. Frau Dr. Silke Hartlieb und Frau Prof. Dr. Luise Unger danke ich f¨ ur die Betreuung und die wertvollen Hinweise. Vielen Dank f¨ ur die Geduld und M¨ uhen. Ich danke Herrn Dr. Johannes Schlippe f¨ ur seine Fragen und Fehlerhinweise. Schließlich bedanke ich mich bei meiner Frau, Ute Wiesner, f¨ ur Ihre Geduld, die moralische Unterst¨ utzung und das Korrekturlesen.

Bonn, 2015

J¨org Kunze

Inhaltsverzeichnis 1. Einf¨ uhrung 2. Zopfgruppen 2.1. Erzeuger und Relatoren 2.2. Coxeter-Gruppen 2.3. Symmetrische Gruppen 2.4. Zopf-Gruppen 2.5. Positive Monoide 2.6. Das Fundamental-Element Gn im Zopf-Monoid A+ n 2.7. Garside-Element 2.8. Garside-Monoide 3. Gruppenbasierte Kryptographie 3.1. Rechnen in Zopf-Gruppen 3.2. Codieren von Nachrichten 3.3. Zuf¨ alliges Ziehen von Z¨ opfen 3.4. Probleme 3.5. Schl¨ usselaustauschverfahren 3.6. Verschl¨ usseln-Entschl¨ usseln 4. Kryptoanalyse 4.1. Attacke auf das Konjugator-Such Problem 4.2. Zuf¨ alliges Ziehen 4.3. Sicherheitsbeweise 4.4. Einsch¨atzung der Attacken Literatur

1 2 2 10 20 26 31 37 49 56 66 67 71 72 72 73 74 74 74 78 78 79 80

1

1. Einf¨ uhrung Gruppenbasierte Kryptologie nutzt, ganz allgemein gesprochen, Verfahren, die u ¨blicherweise in nicht-kommutativen Gruppen schwer zu l¨osen oder zu berechnen sind. Schwer heißt in diesem Zusammenhang, dass es Gruppen gibt, in denen wir mit Computern die Gruppenoperationen noch berechnen k¨onnen, f¨ ur die aber das schwere Verfahren mit heutigen Rechenmaschinen nicht mehr zu leisten ist, weil Rechenzeit oder Maschinenspeicher nicht ausreichen. Ein typisches schweres Verfahren ist das Konjugator-Suchproblem: In einer Gruppe K seien zwei Elemente X, Y ∈ K gegeben, die zueinander konjugiert sind. Das heißt, es gibt ein C ∈ K mit X = CY C −1 . Wir wissen also, dass es ein solches C gibt, wir kennen es aber nicht. Das schwere Problem ist nun, ein solches C zu finden. Ein einfaches Beispiel f¨ ur ein sich daraus ergebendes Schl¨ usselaustauschschema ist nach [KoLeeCheonHanKangPark2000] Folgendes: In der zugrundeliegenden Gruppe K gebe es zwei Untermengen Γ, ∆ deren Elemente untereinander vertauschen: f¨ ur alle A ∈ Γ, B ∈ ∆ gilt AB = BA. Ein Element W ∈ K ist ¨ offentlich. Alice w¨ ahlt geheim A ∈ Γ und genauso Bob B ∈ ∆. Nun sendet Alice AW A−1 und Bob BW B −1 . Alice kann ABW B −1 A−1 berechnen. Bob kann BAW A−1 B −1 berechnen. Diese beiden Elemente sind wegen AB = BA gleich und somit ein gemeinsames Geheimnis. Als Gruppe K werden wir Zopfgruppen vorstellen. Die Zopfgruppe An wird von den Erzeugern s1 , . . . , sn erzeugt, welche den Relationen si sj = sj si falls |i − j| ≥ 2 und si si+1 si = si+1 si si+1 gen¨ ugen. An diesen Zopfgruppen k¨ onnen wir gut zeigen, was zum Rechnen und Verschl¨ usseln mit Gruppen n¨ otig ist. Auch zeigen wir erfolgreiche Angriffe, welche den Gebrauch von Zopfgruppen in der Kryptographie zun¨achst unbrauchbar machen. Ein entscheidender Punkt bei der Kryptoanalyse ist, dass es f¨ ur eine sichere Verschl¨ usselung f¨ ur das benutzte Problem nicht ausreicht, erwiesenermaßen exponentiell zu sein. Selbst unentscheidbare Probleme reichen dann nicht, wenn es m¨ oglich ist, die Verschl¨ usselung mit einer deutlich von 0 verschiedenen Wahrscheinlichkeit zu brechen. Um diese Wahrscheinlichkeiten mathematisch absch¨atzen zu k¨onnen, brauchen wir einen probabilistischen Komplexit¨atsbegriff. Allerdings erweist sich schon die Einf¨ uhrung eines Wahrscheinlichkeitsmaßes auf den Gruppen als anspruchsvoll. Der Aufbau dieses Textes ist im Wesentlichen inspiriert von [Dehornoy2004] und [KasselTuraev2007].

2

2. Zopfgruppen Zopfgruppen dienen hier als zugrunde liegende Gruppe f¨ ur die verschiedenen Krypto-Schemata, also als sogenannte Plattformgruppe. Zopfgruppen sind an sich ein interessantes Gebiet und wir k¨onnen an ihnen alles sehen, was f¨ ur nicht-kommutative Kryptographie n¨ otig ist. Zopfgruppen k¨ onnen geometrisch oder algebraisch eingef¨ uhrt werden. Diese beiden Definitionen sind ¨ aquivalent. Hier werden wir die geometrische Ansicht nur informell geben, als Hilfe f¨ ur die Intuition. Die geometrische Definition hat Emil Artin in [Artin1947] gegeben. Eine gute Beschreibung ist in [KasselTuraev2007] zu finden. Wir werden Zopfgruppen algebraisch u ¨ber Quotienten von freien Gruppen mit Hilfe von Erzeugern und Relatoren definieren. Da wir zu deren Untersuchung auch Monoide betrachten, fangen wir allgemeiner mit freien Monoiden an. 2.1. Erzeuger und Relatoren. Definition 2.1.1. Es ist N die Menge der nat¨ urlichen Zahlen mit Null. Also N := {0, 1, 2, 3, . . .} Definition 2.1.2. Sei n ∈ N, dann definieren wir {1, . . . , n} := {k ∈ N 1 ≤ k ≤ n} Diese Menge bezeichnen wir auch mit Nn . Danach ist dann N0 = {1, . . . , 0} = ∅. Definition 2.1.3. Ein Alphabet ist eine Menge. Ein Erzeuger ist ein Element eines Alphabetes. Auch wenn jede beliebige Menge ein Alphabet sein kann, wird diese Bezeichnung eigentlich nur gew¨ ahlt, wenn wir die Erzeuger, wie im Folgenden beschrieben, als Grundbausteine beim Aufbau von algebraischen Strukturen verwenden. Die leere Menge ist bei dieser Definition erlaubt. Definition 2.1.4. Sei X ein Alphabet und n ∈ N, wobei n = 0 erlaubt ist. Ein Wort u ¨ ber X ist eine Funktion: W : Nn → X i 7→ W (i). Wir schreiben dann auch W = W (1)W (2) . . . W (n)

3

W¨ orter sind also endliche Folgen. Im Falle n = 0 haben wir N0 = ∅, also die leere Menge. Es gibt genau eine Funktion ∅ : ∅ → X: die leere Funktion. Definition 2.1.5. Das leere Wort u ¨ber X ist die leere Funktion ∅ : ∅ → X. Diese Funktion wird mit 1 bezeichnet. W¨ orter sind also endliche Sequenzen von Erzeugern, so wie in menschlichen Sprachen, wie dem Deutschen, ein Wort eine endliche Sequenz von Buchstaben ist. F¨ ur das Wort “Wort” benutzen wir auch das englische Wort “String”. Die Bezeichnung des leeren Wortes mit 1 ist deshalb n¨ utzlich, weil wir aus den W¨ ortern algebraische Strukturen erzeugen werden, die wir gerne multiplikativ schreiben. Das leere Wort ist dann dort das multiplikative neutrale Element und das schreiben wir halt als 1. Definition 2.1.6. Sei X ein Alphabet und a ∈ X ein Erzeuger. Dann schreiben wir f¨ ur das Wort a . . . a, wo a k-fach vorkommt, ak . Weiter 0 definieren wir a := 1. Definition 2.1.7. Sei X ein Alphabet. Wir definieren  X∗ := W : Nn → X n ∈ N . X∗ ist die Menge aller W¨ orter u uckt ist es die ¨ ber X. Anders ausgedr¨ Menge aller endlichen Folgen mit Gliedern aus X. Im Falle X = ∅ gibt es nur ein Wort, die leere Funktion 1 : ∅ → ∅, wir haben also ∅∗ = {1}. Definition 2.1.8. Sei X ein Alphabet und W : Nn → X ein Wort u ¨ber X. Dann heißt λ(W ) := n die L¨ ange von W . Wir setzen λ(1) := 0, das leere Wort hat also die L¨ange 0. Beispiel 2.1.9. Sei X := {a, b, c} dann ist abcaac ∈ X∗ . Mit den eben eingef¨ uhrten Schreibweisen ist abcaac(3) = c. Weiter ist λ(abcaac) = 6. Definition 2.1.10. {∗} ist eine beliebige, aber f¨ ur den Rest des Textes feste, einelementige Menge. F¨ ur diejenigen, die gerne eine konkrete Definition haben, k¨onnten wir setzen {∗} = {∅}, wobei diese Definition verschleiert, dass das Element selber irrelevant ist, und es nur darauf ankommt, dass die Menge genau ein Element enth¨ alt. Der Punkt dieser Definition ist also {∗} = 1.