Prof. Dr. Gerhard Berendt SS 2001 Ausgewählte Probleme aus der Kryptologie Mathematische Ergänzungen (I) Teilbarkeit : Algorithmus von EUKLID. Die Menge Z der ganzen Zahlen bildet einen Ring mit Einselement; Teilbarkeit ist daher in der Regel nur mit Rest möglich. Im folgenden beschränken wir uns auf die Menge N0 der natürlichen Zahlen inklusive der Zahl 0. Für zwei natürliche Zahlen a und b heißt die größte natürliche Zahl g , durch die sowohl a als auch b teilbar sind, der größte gemeinsame Teiler von a und b , geschrieben g = ggT(a,b). Ein einfaches Verfahren zur Bestimmung des ggT bietet der EUKLIDische Divisionsalgorithmus, wobei o.B.d.A. a b angenommen werden kann: Satz 1.1 : Divisionsalgorithmus von EUKLID: 1. Falls b = 0 , dann setze g = a , gib g aus und beende den Algorithmus. 2. Setze r = a mod b, a = b, b = r und gehe zu 1. Dabei bezeichnet (s.u.) a mod b den ganzzahligen Rest beim Teilen von a durch b. Da die Folge der nicht negativen ganzen Zahlen rn streng monoton abnimmt, bricht der Algorithmus notwendig nach endlich vielen Schritten ab. Beweis: 1. Zu einem Paar a, b natürlicher Zahlen mit a b gibt es genau ein Paar r, q N0 so, daß a = q b + r und 0 r < b : Die Menge { a - x b | x N und a - x b 0 } ist nicht leer. Das kleinste Element r dieser Menge werde bei Ersetzung von x durch q angenommen, ist also r = a - q b mit r 0 . Ferner ist r - b = a - ( q + 1 ) b < 0 , also r < b . Das so bestimmte Paar ( r,q ) ist auch eindeutig: Gäbe es ein zweites Paar ( r1, q1 ) mit der gleichen Eigenschaft, dann wäre nämlich r - r1 durch b teilbar, und, da r und r1 beide kleiner als b sind, müßte r = r1 und damit auch q = q1 gelten. 2. Sei a = q b + r. Dann ist die gemeinsame Menge der Teiler von a und b die gleiche wie die der Teiler von b und r : Sei t gemeinsamer Teiler von a und b, dann ist es auch Teiler von a - q b, also von r . Umgekehrt ist ein s, das gemeinsamer Teiler von b und r ist, auch Teiler von a . 3. In jedem Schritt 2. des Divisionsalgorithmus - also auch im letzten vor dem Abbruch - sind mithin die Zahlen r gemeinsame Teiler von a und b ; dies trifft auch für g zu. Da die gemeinsame Teilermenge von a und b gleich der gemeinsamen Teilermenge von g und 0 , also der Teilermenge von g ist, ist g , wie behauptet, der ggT von a und b . Prof. Dr. Gerhard Berendt SS 2001 Ausgewählte Probleme aus der Kryptologie Mathematische Ergänzungen (I) Der Divisionsalgorithmus kann dahingehend erweitert werden, daß zusätzlich zum ggT( a, b ) Faktoren u und v bestimmt werden, so daß u a + v b = g gilt. Erweiterter Divisionsalgorithmus zur Bestimmung von Faktoren u und v mit u a + v b = ggT( a, b ) : 1. Setze u = 1, g = a . Falls b = 0 , setze v = 0, gib g aus und beende den Algorithmus; ansonsten setze p = 0 und m = b . 2. Berechne q und r mit g = q m + r , setze t = u - q p , u = p, g = m , p = t und m = r . 3. Falls m = 0 , setze v = ( g - a u ) / b und beende den Algorithmus, ansonsten gehe zu 2. Beweis als Aufgabe. Der Restklassenring Z n = Z / [n] . Seien a, b Z und n N. Dann partitioniert die Äquivalenzrelation a b a - b teilbar durch n die Menge der ganzen Zahlen in sogenannte Restklassen modulo n. Man schreibt a = b mod n und wählt als Repräsentanten der Restklasse modulo n die Zahlsymbole 0, 1, 2 . . . n-1 . Die Menge der Repräsentanten wird mit Z n = Z / [n] bezeichnet. Überträgt man die Addition und Multiplikation der Elemente von Z n auf kanonische Weise aus der Menge Z , dann folgt, daß Z n ein kommutativer Ring mit Einselement ist. Dieser Ring heißt der Restklassenring modulo n , im folgenden kurz als Rn bezeichnet. Rn ist im allgemeinen kein Körper. Damit zu einem aRn ein multiplikatives Inverses a-1 existiert, ist notwendig und hinreichend, daß der größte gemeinschaftliche Teiler (ggT) von a und n gleich 1 ist: ggT(a,n) = 1: Prof. Dr. Gerhard Berendt SS 2001 Ausgewählte Probleme aus der Kryptologie Mathematische Ergänzungen (I) Satz 1.2 : Ein Element a aus Rn besitzt genau dann ein multiplikatives Inverses a-1 , wenn ggT(a,n) = 1 ist. Beweis: a) Angenommen, es existiere ein x Rn mit ax = 1 mod n = kn+1 mit k Z und ggT(a,n) = p > 1, d.h. a = a' p und n = n' p. Dann wäre die ganze Zahl a' x - k n' gleich der gebrochenen Zahl 1/p. In diesem Falle kann also kein x mit der verlangten Eigenschaft existieren. b) Der erweiterte EUKLIDische Divisionsalgorithmus liefert die Aussage, daß sich der ggT als ganzzahlige Linearkombination von a und n schreiben läßt. Hieraus liest man unmittelbar ab, daß wegen ggT(a,n) = 1 der Koeffizient von a in dieser Linearkombination das multiplikative Inverse von a ist. Als Korollar folgt sofort: Korollar 1.3: Der Restklassenring Rp modulo einer Primzahl p ist ein Körper. Die Anzahl der Elemente im Restklassenring Rn , die ein multiplikatives Inverses besitzen, wird als Wert der EULERschen - Funktion bezeichnet: Definition 1.4 : Die EULERsche - Funktion ist durch (n) : = { 0 < b < n | ggT(b,n) = 1} definiert. Als Korollar 1.5 folgt direkt, daß für eine Primzahl p gilt: (p) = p-1 .