Grundbegriffe der Kryptographie

Größe: px
Ab Seite anzeigen:

Download "Grundbegriffe der Kryptographie"

Transkript

1 Grundbegriffe der Kryptographie Vorlesungsskript von Eike Best April-Juli 2004

2 Oldenburg, April 2004 E. Best Das Skript wird ständig gepflegt. Wenn Ihnen beim Lesen Fehler auffallen, schicken Sie bitte eine Mail an oder geben Sie sie schriftlich im Sekretariat der Theoretischen Informatik bekannt. Stand der Änderungen (Version): 18. April Hauptsächlich verwendete Literatur: Douglas R. Stinson: Cryptography. Theory and Practice. Second Edition, Chapman&Hall/CRC, ISBN , Johannes Buchmann: Einführung in die Kryptographie. Zweite, erweiterte Auflage, Springer-Verlag, ISBN ,

3 Inhaltsverzeichnis 1 Klassische Kryptosysteme Einführung Verschiebungschiffre Substitutionschiffre Affin-lineare Chiffre Algorithmen zur Lösung modularer Gleichungen Ein wenig Gruppentheorie Berechnung des größten gemeinsamen Teilers Lösung linearer modularer Gleichungen Permutationschiffre, Blockchiffren, ECB-Modus Hill-Chiffre Vigenère-Chiffre Autokey-Chiffre, CBC-Modus Stromchiffre Klassische Kryptanalyse Typen von Attacken Kryptanalyse der affin-linearen Chiffre Kryptanalyse der Substitutionschiffre Kryptanalyse der Vinegère-Chiffre Kryptanalyse der Hill-Chiffre Kryptanalyse einer Stromchiffre i

4 ii Vorlesungsskript von E. Best / Stand: 18. April 2004

5 Kapitel 1 Klassische Kryptosysteme 1.1 Einführung Hauptaufgabe der Kryptographie ist es, die Kommunikation zwischen zwei Parteien oft Alice und Bob genannt so zu ermöglichen, dass der Inhalt dieser Kommunikation von anderen nicht verstanden wird oder werden kann. Besonders soll Oscar, ein Opponent, der z.b. gerade die Telefonleitung, die Alice und Bob verbindet, abhört, nicht herausfinden können, was die beiden miteinander sprechen (oder sich schreiben). Sozusagen die gegenteilige Aufgabe hat Kryptanalyse: hier geht es darum, durch clevere Ideen die kryptographischen Methode(n) herauszufinden, die von Alice und Bob für ihre geheime Kommunikation benutzt werden, und insbesondere den Schlüssel zu knacken, den Bob benutzt, um Alices Nachrichten zu verstehen (denn hat Oscar diesen Schlüssel, kann er natürlich auch die Nachrichten verstehen). Die Gesamtheit der kryptographischen und kryptanalytischen Methoden nennt man Kryptologie. Nehmen wir an, dass Alice Bob eine Nachricht in Klartext, z.b. ichliebedich, zukommen lassen möchte. Damit kein anderer dies versteht, verschlüsselt Alice diese Nachricht vor dem Abschicken. Ein Schlüssel könnte zum Beispiel sein: verschiebe die Buchstaben um eine Stelle im Alphabet nach hinten. Dann lautet diese Nachricht: JDIMJFCFEJDI. Wir verwenden der Klarheit halber Kleinbuchstaben für Klartext und Großbuchstaben für verschlüsselten Text, der auch Chiffretext heißt. Normalerweise verwenden wir als Alphabet nur die 26-buchstabige Menge A = {a, b,..., z}, so dass die Zuordnung von Klar- zu Chiffretext keine Zweideutigkeiten nach sich zieht, wenigstens keine typografischen. Definition Kryptosystem Ein Kryptosystem ist ein 5-Tupel (P, C, K, E, D), dessen einzelne Elemente Folgendes bedeuten: P ist eine endliche Menge von Klartexten ( plaintexts ), wie zum Beispiel A oben. 1

6 2 Vorlesungsskript von E. Best / Stand: 18. April 2004 C ist eine endliche Menge von Chiffretexten ( ciphertexts ), wie zum Beispiel (die großbuchstabige Version von) A. K ( keyspace ) ist eine endliche Menge von Schlüsseln. E ( encryption ) sind die Verschlüsselungsfunktionen (je eine, e K, pro Schlüssel K K). D ( decryption ) sind die Entschlüsselungsfunktionen (je eine, d K, pro Schlüssel K K). Die beiden Funktionen e K und d K müssen durch effiziente Algorithmen berechenbar sein und es muss gelten: d K (e K (x)) = x, für jeden Klartext x und Schlüssel K. (Aus letzterem folgt insbesondere, dass e K für jeden Schlüssel K injektiv ist.) Im Beispiel sind: P = {a, b,..., z} C = {A, B,..., Z} K = {K 0 K 25} E, D : siehe unten. Hier sind gleich 26 mögliche Verschlüsselungsmethoden zusammengefasst: Schieben der Buchstaben um K Positionen im Alphabet. Die oben angewandte gehört zu K = 1. Julius Caesar hingegen soll regelmäßig privat wie geschäftlich K = 3 angewendet haben 1. Gilt auch die letzte Bedingung? Ver- und Entschlüsselung E bzw. D sind offensichtlich leicht algorithmisch ausdrückbar, für K = 1 z.b. mit Hilfe folgender Tabelle: a b c d e f g h i j k l m n o p q r s t u v w x y z B C D E F G H I J K L M N O P Q R S T U V W X Y Z A. (Verschlüsseln e 1 von oben nach unten, Entschlüsseln d 1 von unten nach oben), und es gilt offenbar stets d 1 (e 1 (x)) = x. Natürlich ist e 1 auch injektiv. Allgemein gilt: wäre e K nicht injektiv, gäbe es zwei Klartexte mit der gleichen Verschlüsselung, d.h., die Entschlüsselung wäre dann uneindeutig. Bei einem Kryptosystem handelt es sich also um eine Zusammenfassung gleichartiger Verschlüsselungsmethoden. Für die eben angegebenen Schiebe-Chiffren eignen sich verdrehbare Scheiben besonders gut, auf denen man das K einstellen kann 2. Zu Julius Caesars Zeiten war eine Verschlüsselung dieser einfachen Art wahrscheinlich ziemlich sicher, weil die meisten Leute sowieso nicht lesesn konnten. Heute ist dieses Kryptosystem aber nicht besonders gut, denn ein Opponent, der weiß, dass eine Schiebemethode angewendet worden ist, kann den Schlüssel sehr leicht durch Ausprobieren herausfinden (und braucht dazu nur Papier und Bleistift). Bessere Kryptosysteme haben insbesondere einen viel größeren Schlüsselraum allerdings macht dessen Größe allein noch nicht die Qualität aus, wie wir sehen werden. Das gerade geschilderte Kryptosystem heißt symmetrisch, weil der Schlüssel K gleichermaßen von Alice und von Bob geheim gehalten werden muss, weil er sonst von Opponenten benutzt werden kann siehe Abbildung 1.1. Ein solcher Schlüssel heißt auch Geheimschlüssel (secret key). Vor knapp 20 Jahren entdeckte man, dass es aus Anwendungssicht sehr sinnvoll sein kann, Verschlüsselung und Entschlüsselung stärker zu trennen siehe Abbildung 1.2. Angenommen, dass es zum Verschlüsseln und history.php.

7 Kryptographie - Sommersemester zum Entschlüsseln zwei verschiedene Schlüssel gibt, und angenommen auch, dass letzterer sich nur schwer aus ersterem berechnen lässt. Dann kann Bob so vorgehen, wenn er möchte, dass ihm eine beliebige Person (nicht nur Alice) eine verschlüsselte Nachricht senden kann: er gibt den Verschlüsselungsschlüssel öffentlich bekannt (public key), behält aber den Entschlüsselungsschlüssel bei sich (private key). Somit kann nur Bob Nachrichten entschlüsseln, die mit dem public key verschlüsselt worden sind, während zur Verschlüsselung jede/r befugt ist. Es entfällt unter anderem auch die Notwendigkeit, dass sich Alice und Bob, bevor überhaupt eigentliche Kommunikation stattfinden kann, auf einen gemeinsamen Schlüssel einigen. Kryptosysteme, die public key / private key auf diese Weise benutzen, heißen aus naheliegenden Gründen asymmetrisch. Unsichere Verbindung Alice x Verschlüsselung e K y Oscar... y Entschlüsselung d K x Bob Sichere Verbindung K Schlüsselquelle (secret key) Abbildung 1.1: Secret-key-Kryptographie Unsichere Verbindung Alice x Verschlüsselung e PublicKey y Oscar... y Entschlüsselung d PrivateKey x Bob PublicKey PrivateKey Schlüsselquelle 1 Schlüsselquelle 2 Abbildung 1.2: Private-key-Kryptographie

8 4 Vorlesungsskript von E. Best / Stand: 18. April Verschiebungschiffre Definition Kongruenz modulo m Seien a und b zwei ganze Zahlen und sei m eine positive ganze Zahl. Dann schreibt man a b (mod m) (ausgesprochen: a ist kongruent b modulo m), wenn m (b a), d.h. wenn m die Differenz b a teilt Zerlegt man a und b modulo m, z.b. durch Division durch m mit Hilfe des Euklidischen Algorithmus, erhält man a = q 1 m + r 1 und b = q 2 m + r 2 mit 0 r 1 < m und 0 r 2 < m. Es gilt a b (mod m) genau dann, wenn r 1 = r 2. Der Wert r 1 wird mit a mod m bezeichnet, und gleichermaßen der Wert r 2 mit b mod m. Die Werte q 1 und q 2 werden a div m bzw. b div m genannt. Beispiel 1: 101 mod 7 = 3, weil 101 = Beispiel 2: ( 101) mod 7 = 4, weil 101 = ( 15) Achtung: Dies kann durchaus von den Operationen abweichen, die in manchen Computersprachen implementiert sind. Dort könnte ( 101) mod 7 auch als 3 definiert sein. Die Kongruenz modulo m ist eine Äquivalenzrelation in der Menge der ganzen Zahlen. Die Äquivalenzklassen dieser Relation heißen Restklassen modulo m. Die Äquivalenzklasse von a modulo m wird mit [a] m bezeichnet, und wenn m bekannt ist, einfachheitshalber nur mit [a]. Die Menge der Restklassen modulo m heiße Z m. Beispiel: Z 6 = { [0], [1],..., [5] }..., 12, 6, 0, 6, 12,... [0];..., 11, 5, 1, 7, 13,... [1];..., 10, 4, 2, 8, 14,... [2]; usw. Der Einfachheit halber kann Z m mit den möglichen Resten 0, 1,..., m 1 (sozusagen mit den kanonischen Resten) identifiziert werden. Auf Z m können Addition und Multiplikation definiert werden: [a] m + [b] m [a] m [b] m Def = [a + b] m Def = [a b] m Diese Definitionen sind repräsentantenunabhängig, die beiden Operationen sind also wohldefiniert. Eine Struktur (G, ) heißt Gruppe, wenn die (binäre) Operation abgeschlossen ist (d.h., wenn für das Resultat c = a b mit a, b G wieder c G gilt), wenn die Operation assoziativ ist (d.h., stets a (b c) = (a b) c gilt, ein Einselement auch Einheit genannt bezüglich der Operation existiert (d.h., ein Element e G mit e a = a e = a für alle a G), und Inverse existieren (d.h., zu jedem Element a G ein Element â G mit a â = â a = e). Eine Gruppe heißt Abelsch, wenn sie zusätzlich kommutativ ist (d.h., stets a b = b a gilt). Eine Struktur (R, +, ) heißt Ring, wenn (R, +) eine Abelsche Gruppe ist, die Multiplikation abgeschlossen und assoziativ ist, und wenn das folgende Distributivgesetz gilt: stets a (b+c) = (a b)+(a c) und (b+c) a = (b a)+(c a). Eine Ring heißt kommutativ, wenn die Multiplikation kommutativ ist, und er heißt Ring mit Einheit, wenn es ein Einselement bzgl. gibt.

9 Kryptographie - Sommersemester Satz (Z m, +, ) ist ein kommutativer Ring mit Einheit. Beweis: (Skizze.) Die Einheit bzgl. der Addition ist die [0]. Das zu einem Element [r] Z m inverse Element bzgl. der Addition ist [m r]. Die Einheit bzgl. der Multiplikation ist die [1]. Die behaupteten algebraischen Eigenschaften sind unschwer nachzuweisen Die Existenz eines Inversen bezüglich der Multiplikation ist im Allgemeinen nicht gegeben. Beispielsweise kann für a = 3 die Multiplikation q a niemals in die Restklasse 1 von 6 fallen. Gilt jedoch 3 ggt(r, m) = 1, dann existiert das multiplikative Inverse von a modulo m. Beispielsweise ist das multiplikative Inverse von 5 in Z 6 wieder 5, denn es gilt 5 5 = 25 und 25 mod 6 = 1. Man nennt zwei Zahlen a, m mit ggt(a, m) = 1 zueinander relativ prim, oder teilerfremd. Sei Z m die Menge der Restklassen modulo m, die (d.h. deren kanonische Repräsentanten) relativ prim zu m sind. Z m ist wohldefiniert: denn aus ggt(a, m) = 1 folgt k : ggt(a+km, m) = 1. Beispiel: Z 15 = {[1] 15, [2] 15, [4] 15, [7] 15, [8] 15, [11] 15, [13] 15, [14] 15 } = {1, 2, 4, 7, 8, 11, 13, 14} (Kurzschreibweise) Achtung: Die 0 ist nicht in Z m, weil jede Zahl 0 die 0 teilt. Satz (Z m, ) ist eine endliche Abelsche Gruppe. Beweis: Zum Beweis müssen die Gruppenaxiome und Kommutativität nachgewiesen werden. Zur Existenz eines Inversen: das zu a Z m inverse Element ist, wie wir später zeigen werden (Korollar 1.5.5), â = a Z m Falls m = p prim ist, gilt Z m = p 1, sonst gilt Z m < p 1. Beispiele: Z 6 hat zwei Elemente, 1 und 5. Die Gruppentafeln von (Z 6, ) und (Z 15, ) sind in Abbildung 1.3 dargestellt. (Z 6, ) (Z 15, ) Abbildung 1.3: Gruppentafeln von (Z 6, ) und (Z 15, ) 3 Wir benutzen die Schreibweise ggt(a 1,..., a r) für den größten gemeinsamen Teiler von a 1,..., a r.

10 6 Vorlesungsskript von E. Best / Stand: 18. April 2004 Weil (Z m, +) additive Inverse hat, kann auch die Differenz definiert werden: a b Def = (a b) mod m. Die Verschiebungschiffre ( shift cipher ) wird günstig definiert, indem die Buchstaben {a,..., z} mit den Restklassen {0,..., 25} von Z 26 identifiziert werden: a b c d e f g h i j k l m n o p q r s t u v w x y z Kryptosystem Verschiebungschiffre Es seien P = C = K = Z 26, und für K K seien e K und d K folgendermaßen definiert: e K (x) = (x + K) mod 26 d K (y) = (y K) mod 26, für alle x, y Z Wie schon erwähnt, ist die Verschiebungschiffre nicht sicher, denn man kann durch systematisches, vollständiges Ausprobieren (exhaustive search, brute force) herausfinden, welcher Schlüssel (unter den nur 26 vorhandenen) verwendet wurde. Dazu sind im Mittel 26 2 = 13 Versuche nötig. Trotzdem gibt es auch für den shift cipher praktische Verwendung, zum Beispiel ROT13 als Spoiler-Warnung in Usenet-Artikeln 4. Warum gerade ROT13? Das Verschieben um 13 Positionen ist selbst-invers, d.h., Ver- und Entschlüsseln kann mit Hilfe der gleichen Funktion geschehen. Beispiel: ROT13(ROT13(thebutlerdidit)) = ROT13(GUROHGYREQVQVG) = thebutlerdidit. Diese Anwendung hat natürlich beim Gebrauch von Sonderzeichen (Umlauten usw.) ihre engen Grenzen. 1.3 Substitutionschiffre Eine offenbar schon ca. 500 Jahre vor Caesar bekannte Kryptomethode ist der Atbash jüdischen Ursprungs 5. Hier wird a auf Z abgebildet, b auf Y, c auf X, usw., die Buchstaben des Alphabets werden also einfach umgedreht. Der Atbash ist offenbar nicht als Verschiebungschiffre beschreibbar. Er gehört jedoch zur größeren Klasse der Substitutionschiffren, die wir in diesem Abschnitt definieren. Bekanntlich ist eine Funktion π : X X, mit einer endlichen Menge X, schon dann bijektiv, wenn sie injektiv oder surjektiv ist. In diesem Fall heißt π eine Permutation von X, und es existiert die Umkehrfunktion π 1 mit der Eigenschaft x X : π 1 (π(x)) = x = π(π 1 (x)). Natürlich ist auch π 1 wieder eine Permutation von X. 4 rot13.de. 5

11 Kryptographie - Sommersemester Kryptosystem Substitutionschiffre Es seien P = C = Z 26, und K sei die Menge aller Permutationen der 26 Zeichen A = {a,..., z}. Für eine Permutation K = π seien e K und d K folgendermaßen definiert: e K (x) = π(x) d K (y) = π 1 (y), für alle x, y Z Der Atbash ist eine Substitutionschiffre, ebenso wie auch alle Verschiebungschiffren spezielle Substitutionschiffren sind. Da es 26! Permutationen der Menge A gibt, ist der Keyspace in der Substitutionschiffre sehr groß, nämlich größer als Brute-Force-Methoden sind ausgeschlossen, um solche Verschlüsselungen zu knacken ; es gibt aber andere, bessere Methoden der Kryptanalyse. 1.4 Affin-lineare Chiffre Bei der affin-linearen (oder der Kürze halber nur affinen ) Chiffre handelt es sich um einen weiteren Spezialfall der Substitutionschiffre, der allerdings die Verschiebungschiffre umfasst und verallgemeinert. Wir lassen in der affinen Chiffre Verschlüsselungen der Form e(x) = (ax + b) mod 26 zu, wobei a und b zwei Restklassen in {0,..., 25} sind. (Mit dem Spezialfall a = 1 ergibt sich die Verschiebungschiffre.) Nicht alle Verschlüsselungen dieser Art sind tatsächlich Substitutionen. Zum Beispiel ist mit a = 4 und b = 7 die Verschlüsselung e(x) = (4x + 7) mod 26 nicht eindeutig, weil x und x + 13 auf den gleichen Chiffretext abgebildet werden (für alle x Z 26 ). Um (ax + b) mod 26 entschlüsseln zu können, fragen wir nach der Injektivität dieser Funktion, d.h., danach, wann die Kongruenz (ax + b) y (mod 26), oder, dazu äquivalent: ax (y b) (mod 26), eine eindeutige Lösung (bzgl. x, für beliebige y in {0,..., 25}) hat. Da mit y auch y b über Z 26 variiert, gilt dies genau dann, wenn ax y (mod 26) (1.1) eine eindeutige Lösung in x hat. Satz Gleichung (1.1) hat genau dann eine eindeutige Lösung in x (für alle y Z 26 ), wenn gilt: ggt(a, 26) = 1.

12 8 Vorlesungsskript von E. Best / Stand: 18. April 2004 Beweis: Zum Beweis der einen Richtung, ( ), nehmen wir an, dass d = ggt(a, 26) > 1 ist. Dann hat die Gleichung ax 0 (mod 26) (also Gleichung (1.1), speziell mit y = 0) mindestens zwei verschiedene Lösungen, nämlich x = 0 und x = 1 d 26. Zum Beweis von ( ) nehmen wir ggt(a, 26) = 1 an. Betrachten wir x 1 und x 2 mit ax 1 ax 2 (mod 26). Dann gilt a(x 1 x 2 ) 0 (mod 26), also 26 a(x 1 x 2 ). Weil ggt(a, 26) = 1 ist, folgt daraus 26 (x 1 x 2 ), d.h.: x 1 x 2 (mod 26). (Wir haben hier eine Eigenschaft der Teilung ganzer Zahlen benutzt: wenn ggt(a, b) = 1 und a bc, dann a c.) Je zwei Lösungen x 1, x 2 von Gleichung (1.1) liegen also in der gleichen Restklasse bzgl. 26, sind also gleich (als Elemente von Z 26 ) Eine allgemeinere Version dieses Satzes lernen wir später kennen (Korollar ). Wir berechnen die Größe des Keyspace einer affinen Chiffre. Definition Eulersche Φ-Funktion Für m N\{0} sei Φ(m) = Z m die Anzahl der Zahlen in Z m, die teilerfremd zu m sind Beispielsweise gilt Φ(6) = 2, Φ(15) = 8 und Φ(26) = 12 (denn die Zahlen zwischen 0 und 25, die teilerfremd zu 26 sind, sind 1, 3, 5, 7, 9, 11, 15, 17, 19, 21, 23, 25). Die möglichen Werte von a sind in diesem Fall also die zuletzt genannten 12 Zahlen, während für b jedes der 26 Elemente von Z 26 Verwendung finden kann. Es gibt also = 312 verschiedene Schlüssel. Im allgemeinen Fall sind es bei P = m genau m Φ(m) verschiedene Schlüssel. Wir wenden uns nun der Entschlüsselung von affin-linearen Chiffren zu. Nehmen wir an, dass ggt(a, 26) = 1 und b Z 26 gelten. Um einen Chiffretext y entschlüsseln, muss die Kongruenz y (ax + b) (mod 26) (1.2) bei bekanntem y in x (Klartext) gelöst werden. Zwar wissen wir bereits, dass es eine eindeutige Lösung gibt, jedoch haben wir noch keinen effizienten Algorithmus dafür. Einen solchen geben wir im nachfolgenden Abschnitt 1.5 an. Wir haben schon gesehen, dass jedes Element a Z 26 ein multiplikatives Inverses hat, das üblicherweise als a 1 geschrieben wird und das ebenfalls ein Element von Z 26 ist. Auch gilt (a 1 ) 1 = a für alle solche a. Nebenbei: ist m = p eine Primzahl, gilt Z p = Z p \{0}, und jedes Element von Z p \{0} hat ein multiplikatives Inverses. Dann gilt auch Φ(p) = p 1. Die folgende Tabelle zeigt die multiplikativen Inversen der Gruppe (Z 26, ): a=(a 1 ) a Unsere zu lösende Kongruenz y (ax + b) (mod 26) is äquivalent mit ax (y b) (mod 26). Da a ein multiplikatives Inverses hat, kann diese zur Multiplikation beider Seiten dieser Kongruenz verwendet werden: a 1 (ax) a 1 (y b) (mod 26) ( (a 1 a)x (mod 26)).

13 Kryptographie - Sommersemester Also löst x = a 1 (y b) mod 26 die Gleichung (1.2). Aus diesen Überlegungen folgt endlich eine genaue Definition der affin-linearen Chiffre: Kryptosystem Affin-lineare Chiffre Es seien P = C = Z 26, und K sei die Menge aller Paare {(a, b) a, b Z 26 und ggt(a, 26) = 1}. Für K = (a, b) K seien e K und d K folgendermaßen definiert: e K (x) = (ax + b) mod 26 d K (y) = a 1 (y b) mod 26, für alle x, y Z Beispiel: Wir betrachten K = (7, 3). Der Tabelle der Inversen modulo 26 entnehmen wir: 7 1 = 15. Die Ver- und Entschlüsselungsfunktionen sind: e K (x) = 7x + 3 d K (y) = 15(y 3) = 15y 19, wobei diese Operationen (ebenso wie die nachfolgenden) modulo 26 zu verstehen sind. Die beiden Operationen sind in der Tat Inverse voneinander, denn es gilt: d K (e K (x)) = d K (7x + 3) = 15(7x + 3) 19 = x = x. Wir verschlüsseln zur Illustration den Text axt. Diese Buchstaben entsprechen folgenden Restklassen von 26: a = 0, x = 23 und t = 19. Wir verschlüsseln: ( ) mod 26 = 3 mod 26 = 3 ( ) mod 26 = 164 mod 26 = 8 ( ) mod 26 = 136 mod 26 = 6. Das Chiffrewort heißt also = DIG. 1.5 Algorithmen zur Lösung modularer Gleichungen Ein wenig Gruppentheorie Eine Untergruppe ist eine Teilmenge einer Gruppe, die auch eine Gruppe ist. In Abbildung 1.3 (rechts) ist z.b. {1, 2, 4, 8} eine Untergruppe. Satz Lagrange Sei (G, ) Untergruppe einer endlichen Gruppe (G, ). Dann gilt: G G (d.h., G teilt G ).

14 10 Vorlesungsskript von E. Best / Stand: 18. April 2004 Beweis: Sei H eine Untergruppe von G. Wir definieren a, b G als äquivalent (bzgl. H), wenn a b 1 H. (Dass dies eine Äquivalenzrelation ist, ist leicht zu beweisen.) Insbesondere ist H die Äquivalenzklasse von e, der Einheit. Seien a, b G beliebig gewählt. Die Abbildung h a h b zwischen den beiden Äquivalenzklassen {h a h H} und {h b h H} kann unschwer als Bijektion erkannt werden. Also haben alle Äquivalenzklassen gleiche Mächtigkeit, und H teilt G, weil G die disjunkte Vereinigung dieser Äquivalenzklassen ist Korollar Falls (G, ) eine echte Untergruppe einer endlichen Gruppe (G, ) ist, gilt: G 1 2 G Sei a ein Element einer Gruppe. Dann ist a = {a k k 1} eine Untergruppe, genannt die von a generierte Untergruppe. In Abbildung 1.3 (rechts) gilt z.b. 1 = {1}, 2 = {1, 2, 4, 8}, 4 = {1, 4}, 7 = {1, 4, 7, 13}. Die Ordnung eines Elements a, bezeichnet mit ord(a), ist die kleinste Zahl t mit a t = 1, wobei 1 die Einheit der Gruppe bezeichnet. Oben gilt: ord(1) = 1, ord(2) = 4, ord(4) = 2 und ord(7) = 4. Satz ord(a) = a. Beweis: Sei t = ord(a). Wir zeigen zuerst ord(a) a. Wegen a t = 1 und a t+k = a t a k = a k für k 1 gilt: wenn i > t, dann a i = a j, für ein j t. Wir zeigen dann ord(a) a. Annahme: a i = a j für 1 i < j t. Dann a i+k = a j+k für alle k 0, insbesondere für k = (t j). Also a i+(t j) = a j+(t j) = 1, im Widerspruch dazu, dass t die kleinste Zahl mit a t = 1 ist Korollar Die Folge a, a 2, a 3,... ist periodisch mit Periode t = ord(a), d.h.: a i = a j genau dann, wenn i j (mod t) Korollar Sei (G, ) eine endliche Gruppe. Dann gilt a G = 1, für alle a G. Beweis: Langranges Satz und Satz liefern ord(a) G, also gilt a G = a k ord(a) = Hieraus kann man die Sätze von Euler und (den kleinen ) von Fermat ableiten. Betrachte dazu speziell die Gruppe (Z m, ). Das Folgende ist ein Korollar von Korollar

15 Kryptographie - Sommersemester Korollar Euler a Φ(m) 1 (mod m), für alle a Z n Und das Folgende folgt aus Korollar und der Gleichung Φ(p) = p 1 für Primzahlen p. Korollar Fermat a p 1 1 (mod p), für alle a {1,..., p 1} (falls p prim) Daraus folgt auch, dass a p a (mod p) für alle a {0,..., p 1}, falls p prim ist Berechnung des größten gemeinsamen Teilers Satz Linearkombination des ggt Der größte gemeinsame Teiler d von r natürlichen Zahlen a 1,..., a r (r > 0) lässt sich ganzzahlig linear aus a 1,..., a r kombinieren: d = 1 i r (x ia i ) für gewisse (nicht notwendigerweise eindeutige) ganzzahlige x 1,..., x r. Dabei wird wieder die Konvention benutzt, dass jede natürliche Zahl ungleich 0 die 0 teilt. Der größte gemeinsame Teiler von a N und b N ist also max(a, b), falls a oder b gleich 0 sind. Zum Beweis des Satzes erweitern wir Addition, Subtraktion und Multiplikation auf Teilmengen von Z. Seien U, V Z. Dann U + V = {u+v u U, v V }, U V = {u v u U, v V } und UV = {uv u U, v V }. Eine nicht leere Teilmenge A Z heißt Ideal (von Z), wenn gilt: A A A und ZA A. Falls d N, ist Z{d} ein Ideal, genannt das von d erzeugte Hauptideal. Beispiele: Z{0} = {0} (Das Nullideal) Z{1} = Z Z{2} = alle geraden Zahlen etc. Satz Hauptidealsatz Jedes Ideal A von Z ist ein Hauptideal, nämlich A = Z{d} mit d = min{ a a A}. Beweis: Die Behauptung stimmt ohne weiteres für A = {0} mit d = 0. Sei also im Folgenden A {0}. Wegen A und A {0} gibt es eine Zahl a A mit a 0. Wegen A A A ist auch a a = 0 A, und nochmals wegen A A A ist auch 0 a = a A. Es gibt also eine Zahl größer gleich 1 in A. Definiere d = min{a A a 1}. Wir behaupten A = Z{d} mit dieser Zahl d. Z{d} A gilt wegen ZA A.

16 12 Vorlesungsskript von E. Best / Stand: 18. April 2004 Beweis von A Z{d}: a A (Zerlegung von a, Teiler d, Rest r) a = qd + r mit 0 r < d (A A A und ZA A) r = a qd A (d 1 minimal in {a A a 1}; und r < d) r = 0 (qd Z{d}) a Z{d}. Seien jetzt r > 0 und a 1,..., a r N. Betrachte die Menge A = Z{a 1 }+... +Z{a r }. Es ist klar, dass A ein Ideal ist. Definiere d = min{ a a A}. Aus dem vorangegangenen folgt A = Z{d}. Wegen d A folgt d = 1 i r (x ia i ), also die zu beweisende Zerlegung von d. Es bleibt nur noch zu zeigen, daß d der ggt der Zahlen a 1,..., a r ist. Da a i A (1 i r), gilt auch a i Z{d}, also teilt d die Zahl a i. Falls t alle a i teilt, teilt t auch alle Zahlen in A, und daher auch d. Also ist d tatsächlich der ggt von a 1,..., a r, und der Beweis ist beendet Dieser Satz liefert insbesondere auch einen Beweis für Satz Der Algorithmus in Abbildung 1.4 berechnet den ggt von natürlichen Zahlen a und b, während der in Abbildung 1.5 gezeigte Algorithmus auch noch eine Darstellung von ggt (a, b) zurückgibt: ggt (a, b) = xa+yb. Die Existenz einer solchen Darstellung wie auch der Algorithmus folgen aus den vorangegangenen beiden Sätzen über den ggt und ihrem Beweis. proc euclid ( a, b) : N; % a, b N begin if b = 0 return a b 0 return euclid(b, a mod b) fi end; Abbildung 1.4: Berechnung von ggt(a, b). Eine Anwendung von Algorithmus 1.5 ist in Abbildung 1.6 gezeigt Lösung linearer modularer Gleichungen Wir betrachten schließlich das Problem, algorithmisch eine Lösung x für ax b (mod m) (1.3) zu finden, wobei m N\{0} und a, b N sind. Beispiele: 6x 1 (mod 8) und 6x 2 (mod 8). Die erste Gleichung hat keine Lösung, die zweite hat Lösungen (zum Beispiel x=3 oder x=7). Sei a die von a generierte Untergruppe von (Z m, +).

17 Kryptographie - Sommersemester proc extended euclid ( a, b) : Z 3 ; % a, b N; Ausgabe : d, x, y begin if b = 0 return (a, 1, 0) b 0 (d, x, y) := extended euclid(b, a mod b); (x, y) := (y, x a b y); return (d, x, y) fi % d = ax+by und d = ggt (a, b) end; Abbildung 1.5: Berechnung und Darstellung von ggt(a, b). a b a b d x y ee(99, 78) 3 = 99 ( 11) ee(78, 21) 3 = ( 11) ee(21, 15) 3 = 21 ( 2) ee(15, 6) 3 = ( 2) ee(6, 3) 3 = ee(3, 0) 3 = Abbildung 1.6: Eine Anwendung von Algorithmus 1.5 (ee = extended euclid) Beobachtung: (1.3) hat Lösung b a. Aus Satz folgt: a teilt m. Es gibt eine Charakterisierung von a : Satz Sei d = ggt(a, m). Dann gilt a = d = {0, d, 2d,..., ( m d 1) d}, und mithin auch a = m d. Beweis: Zunächst zeigen wir d a. Der Algorithmus extended euclid(a, m) liefert ganze Zahlen x, y mit ax + my = d. Also ist ax d (mod m), und damit d a. Dann gilt aber auch d a, weil das Vielfache eines Vielfachen von a ein Vielfaches von a ist. Um a d zu zeigen, sei q a. Dann q = ax mod m für eine ganze Zahl x, also q = ax + my für eine ganze Zahl y. Da d sowohl a als auch m teilt, teilt d auch q, d.h. q d. Da es genau m d Vielfache von d zwischen 0 und m 1 gibt, gilt dann auch a = d = m d Satz Sei d = ggt (a, m). Sei d = ax +ny (z.b. als Ausgabe von extended euclid). Falls d b, dann ist x 0 = x ( b d ) mod m eine Lösung von (1.3).

18 14 Vorlesungsskript von E. Best / Stand: 18. April 2004 Beweis: ax 0 ax ( b d ) (mod m) (Def. x 0) d( b d ) (mod m) (da ax d (mod m) wegen d = ax +my ) b (mod m) Korollar (1.3) hat eine Lösung ggt(a, m) teilt b. Entweder (1.3) hat keine Lösung, oder d verschiedene (wobei d = ggt (a, m)) Satz Sei (1.3) lösbar, d.h., d b, wobei d = ggt(a, m), und sei x 0 eine Lösung. Dann hat (1.3) genau d verschiedene Lösungen: x i = x 0 +i ( m d ) für i = 0, 1,..., d 1 (modulo m). Beweis: Da m d > 0 und 0 i ( m d ) m für i = 0, 1,..., d 1, sind die Werte x 0,..., x d 1 alle verschieden. Aufgrung der Periodizität der Folge ai mod m (Korollar 1.5.4) und weil x 0 eine Lösung ist, ist jedes x i eine Lösung. Nach Korollar gibt es genau d Lösungen, so dass die x 0,..., x d 1 alle Lösungen sein müssen Betrachte beispielsweise 6x b (mod 8) mit b = 1, 2. Es ist ggt(6, 8) = 2. Da 2 b mit b=1, hat 6x 1 (mod 8) keine Lösung. Da 2 b mit b=2, hat 6x 2 (mod 8) genau zwei verschiedene Lösungen, nämlich x = 3 und x = 7. Genauer: mit einer Darstellung des ggt von 6 und 8, die so lautet: 2 = 6 ( 1 ) + 8 ( }{{} }{{} 1 ), x y berechnet sich das x 0 aus Satz als x 0 = ( 1)(1) mod 8 = ( 1) mod 8 = 7. Das x 1 aus Satz berechnet sich als x 1 = x = 11, also 3 (modulo 8). Zur Berechnung aller x i ergibt sich der Algorithmus 1.7. proc Löse mod eq( a, b, m); begin (d, x, y ) := extended euclid(a, n); end; if d b keine Lösungen d b x 0 := x ( b d ) mod m; for i := 0 to d 1 do x 0 +i ( m d ) mod m ist Lösung endfor fi Weiteres Beispiel: }{{} 14 x }{{} 30 (mod }{{} 100 ). a b m Abbildung 1.7: Lösung von ax b (mod m).

19 Kryptographie - Sommersemester Dann wird (d, x, y ) zu (2, 7, 1) (Probe: 2 = 14 ( 7)+100 (1)) es gibt Lösungen. Erste: x 0 = ( 7) (15) mod 100 = 95. for-schleife: mit i=0 und i=1 (wegen d=2) sind x 0 = 95 und x 1 = 45 Lösungen. Korollar Sei m > 1. Falls ggt(a, m) = 1, dann hat ax b (mod m) genau eine Lösung modulo m. Speziell wenn b = 1, ist diese Lösung das multiplikative modulare Inverse von a (mod m). Dieses ist das x aus extended euclid Der Algorithmus zur Berechnung eines multiplikativen modularen Inversen kann insbesondere zur Dechiffrierung einer affinen Chiffre (Kryptosystem 1.4.3) verwendet werden. 1.6 Permutationschiffre, Blockchiffren, ECB-Modus Die bisher betrachteten Chiffren sind monoalphabetisch, d.h., jeder Buchstabe wird immer gleich chiffriert (z.b. wird bei ROT13 der Buchstabe a immer nur als N chiffriert). Diese Eigenschaft macht solche Chiffren Attacken (d.h. Entdeckungsversuchen durch Oscar) gegenüber verwundbar. Um dies zu verhindern, kann man versuchen, den Klartext beizubehalten, die einzelnen Zeichen (z.b. die Buchstaben) aber in eine andere Reihenfolge zu bringen. In der Permutationschiffre geschieht dies blockweise, mit einer Blocklänge m. Wenn m > 1, dann ist die genannte Eigenschaft nicht zwingend vorhanden, d.h., ein Buchstabe kann, je nach Stelle des Vorkommens, durch verschiedene Chiffretexte codiert werden. Falls der Klartext eine Länge hat, die nicht durch m teilbar ist, kann er durch Anhängen von (pseudo-) zufällig gewählten Buchstaben auf eine solche Länge gebracht werden. Chiffren wie die Permutationschiffre, durch die jeweils Blöcke (gleicher Länge) des Klartextes gemäß einer Vorschrift in Blöcke des Chiffretextes chiffriert werden, heißen generell Blockchiffren. Kryptosystem Permutationschiffre Sei m N\{0}. Es seien P = C = Z 26, und K sei die Menge aller Permutationen von {1,..., m}. Für eine Permutation K = π seien e K und d K folgendermaßen definiert: e π (x 1,..., x m ) = (x π(1),..., x π(m) ) mod 26 d π (y 1,..., y m ) = (y π 1 (1),..., y π 1 (m)) mod 26. Beispiel: Wir betrachten m = 6 und die folgende Permutation π (und ihr Inverses π 1 ): { } { } x π : und π 1 x : π(x) π 1 (x) Um den Klartext blaukrautbleibtblaukraut zu chiffrieren, teilen wir ihn in Blöcke der Länge m = 6 ein und permutieren jeden Block einzeln im Sinne von π: b l a u k r a u t b l e i b t b l a u k r a u t A K B R U L T L A E B U T L I A B B R U U T A K 1.6.1

20 16 Vorlesungsskript von E. Best / Stand: 18. April 2004 Man muss hier etwas aufpassen: die Abbildung von x=2 auf π(x)=5 besagt zum Beispiel, dass die alte Position 2 auf die neue Position 5 gebracht wird (und nicht umgekehrt). Die Dechiffrierung geht umgekehrt, d.h., unter Benutzung von π 1 statt π. Oben wurde das b des Klartextes durch A, E, L, und schließlich wieder durch A chiffriert. Die Permutationschiffre ist somit nicht mono-, sondern polyalphabetisch. Dies (u.a.) unterscheidet sie von der Substitutionschiffre. Bemerkung: Im Beispiel oben wurde der Chiffretext sozusagen blockweise kontextfrei produziert, das heißt, jeder i te Chiffreblock hängt nur vom entsprechenden (i ten) Klartextblock und vom Schlüssel π ab. Diese sehr naheliegende Art der Chiffrierung in einer Blockchiffre heißt Electronic Codebook Mode (ECB-Modus). Hierdurch werden gleiche Klartextblöcke auch immer in gleiche Chiffreblöcke codiert (also quasio ein Monoalphabetismus auf Blockebene), und es besteht immer noch eine gute Chance, dass sich Regelmäßigkeiten des Klartextes im Chiffretext wiederfinden lassen und dadurch eine Angriffsfläche gegeben ist. Andere Modi sind auch mit der Permutationschiffre möglich und werden später beschrieben. 1.7 Hill-Chiffre Die Hill-Chiffre (1929) ist ebenfalls polyalphabetisch und verallgemeinert die Permutationschiffre. Wir legen eine positive Zahl m fest und wollen Blöcke der Länge m des Klartextes auf einmal in Blöcke der Länge m des Chiffretextes umwandeln. Die m Zeichen des Chiffretextes sind definiert als Linearkombinationen der m Zeichen des Klartextes (modulo 26). Damit nicht notwendigerweise ein Buchstabe immer auf das gleiche Zeichen abgebildet wird, schließen wir m = 1 aus. Sei zum Beispiel m = 2. Man könnte beispielsweise festlegen, dass y 1 = (11x 1 + 3x 2 ) mod 26 y 2 = (8x 1 + 7x 2 ) mod 26 gelten soll, wobei (x 1, x 2 ) zwei nebeneinander liegende Klartextzeichen, (y 1, y 2 ) die entsprechenden Chiffrezeichen sind. In Matrixform kann man diese Transformation auch folgendermaßen schreiben: ( ) 11 8 (y 1, y 2 ) = (x 1, x 2 ) 3 7 Beispiel: Wir wollen den Klartext meer auf diese Weise verschlüsseln. Dazu bilden wir zunächst Blöcke der Länge 2, also me und er. Dann berechnen wir: ( ) 11 8 (12, 4) = ( , ) = (144, 124) = (14, 20) 3 7 und ( 11 8 (4, 17) 3 7 ) = ( , ) = (95, 151) = (17, 21). Der Chiffretext ist also OURV. Das e wurde einmal auf U und einmal auf R abgebildet. Um einen solchen Chiffretext zu dechiffrieren, benötigt man das Inverse der (m, m)-chiffrierungsmatrix (modulo 26). Wenn ein solches Inverses existiert, ist es wieder eine (m, m)-matrix. In der linearen Algebra

21 Kryptographie - Sommersemester über den reellen Zahlen existiert das Inverse einer quadratischen Matrix genau dann, wenn deren Determinante nicht 0 ist. In der linearen Algebra modulo einer natürlichen Zahl m N\{0} gibt es eine analoge Bedingung für die Invertierbarkeit: eine quadratische Matrix K hat ein Inverses modulo m genau dann, wenn die Determinante det(k) von K und m teilerfremd sind. (Insbesondere darf die Determinante nicht 0 sein, genau wie im reellen Fall.) Im obigen Beispiel gilt ( ) 11 8 det = = 53 1 (mod 26), 3 7 und deswegen ggt(det(k), 26) = 1. Die Matrix ist also invertierbar. In der Tat findet man: ( ) ( ) = ( ) und damit ( ) 1 = natürlich modulo 26. Hier ist die genaue Definition des Hillschen Kryptosystems: Kryptosystem Hill-Chiffre ( Sei m N\{0, 1}. Es seien P = C = (Z 26 ) m. Sei K die Menge der invertierbaren (m, m)-matrizen über Z 26. Für K K seien e K und d K folgendermaßen definiert: e K (x 1,..., x m ) = x K d K (y 1,..., y m ) = y K 1, alles modulo Die Permutationschiffre ist ein Spezialfall des Hill-Chiffre, indem eine Permutation π von {1,..., m} durch eine (m, m)-permutationsmatrix K π beschrieben wird. Dabei ist K π (i, j) als 1 definiert, wenn i = π(j), und als 0 sonst. Solche Matrizen sind stets invertierbar. Zum obigen Beispiel gehört die Permutationsmatrix K π = Die Permutationschiffre ist äquivalent zur Hill-Chiffre mit dieser Matrix. ), 1.8 Vigenère-Chiffre Auch in der Vigenère-Chiffre (16. Jahrhundert) kann ein Buchstabe, je nach Stelle des Vorkommens, durch verschiedene Chiffretexte codiert werden. Die Idee ist, im Wesentlichen die Verschiebungschiffre zu verwenden, die Zahl der Positionen, um die verschoben wird, jedoch durch die Benutzung eines Schlüsselworts variabel zu gestalten. Ist z.b. ein Schlüsselwort ABC gegeben, identifizieren wir A wie üblich mit 0, B mit 1 und C mit 2 und verschlüsseln die ersten 3 Buchstaben des Klartextes erst durch Verschieben um 0 Positionen, dann um eine Position und dann um 2 Positionen. Das wird zyklisch so fortgesetzt, indem mit

22 18 Vorlesungsskript von E. Best / Stand: 18. April 2004 Hilfe des Schlüsselwortes ABC durch Iteration ein Schlüsselstring gebildet wird. Am Schluss wird der Klartext entweder aufgefüllt, bis er eine durch 3 teilbare Länge hat, oder das Schlüsselwort wird nur teilweise verwendet. Beispiel: Klartext m i t t e r n a c h t a m s e e Schlüsselstring A B C A B C A B C A B C A B C A Chiffretext M J V T F T N B E H U C M T G E Hier werden beispielsweise die drei t s auf drei verschiedene Chiffren abgebildet (V, T und U). Kryptosystem Vigenère-Chiffre Sei m N\{0}. Es seien P = C = K = (Z 26 ) m. Für K = (k 1,..., k m ) K seien e K und d K folgendermaßen definiert: e K (x 1,..., x m ) = (x 1 + k 1,..., x m + k m ) mod 26 d K (y 1,..., y m ) = (y 1 k 1,..., y m k m ) mod 26. Mit m = 1 ist das gerade die Verschiebungschiffre. Oben ist eine Anwendung mit m = 3 gezeigt. Selbst für kleine m (z.b. m = 6) ist der Keyspace recht groß, so dass sich vollständige Suche kaum lohnt; es gibt jedoch andere Methoden zur Kryptanalyse Autokey-Chiffre, CBC-Modus Eine wesentlich weniger leicht angreifbare Abwandlung von Kryptosystem ebenfalls auf Vigenère zurückgehend beruht auf der Idee, den Klartext (die 1. Zeile im Vigenère-Verfahren) nachträglich (zeitversetzt) als Schlüsselwort zu verwenden. Dazu trägt man in der 2. Zeile das gewählte Schlüsselwort nur einmal ein und danach den Klartext (minus m Buchstaben am Ende). Die Verschlüsselung geschieht nach der gleichen Methode wie bei der Vigenère-Chiffre. Beispiel mit m = 3 und Schlüsselwort ABC : Klartext m i t t e r n a c h t a m s e e Schlüsselstring A B C M I T T E R N A C H T A M Chiffretext M J V F M K G E T U T C T L E Q Dieses Kryptosystem heißt autokey encryption, weil der Klartext quasi sein eigener Schlüssel ist. Mit einem nur dreistelligen initialen Schlüsselwort ist diese Chiffre unsicher, da es nicht mehr als (26) 3 Möglichkeiten gibt. Mit m 6 ergibt sich jedoch eine gute Chiffrierung. Bemerkung: Bei der Autokey-Chiffre wird der Chiffretext in Abhängigkeit vom schon gesehenen Klartext produziert, genauer: jeder i te Chiffreblock, i 2, der Länge m hängt vom i 1 ten Klartextblock (und anfänglich, für i = 1, vom Schlüsselwort der Länge m) ab. Allgemeiner kann man die Produktion des i ten Chiffreblocks nicht nur vom vorangegangenen Klartext, sondern dazu noch (oder alternativ) vom initialen Schlüsselwort und/oder vom bisher produzierten Chiffretext abhängig machen. Eine solche Methode ist der cipherblock chaining mode (CBC-Modus), zum Beispiel in Kombination mit einer Permutationschiffre.

23 Kryptographie - Sommersemester Um den CBC-Modus zu beschreiben, betrachten wir ein binäres Alphabet (zum Beispiel die Binärcodierung eines Textes). Der zu verschlüsselnde Klartext sei x = , der blockweise mit Blocklänge 4 chiffriert werden soll. Da der Klartext 15 Zeichen enthält, muss er, z.b. durch Anhängen einer 0, auf eine durch 4 teilbare Anzahl von Zeichen verlängert werden: x = 1011 }{{} 0001 }{{} 0100 }{{} 1010 }{{} x 1 x 2 x 3 x 4 Der Permutationsschlüssel soll { } x π : π(x) sein. Die Anwendung dieser Permutation auf einen Block der Länge 4 bezeichnen wir mit ; zum Beispiel ist π (1011) = (0111). Als Initialisierungsvektor soll IV = (k 1, k 2, k 3, k 4 ) = (1, 0, 1, 0) dienen, und ein neuer Chiffreblock y i+1 soll sowohl vom entsprechenden Klartextblock x i+1 als auch vom vorangegangenen Chiffreblock y i (und anfänglich von IV ) abhängen (indem x i+1 nach Maßgabe von y i verschoben wird) und gemäß π verschlüsselt werden. Schieben heißt in diesem speziellen Fall Addieren modulo 2 ; wir definieren dies als eine Operation auf Bitstrings. Beispielsweise ist = Die Generierung des Chiffretextes y 1 y 2... soll also durch y 1 = π (x 1 IV ) y i = π (x i y i 1 ), für i 2 beschrieben werden. Für das Beispiel ergibt sich: IV = 1010 y 1 = π (x 1 IV ) = π ( ) = π (0001) = 0010 y 2 = π (x 2 y 1 ) = π ( ) = π (0011) = 0110 y 3 = π (x 3 y 2 ) = π ( ) = π (0010) = 0100 y 4 = π (x 4 y 3 ) = π ( ) = π (1110) = 1101, insgesamt also der Chiffrestring y = Stromchiffre Die Stromchiffre ist eine Verallgemeinerung der Autokey-Chiffrierung, worin sich neue Schlüsselelemente aus alten Schlüsselelementen und/oder aus alten Klartextelementen ergeben. Es wird ein Schlüsselstrom z 1 z 2... generiert und zur Verschlüsselung des Klartextes x 1 x 2... benutzt: y 1 y 2... = e z1 (x 1 )e z2 (x 2 )... Eine solche Chiffre heißt synchron, wenn sich die neuen Schlüssel z i+1 {z 1,..., z i } ergeben (und nicht aus dem Klartext). allein aus den alten Schlüsseln

24 20 Vorlesungsskript von E. Best / Stand: 18. April 2004 Ein gutes Beispiel für eine nicht-synchrone Chiffre ist die Autokey-Chiffre von Vigenère, die mit einem konstanten Ursprungsschlüssel beginnt, dann aber bereits gesehene Klartextzeichen als Schlüsselzeichen weiterverwendet. Als (weiteres) Beispiel verwenden wir einen einstelligen Initialschlüssel J (d.h., dem Buchstaben mit Code 9 in Z 26 ). Um rendezvous zu verschlüsseln, konvertieren wir diesen Klartext zunächst in Zahlen, erhalten daraus den Schlüsselstrom und addieren modulo 26, um den Chiffretext zu erhalten, den Alice sendet: Klartext: r e n d e z v o u s Klartextcode: Schlüsselstrom: Verschlüsseln: Chiffretext: A V R Q H D U J I M Die dritte Zeile dieser Tabelle entspricht den z 1 z 2... einer Stromchiffre. Wenn Bob den Chiffretext entziffert, verfährt er folgendermaßen: In Kenntnis des initialen Schlüssels 9 dechiffriert er der Reihe nach: x 1 = d 8 (0) = (0 9) mod 26 = 17 = r x 2 = d 17 (21) = (21 17) mod 26 = 4 = e x 2 = d 4 (17) = (17 4) mod 26 = 13 = n. Wir betrachten zuletzt noch eine synchrone Stromchiffre. Dazu betrachten wir wieder ein binäres Alphabet. Dann sind Ver- und Entschlüsselung ( Schieben ) gegeben durch: e z (x) = (x + z) mod 2 d z (y) = (y + z) mod 2 (= (y z) mod 2) was sich in Hardware sehr gut realisieren lässt. Dabei ist z der Schlüssel, der von der gerade betrachteten Stelle des Klartextes und von den bis dahin bereits verwendeten Schlüsseln abhängt. Wichtig ist die Periode einer Stromchiffre, d.h. die kleinste Zahl d, für die z i+d = z i (für alle i 1) gilt. Die (einfache) Vigenère- Chiffre kann als eine (konstante) Stromchiffre mit Periode m aufgefasst werden. Die Kürze dieser Periode hilft bei der Kryptanalyse dieser Chiffre. Durch andere Festsetzungen kann man längere Perioden erreichen. Setzt man zum Beispiel (über einem binären Alphabet) m = 4 und. z i+4 = (z i + z i+1 ) mod 2, (1.4) dann erhält man mit einem initialen Vektor ungleich (0, 0, 0, 0) die Periode 15. Im allgemeinen kann man so bei Blocklänge m eine Periode der Länge 2 m 1 erreichen, also eine exponentiell große Periode und damit eine sehr gute Verschlüsselung. Die Stromchiffre (1.4) lässt sich leicht in Hardware als ein Schieberegister mit m = 4 Elementen realisieren; siehe Abbildung 1.8. Der Vektor (Ursprungsschlüssel) (k 1, k 2, k 3, k 4 ) initialisiert dieses Register. Zu jedem Takt werden bei Verschlüsselung die folgenden Operationen gleichzeitig parallel ausgeführt: k 1 wird als nächstes Element des Schlüsselstroms abgerufen und zur Verschlüsselung verwendet; k 2, k 3, k 4 werden um eine Stelle nach links geschoben; k 4 wird aus der Summe (modulo 2) von k 1 und k 2 (alte Werte) berechnet.

25 Kryptographie - Sommersemester k 1 k 2 k 3 k 4 Abbildung 1.8: Schieberegister zur Chiffre (1.4) (1.4) ist ein spezielles Beispiel für durch lineare Rekurrenzen gebildete Stromchiffren. Mit Blocklänge m ist die allgemeine Form einer solchen Chiffre durch z i+m = m 1 j=0 c j z i+j mod 2, für alle i 1, gegeben. Dabei sind die c 0,..., c m 1 Konstanten aus Z 2 (im Beispiel oben: m = 4, c 0 = 1, c 1 = 1, c 2 = 0, c 3 = 0). O.B.d.A. ist c 0 = 1, denn sonst ginge statt m auch m 1 als Blocklänge; dann heißt m der Grad der Rekurrenz. Der Schlüssel K, der eine Entschlüsselung solchermaßen chiffrierter Texte ermöglicht, hat hier die Länge 2m, denn er besteht aus den m Anfangswerten k 1,..., k m von z 1,..., z m und den Koeffizienten c 0,..., c m 1. Es ist Ziel von Oscar, dem Opponenten, diesen Schlüssel (unbefugterweise) herauszufinden...

Primzahlen und RSA-Verschlüsselung

Primzahlen und RSA-Verschlüsselung Primzahlen und RSA-Verschlüsselung Michael Fütterer und Jonathan Zachhuber 1 Einiges zu Primzahlen Ein paar Definitionen: Wir bezeichnen mit Z die Menge der positiven und negativen ganzen Zahlen, also

Mehr

Einführung in die Algebra

Einführung in die Algebra Prof. Dr. H. Brenner Osnabrück SS 2009 Einführung in die Algebra Vorlesung 13 Einheiten Definition 13.1. Ein Element u in einem Ring R heißt Einheit, wenn es ein Element v R gibt mit uv = vu = 1. DasElementv

Mehr

10. Kryptographie. Was ist Kryptographie?

10. Kryptographie. Was ist Kryptographie? Chr.Nelius: Zahlentheorie (SoSe 2015) 39 10. Kryptographie Was ist Kryptographie? Die Kryptographie handelt von der Verschlüsselung (Chiffrierung) von Nachrichten zum Zwecke der Geheimhaltung und von dem

Mehr

Was bisher geschah Kryptographische Systeme (M, C, K, e, d) Verfahren: symmetrisch klassisch: Verschiebechiffren (Spezialfall Caesar-Code)

Was bisher geschah Kryptographische Systeme (M, C, K, e, d) Verfahren: symmetrisch klassisch: Verschiebechiffren (Spezialfall Caesar-Code) Was bisher geschah Kryptographische Systeme (M, C, K, e, d) Verfahren: symmetrisch klassisch: Verschiebechiffren (Spezialfall Caesar-Code) Multiplikative Chiffren monoalphabetische Substitutions-Chiffren:

Mehr

Kryptographische Systeme (M, C, K, e, d) Symmetrische Verfahren (gleicher Schlüssel zum Verschlüsseln und Entschlüsseln):

Kryptographische Systeme (M, C, K, e, d) Symmetrische Verfahren (gleicher Schlüssel zum Verschlüsseln und Entschlüsseln): Was bisher geschah Kryptographische Systeme (M, C, K, e, d) Symmetrische Verfahren (gleicher Schlüssel zum Verschlüsseln und Entschlüsseln): Substitutions-Chiffren (Permutationschiffren): Ersetzung jedes

Mehr

11. Das RSA Verfahren und andere Verfahren

11. Das RSA Verfahren und andere Verfahren Chr.Nelius: Kryptographie (SS 2011) 31 11. Das RSA Verfahren und andere Verfahren Eine konkrete Realisierung eines Public Key Kryptosystems ist das sog. RSA Verfahren, das im Jahre 1978 von den drei Wissenschaftlern

Mehr

Das RSA-Verschlüsselungsverfahren 1 Christian Vollmer

Das RSA-Verschlüsselungsverfahren 1 Christian Vollmer Das RSA-Verschlüsselungsverfahren 1 Christian Vollmer Allgemein: Das RSA-Verschlüsselungsverfahren ist ein häufig benutztes Verschlüsselungsverfahren, weil es sehr sicher ist. Es gehört zu der Klasse der

Mehr

Modul Diskrete Mathematik WiSe 2011/12

Modul Diskrete Mathematik WiSe 2011/12 1 Modul Diskrete Mathematik WiSe 2011/12 Ergänzungsskript zum Kapitel 4.2. Hinweis: Dieses Manuskript ist nur verständlich und von Nutzen für Personen, die regelmäßig und aktiv die zugehörige Vorlesung

Mehr

Klassische Verschlüsselungsverfahren

Klassische Verschlüsselungsverfahren Klassische Verschlüsselungsverfahren Matthias Rainer 20.11.2007 Inhaltsverzeichnis 1 Grundlagen 2 2 Substitutionschiffren 2 2.1 Monoalphabetische Substitutionen....................... 3 2.1.1 Verschiebechiffren............................

Mehr

Einfache kryptographische Verfahren

Einfache kryptographische Verfahren Einfache kryptographische Verfahren Prof. Dr. Hagen Knaf Studiengang Angewandte Mathematik 26. April 2015 c = a b + a b + + a b 1 11 1 12 2 1n c = a b + a b + + a b 2 21 1 22 2 2n c = a b + a b + + a b

Mehr

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als

Mehr

Verschlüsselung. Kirchstraße 18 Steinfelderstraße 53 76831 Birkweiler 76887 Bad Bergzabern. 12.10.2011 Fabian Simon Bfit09

Verschlüsselung. Kirchstraße 18 Steinfelderstraße 53 76831 Birkweiler 76887 Bad Bergzabern. 12.10.2011 Fabian Simon Bfit09 Verschlüsselung Fabian Simon BBS Südliche Weinstraße Kirchstraße 18 Steinfelderstraße 53 76831 Birkweiler 76887 Bad Bergzabern 12.10.2011 Fabian Simon Bfit09 Inhaltsverzeichnis 1 Warum verschlüsselt man?...3

Mehr

Lenstras Algorithmus für Faktorisierung

Lenstras Algorithmus für Faktorisierung Lenstras Algorithmus für Faktorisierung Bertil Nestorius 9 März 2010 1 Motivation Die schnelle Faktorisierung von Zahlen ist heutzutage ein sehr wichtigen Thema, zb gibt es in der Kryptographie viele weit

Mehr

Der Zwei-Quadrate-Satz von Fermat

Der Zwei-Quadrate-Satz von Fermat Der Zwei-Quadrate-Satz von Fermat Proseminar: Das BUCH der Beweise Fridtjof Schulte Steinberg Institut für Informatik Humboldt-Universität zu Berlin 29.November 2012 1 / 20 Allgemeines Pierre de Fermat

Mehr

Das RSA-Verfahren. Armin Litzel. Proseminar Kryptographische Protokolle SS 2009

Das RSA-Verfahren. Armin Litzel. Proseminar Kryptographische Protokolle SS 2009 Das RSA-Verfahren Armin Litzel Proseminar Kryptographische Protokolle SS 2009 1 Einleitung RSA steht für die drei Namen Ronald L. Rivest, Adi Shamir und Leonard Adleman und bezeichnet ein von diesen Personen

Mehr

monoalphabetisch: Verschiebechiffren (Caesar), multiplikative Chiffren polyalphabetisch: Vigenère-Chiffre

monoalphabetisch: Verschiebechiffren (Caesar), multiplikative Chiffren polyalphabetisch: Vigenère-Chiffre Was bisher geschah Kryptographische Systeme (M, C, K, E, D) Symmetrische Verfahren (gleicher Schlüssel zum Verschlüsseln und Entschlüsseln): Substitutions-Chiffren (Permutationschiffren): Ersetzung jedes

Mehr

12 Kryptologie. ... immer wichtiger. Militär (Geheimhaltung) Telebanking, Elektronisches Geld E-Commerce WWW...

12 Kryptologie. ... immer wichtiger. Militär (Geheimhaltung) Telebanking, Elektronisches Geld E-Commerce WWW... 12 Kryptologie... immer wichtiger Militär (Geheimhaltung) Telebanking, Elektronisches Geld E-Commerce WWW... Kryptologie = Kryptographie + Kryptoanalyse 12.1 Grundlagen 12-2 es gibt keine einfachen Verfahren,

Mehr

6.2 Perfekte Sicherheit

6.2 Perfekte Sicherheit 04 6.2 Perfekte Sicherheit Beweis. H(B AC) + H(A C) = H(ABC) H(AC) + H(AC) H(C) Wegen gilt Einsetzen in die Definition gibt = H(AB C). H(A BC) = H(AB C) H(B C). I(A; B C) = H(A C) H(AB C) + H(B C). Da

Mehr

Fachschaft Mathematik und Informatik (FIM) LA I VORKURS. Herbstsemester 2015. gehalten von Harald Baum

Fachschaft Mathematik und Informatik (FIM) LA I VORKURS. Herbstsemester 2015. gehalten von Harald Baum Fachschaft Mathematik und Informatik (FIM) LA I VORKURS Herbstsemester 2015 gehalten von Harald Baum 2. September 2015 Inhaltsverzeichnis 1. Stichpunkte zur Linearen Algebra I 2. Körper 3. Vektorräume

Mehr

Wie kann man beweisen, dass (H, ) eine Gruppe ist?

Wie kann man beweisen, dass (H, ) eine Gruppe ist? Wie kann man beweisen, dass (H, ) eine Gruppe ist? Wie kann man beweisen, dass (H, ) eine Gruppe ist? (zb wenn die Multiplikation mit Hilfe einer Tabelle gegeben ist) Wie kann man beweisen, dass (H, )

Mehr

1 Kryptosysteme 1 KRYPTOSYSTEME. Definition 1.1 Eine Kryptosystem (P(A), C(B), K, E, D) besteht aus

1 Kryptosysteme 1 KRYPTOSYSTEME. Definition 1.1 Eine Kryptosystem (P(A), C(B), K, E, D) besteht aus 1 RYPTOSYSTEME 1 ryptosysteme Definition 1.1 Eine ryptosystem (P(A), C(B),, E, D) besteht aus einer Menge P von lartexten (plaintext) über einem lartextalphabet A, einer Menge C von Geheimtexten (ciphertext)

Mehr

Mathematik für Informatiker II. Beispiellösungen zur Probeklausur. Aufgabe 1. Aufgabe 2 (5+5 Punkte) Christoph Eisinger Sommersemester 2011

Mathematik für Informatiker II. Beispiellösungen zur Probeklausur. Aufgabe 1. Aufgabe 2 (5+5 Punkte) Christoph Eisinger Sommersemester 2011 Mathematik für Informatiker II Christoph Eisinger Sommersemester 211 Beispiellösungen zur Probeklausur Aufgabe 1 Gegeben sind die Polynome f, g, h K[x]. Zu zeigen: Es gibt genau dann Polynome h 1 und h

Mehr

7 Rechnen mit Polynomen

7 Rechnen mit Polynomen 7 Rechnen mit Polynomen Zu Polynomfunktionen Satz. Zwei Polynomfunktionen und f : R R, x a n x n + a n 1 x n 1 + a 1 x + a 0 g : R R, x b n x n + b n 1 x n 1 + b 1 x + b 0 sind genau dann gleich, wenn

Mehr

1 Mathematische Grundlagen

1 Mathematische Grundlagen Mathematische Grundlagen - 1-1 Mathematische Grundlagen Der Begriff der Menge ist einer der grundlegenden Begriffe in der Mathematik. Mengen dienen dazu, Dinge oder Objekte zu einer Einheit zusammenzufassen.

Mehr

Mathematische Grundlagen der Kryptographie. 1. Ganze Zahlen 2. Kongruenzen und Restklassenringe. Stefan Brandstädter Jennifer Karstens

Mathematische Grundlagen der Kryptographie. 1. Ganze Zahlen 2. Kongruenzen und Restklassenringe. Stefan Brandstädter Jennifer Karstens Mathematische Grundlagen der Kryptographie 1. Ganze Zahlen 2. Kongruenzen und Restklassenringe Stefan Brandstädter Jennifer Karstens 18. Januar 2005 Inhaltsverzeichnis 1 Ganze Zahlen 1 1.1 Grundlagen............................

Mehr

9.2. DER SATZ ÜBER IMPLIZITE FUNKTIONEN 83

9.2. DER SATZ ÜBER IMPLIZITE FUNKTIONEN 83 9.. DER SATZ ÜBER IMPLIZITE FUNKTIONEN 83 Die Grundfrage bei der Anwendung des Satzes über implizite Funktionen betrifft immer die folgende Situation: Wir haben eine Funktion f : V W und eine Stelle x

Mehr

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Zählen und Zahlbereiche Übungsblatt 1 1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Für alle m, n N gilt m + n = n + m. in den Satz umschreiben:

Mehr

Zeichen bei Zahlen entschlüsseln

Zeichen bei Zahlen entschlüsseln Zeichen bei Zahlen entschlüsseln In diesem Kapitel... Verwendung des Zahlenstrahls Absolut richtige Bestimmung von absoluten Werten Operationen bei Zahlen mit Vorzeichen: Addieren, Subtrahieren, Multiplizieren

Mehr

Professionelle Seminare im Bereich MS-Office

Professionelle Seminare im Bereich MS-Office Der Name BEREICH.VERSCHIEBEN() ist etwas unglücklich gewählt. Man kann mit der Funktion Bereiche zwar verschieben, man kann Bereiche aber auch verkleinern oder vergrößern. Besser wäre es, die Funktion

Mehr

Division Für diesen Abschnitt setzen wir voraus, dass der Koeffizientenring ein Körper ist. Betrachte das Schema

Division Für diesen Abschnitt setzen wir voraus, dass der Koeffizientenring ein Körper ist. Betrachte das Schema Division Für diesen Abschnitt setzen wir voraus, dass der Koeffizientenring ein Körper ist. Betrachte das Schema 2x 4 + x 3 + x + 3 div x 2 + x 1 = 2x 2 x + 3 (2x 4 + 2x 3 2x 2 ) x 3 + 2x 2 + x + 3 ( x

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 15: Reguläre Ausdrücke und rechtslineare Grammatiken Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009 1/25 Was kann man mit endlichen

Mehr

7. Ringe und Körper. 7. Ringe und Körper 49

7. Ringe und Körper. 7. Ringe und Körper 49 7. Ringe und Körper 49 7. Ringe und Körper In den bisherigen Kapiteln haben wir nur Gruppen, also insbesondere nur Mengen mit lediglich einer Verknüpfung, untersucht. In der Praxis gibt es aber natürlich

Mehr

8. Quadratische Reste. Reziprozitätsgesetz

8. Quadratische Reste. Reziprozitätsgesetz O Forster: Prizahlen 8 Quadratische Reste Rezirozitätsgesetz 81 Definition Sei eine natürliche Zahl 2 Eine ganze Zahl a heißt uadratischer Rest odulo (Abkürzung QR, falls die Kongruenz x 2 a od eine Lösung

Mehr

3. Zusammenhang. 22 Andreas Gathmann

3. Zusammenhang. 22 Andreas Gathmann 22 Andreas Gathmann 3. Zusammenhang Eine der anschaulichsten Eigenschaften eines topologischen Raumes ist wahrscheinlich, ob er zusammenhängend ist oder aus mehreren Teilen besteht. Wir wollen dieses Konzept

Mehr

Lösungsvorschlag für die Probeklausuren und Klausuren zu Algebra für Informations- und Kommunikationstechniker bei Prof. Dr.

Lösungsvorschlag für die Probeklausuren und Klausuren zu Algebra für Informations- und Kommunikationstechniker bei Prof. Dr. Lösungsvorschlag für die Probeklausuren und Klausuren zu Algebra für Informations- und Kommunikationstechniker bei Prof. Dr. Kurzweil Florian Franzmann André Diehl Kompiliert am 10. April 2006 um 18:33

Mehr

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse 11 13. 501322 Lösung 10 Punkte

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse 11 13. 501322 Lösung 10 Punkte 50. Mathematik-Olympiade. Stufe (Regionalrunde) Klasse 3 Lösungen c 00 Aufgabenausschuss des Mathematik-Olympiaden e.v. www.mathematik-olympiaden.de. Alle Rechte vorbehalten. 503 Lösung 0 Punkte Es seien

Mehr

Musterlösungen zur Linearen Algebra II Blatt 5

Musterlösungen zur Linearen Algebra II Blatt 5 Musterlösungen zur Linearen Algebra II Blatt 5 Aufgabe. Man betrachte die Matrix A := über dem Körper R und über dem Körper F und bestimme jeweils die Jordan- Normalform. Beweis. Das charakteristische

Mehr

Basis und Dimension. Als nächstes wollen wir die wichtigen Begriffe Erzeugendensystem und Basis eines Vektorraums definieren.

Basis und Dimension. Als nächstes wollen wir die wichtigen Begriffe Erzeugendensystem und Basis eines Vektorraums definieren. Basis und Dimension Als nächstes wollen wir die wichtigen Begriffe Erzeugendensystem und Basis eines Vektorraums definieren. Definition. Sei V ein K-Vektorraum und (v i ) i I eine Familie von Vektoren

Mehr

3.1. Die komplexen Zahlen

3.1. Die komplexen Zahlen 3.1. Die komplexen Zahlen Es gibt viele Wege, um komplexe Zahlen einzuführen. Wir gehen hier den wohl einfachsten, indem wir C R als komplexe Zahlenebene und die Punkte dieser Ebene als komplexe Zahlen

Mehr

Lineare Gleichungssysteme

Lineare Gleichungssysteme Lineare Gleichungssysteme 1 Zwei Gleichungen mit zwei Unbekannten Es kommt häufig vor, dass man nicht mit einer Variablen alleine auskommt, um ein Problem zu lösen. Das folgende Beispiel soll dies verdeutlichen

Mehr

Grundbegriffe der Kryptographie

Grundbegriffe der Kryptographie Grundbegriffe der Kryptographie Vorlesungsskript von Eike Best April 2004 - Mai 2005 Oldenburg, Mai 2005 E. Best Das Skript wird ständig gepflegt. Wenn Ihnen beim Lesen Fehler auffallen, schicken Sie bitte

Mehr

27. Algorithmus der Woche Public-Key-Kryptographie Verschlüsseln mit öffentlichen Schlüsseln

27. Algorithmus der Woche Public-Key-Kryptographie Verschlüsseln mit öffentlichen Schlüsseln 27. Algorithmus der Woche Public-Key-Kryptographie Verschlüsseln mit öffentlichen Schlüsseln Autor Dirk Bongartz, RWTH Aachen Walter Unger, RWTH Aachen Wer wollte nicht schon mal eine Geheimnachricht übermitteln?

Mehr

Kapitel 3: Etwas Informationstheorie

Kapitel 3: Etwas Informationstheorie Stefan Lucks 3: Informationstheorie 28 orlesung Kryptographie (SS06) Kapitel 3: Etwas Informationstheorie Komplexitätstheoretische Sicherheit: Der schnellste Algorithmus, K zu knacken erfordert mindestens

Mehr

RSA Verfahren. Kapitel 7 p. 103

RSA Verfahren. Kapitel 7 p. 103 RSA Verfahren RSA benannt nach den Erfindern Ron Rivest, Adi Shamir und Leonard Adleman war das erste Public-Key Verschlüsselungsverfahren. Sicherheit hängt eng mit der Schwierigkeit zusammen, große Zahlen

Mehr

Computeralgebra in der Lehre am Beispiel Kryptografie

Computeralgebra in der Lehre am Beispiel Kryptografie Kryptografie Grundlagen RSA KASH Computeralgebra in der Lehre am Beispiel Kryptografie Institut für Mathematik Technische Universität Berlin Kryptografie Grundlagen RSA KASH Überblick Kryptografie mit

Mehr

10. Public-Key Kryptographie

10. Public-Key Kryptographie Stefan Lucks 10. PK-Krypto 274 orlesung Kryptographie (SS06) 10. Public-Key Kryptographie Analyse der Sicherheit von PK Kryptosystemen: Angreifer kennt öffentlichen Schlüssel Chosen Plaintext Angriffe

Mehr

Schutz von Informationen bei Übertragung über unsichere Kanäle Beispiele für zu schützende Informationen

Schutz von Informationen bei Übertragung über unsichere Kanäle Beispiele für zu schützende Informationen Kryptographie Motivation Schutz von Informationen bei Übertragung über unsichere Kanäle Beispiele für zu schützende Informationen Geheimzahlen (Geldkarten, Mobiltelefon) Zugriffsdaten (Login-Daten, Passwörter)

Mehr

Zusatztutorium, 25.01.2013

Zusatztutorium, 25.01.2013 Zusatztutorium, 25.01.2013 David Müßig muessig[at]mi.fu-berlin.de http://page.mi.fu-berlin.de/def/tutorium/ WiSe 12/13 1 Der Homomorphiesatz Der Homomorphiesatz scheint für viele eine Art rotes Tuch zu

Mehr

Austausch- bzw. Übergangsprozesse und Gleichgewichtsverteilungen

Austausch- bzw. Übergangsprozesse und Gleichgewichtsverteilungen Austausch- bzw. Übergangsrozesse und Gleichgewichtsverteilungen Wir betrachten ein System mit verschiedenen Zuständen, zwischen denen ein Austausch stattfinden kann. Etwa soziale Schichten in einer Gesellschaft:

Mehr

Rekursionen. Georg Anegg 25. November 2009. Methoden und Techniken an Beispielen erklärt

Rekursionen. Georg Anegg 25. November 2009. Methoden und Techniken an Beispielen erklärt Methoden und Techniken an Beispielen erklärt Georg Anegg 5. November 009 Beispiel. Die Folge {a n } sei wie folgt definiert (a, d, q R, q ): a 0 a, a n+ a n q + d (n 0) Man bestimme eine explizite Darstellung

Mehr

Digitale Signaturen. Sven Tabbert

Digitale Signaturen. Sven Tabbert Digitale Signaturen Sven Tabbert Inhalt: Digitale Signaturen 1. Einleitung 2. Erzeugung Digitaler Signaturen 3. Signaturen und Einweg Hashfunktionen 4. Digital Signature Algorithmus 5. Zusammenfassung

Mehr

Mathematik: Mag. Schmid Wolfgang Arbeitsblatt 3 1. Semester ARBEITSBLATT 3 RECHNEN MIT GANZEN ZAHLEN

Mathematik: Mag. Schmid Wolfgang Arbeitsblatt 3 1. Semester ARBEITSBLATT 3 RECHNEN MIT GANZEN ZAHLEN ARBEITSBLATT 3 RECHNEN MIT GANZEN ZAHLEN Wir wollen nun die Rechengesetze der natürlichen Zahlen auf die Zahlenmenge der ganzen Zahlen erweitern und zwar so, dass sie zu keinem Widerspruch mit bisher geltenden

Mehr

Die Gleichung A x = a hat für A 0 die eindeutig bestimmte Lösung. Für A=0 und a 0 existiert keine Lösung.

Die Gleichung A x = a hat für A 0 die eindeutig bestimmte Lösung. Für A=0 und a 0 existiert keine Lösung. Lineare Gleichungen mit einer Unbekannten Die Grundform der linearen Gleichung mit einer Unbekannten x lautet A x = a Dabei sind A, a reelle Zahlen. Die Gleichung lösen heißt, alle reellen Zahlen anzugeben,

Mehr

3.3 Eigenwerte und Eigenräume, Diagonalisierung

3.3 Eigenwerte und Eigenräume, Diagonalisierung 3.3 Eigenwerte und Eigenräume, Diagonalisierung Definition und Lemma 3.3.1. Sei V ein K-Vektorraum, φ End K (V ), λ K. Wir defnieren den zu λ gehörigen Eigenraum von φ als Dies ist ein Unterraum von V.

Mehr

Vorlesung Diskrete Strukturen Graphen: Wieviele Bäume?

Vorlesung Diskrete Strukturen Graphen: Wieviele Bäume? Vorlesung Diskrete Strukturen Graphen: Wieviele Bäume? Bernhard Ganter Institut für Algebra TU Dresden D-01062 Dresden bernhard.ganter@tu-dresden.de WS 2013/14 Isomorphie Zwei Graphen (V 1, E 1 ) und (V

Mehr

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes.

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes. Binäre Bäume Definition: Ein binärer Baum T besteht aus einer Menge von Knoten, die durch eine Vater-Kind-Beziehung wie folgt strukturiert ist: 1. Es gibt genau einen hervorgehobenen Knoten r T, die Wurzel

Mehr

Matrizennorm. Definition 1. Sei A M r,s (R). Dann heißt A := sup die Matrixnorm. Wir wissen zunächst nicht, ob A eine reelle Zahl ist.

Matrizennorm. Definition 1. Sei A M r,s (R). Dann heißt A := sup die Matrixnorm. Wir wissen zunächst nicht, ob A eine reelle Zahl ist. Matrizennorm Es seien r,s N Mit M r,s (R bezeichnen wir die Menge der reellen r s- Matrizen (also der linearen Abbildungen R s R r, und setze M s (R := M s,s (R (also die Menge der linearen Abbildungen

Mehr

Kryptographische Systeme (M, C, K, E, D) Symmetrische Verfahren (gleicher Schlüssel zum Verschlüsseln und Entschlüsseln):

Kryptographische Systeme (M, C, K, E, D) Symmetrische Verfahren (gleicher Schlüssel zum Verschlüsseln und Entschlüsseln): Was bisher geschah Kryptographische Systeme (M, C, K, E, D) Symmetrische Verfahren (gleicher Schlüssel zum Verschlüsseln und Entschlüsseln): Substitutions-Chiffren (Permutationschiffren): Ersetzung jedes

Mehr

x 2 2x + = 3 + Es gibt genau ein x R mit ax + b = 0, denn es gilt

x 2 2x + = 3 + Es gibt genau ein x R mit ax + b = 0, denn es gilt - 17 - Die Frage ist hier also: Für welche x R gilt x = x + 1? Das ist eine quadratische Gleichung für x. Es gilt x = x + 1 x x 3 = 0, und man kann quadratische Ergänzung machen:... ( ) ( ) x x + = 3 +

Mehr

Leseprobe. Wolfgang Ertel. Angewandte Kryptographie. ISBN (Buch): 978-3-446-42756-3. ISBN (E-Book): 978-3-446-43196-6

Leseprobe. Wolfgang Ertel. Angewandte Kryptographie. ISBN (Buch): 978-3-446-42756-3. ISBN (E-Book): 978-3-446-43196-6 Leseprobe Wolfgang Ertel Angewandte Kryptographie ISBN (Buch): 978-3-446-42756-3 ISBN (E-Book): 978-3-446-43196-6 Weitere Informationen oder Bestellungen unter http://www.hanser-fachbuch.de/978-3-446-42756-3

Mehr

Zahlen und das Hüten von Geheimnissen (G. Wiese, 23. April 2009)

Zahlen und das Hüten von Geheimnissen (G. Wiese, 23. April 2009) Zahlen und das Hüten von Geheimnissen (G. Wiese, 23. April 2009) Probleme unseres Alltags E-Mails lesen: Niemand außer mir soll meine Mails lesen! Geld abheben mit der EC-Karte: Niemand außer mir soll

Mehr

Seminar Kryptographie und Datensicherheit

Seminar Kryptographie und Datensicherheit Seminar Kryptographie und Datensicherheit Einfache Kryptosysteme und ihre Analyse Christoph Kreitz 1. Grundlagen von Kryptosystemen 2. Buchstabenorientierte Systeme 3. Blockbasierte Verschlüsselung 4.

Mehr

Weiterbildung und Zusatzausbildung der PHZ Luzern Interessantes und Spannendes aus der Welt der Mathematik September 2006, Dieter Ortner

Weiterbildung und Zusatzausbildung der PHZ Luzern Interessantes und Spannendes aus der Welt der Mathematik September 2006, Dieter Ortner Weiterbildung und Zusatzausbildung der PHZ Luzern Interessantes und Spannendes aus der Welt der Mathematik September 2006, Dieter Ortner Rechengesetze 1. Rechengesetze für natürliche Zahlen Es geht um

Mehr

Einführung. Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Vorlesungen zur Komplexitätstheorie. K-Vollständigkeit (1/5)

Einführung. Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Vorlesungen zur Komplexitätstheorie. K-Vollständigkeit (1/5) Einführung 3 Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Univ.-Prof. Dr. Christoph Meinel Hasso-Plattner-Institut Universität Potsdam, Deutschland Hatten den Reduktionsbegriff

Mehr

Also kann nur A ist roter Südler und B ist grüner Nordler gelten.

Also kann nur A ist roter Südler und B ist grüner Nordler gelten. Aufgabe 1.1: (4 Punkte) Der Planet Og wird von zwei verschiedenen Rassen bewohnt - dem grünen und dem roten Volk. Desweiteren sind die Leute, die auf der nördlichen Halbkugel geboren wurden von denen auf

Mehr

Algebra. Patrik Hubschmid. 8. Oktober 2013

Algebra. Patrik Hubschmid. 8. Oktober 2013 Algebra Patrik Hubschmid 8. Oktober 2013 Inhaltsverzeichnis 1 Fortführung der Gruppentheorie 7 1.1 Sylowsätze.................................... 7 3 Vorwort Dieses Skript zur Vorlesung Algebra im Wintersemester

Mehr

Informationsblatt Induktionsbeweis

Informationsblatt Induktionsbeweis Sommer 015 Informationsblatt Induktionsbeweis 31. März 015 Motivation Die vollständige Induktion ist ein wichtiges Beweisverfahren in der Informatik. Sie wird häufig dazu gebraucht, um mathematische Formeln

Mehr

Eigenwerte und Eigenvektoren von Matrizen

Eigenwerte und Eigenvektoren von Matrizen Eigenwerte und Eigenvektoren von Matrizen Das Eigenwertproblem Sei A eine quadratische Matrix vom Typ m,m. Die Aufgabe, eine Zahl λ und einen dazugehörigen Vektor x zu finden, damit Ax = λx ist, nennt

Mehr

2: Zahlentheorie / Restklassen 2.1: Modulare Arithmetik

2: Zahlentheorie / Restklassen 2.1: Modulare Arithmetik Stefan Lucks Diskrete Strukturen (WS 2009/10) 57 2: Zahlentheorie / Restklassen 2.1: Modulare Arithmetik Uhr: Stunden mod 24, Minuten mod 60, Sekunden mod 60,... Rechnerarithmetik: mod 2 w, w {8, 16, 32,

Mehr

5. Übung zum G8-Vorkurs Mathematik (WiSe 2011/12)

5. Übung zum G8-Vorkurs Mathematik (WiSe 2011/12) Technische Universität München Zentrum Mathematik PD Dr. hristian Karpfinger http://www.ma.tum.de/mathematik/g8vorkurs 5. Übung zum G8-Vorkurs Mathematik (WiSe 2011/12) Aufgabe 5.1: In einer Implementierung

Mehr

Grundlagen der Theoretischen Informatik, SoSe 2008

Grundlagen der Theoretischen Informatik, SoSe 2008 1. Aufgabenblatt zur Vorlesung Grundlagen der Theoretischen Informatik, SoSe 2008 (Dr. Frank Hoffmann) Lösung von Manuel Jain und Benjamin Bortfeldt Aufgabe 2 Zustandsdiagramme (6 Punkte, wird korrigiert)

Mehr

4. Übungsblatt Matrikelnr.: 6423043

4. Übungsblatt Matrikelnr.: 6423043 Lineare Algebra I 1. Name: Bleeck, Christian 4. Übungsblatt Matrikelnr.: 6423043 Abgabe: 15.11.06 12 Uhr (Kasten D1 320) Übungsgruppe: 03 Patrick Schützdeller 2. Name: Niemann, Philipp Matrikelnr.: 6388613

Mehr

Codierungstheorie Rudolf Scharlau, SoSe 2006 9

Codierungstheorie Rudolf Scharlau, SoSe 2006 9 Codierungstheorie Rudolf Scharlau, SoSe 2006 9 2 Optimale Codes Optimalität bezieht sich auf eine gegebene Quelle, d.h. eine Wahrscheinlichkeitsverteilung auf den Symbolen s 1,..., s q des Quellalphabets

Mehr

Codierungsverfahren SS 2011. Reed-Solomon-Codes zur Mehrblock-Bündelfehler-Korrektur

Codierungsverfahren SS 2011. Reed-Solomon-Codes zur Mehrblock-Bündelfehler-Korrektur Reed-Solomon-Codes zur Mehrblock-Bündelfehler-Korrektur Wie die zyklischen BCH-Codes zur Mehrbitfehler-Korrektur eignen sich auch die sehr verwandten Reed-Solomon-Codes (= RS-Codes) zur Mehrbitfehler-Korrektur.

Mehr

Kryptographie mit elliptischen Kurven

Kryptographie mit elliptischen Kurven Kryptographie mit elliptischen Kurven Gabor Wiese Universität Regensburg Kryptographie mit elliptischen Kurven p. 1 Problemstellung Kryptographie mit elliptischen Kurven p. 2 Problemstellung Caesar Kryptographie

Mehr

Einführung in die Vektor- und Matrizenrechnung. Matrizen

Einführung in die Vektor- und Matrizenrechnung. Matrizen Einführung in die Vektor- und Matrizenrechnung Matrizen Definition einer Matrix Unter einer (reellen) m x n Matrix A versteht man ein rechteckiges Schema aus reellen Zahlen, die wie folgt angeordnet sind:

Mehr

Exkurs Kryptographie

Exkurs Kryptographie Exkurs Kryptographie Am Anfang Konventionelle Krytographie Julius Cäsar mißtraute seinen Boten Ersetzen der Buchstaben einer Nachricht durch den dritten folgenden im Alphabet z. B. ABCDEFGHIJKLMNOPQRSTUVWXYZ

Mehr

RSA-Verschlüsselung. Verfahren zur Erzeugung der beiden Schlüssel:

RSA-Verschlüsselung. Verfahren zur Erzeugung der beiden Schlüssel: RSA-Verschlüsselung Das RSA-Verfahren ist ein asymmetrisches Verschlüsselungsverfahren, das nach seinen Erfindern Ronald Linn Rivest, Adi Shamir und Leonard Adlemann benannt ist. RSA verwendet ein Schlüsselpaar

Mehr

Kapiteltests zum Leitprogramm Binäre Suchbäume

Kapiteltests zum Leitprogramm Binäre Suchbäume Kapiteltests zum Leitprogramm Binäre Suchbäume Björn Steffen Timur Erdag überarbeitet von Christina Class Binäre Suchbäume Kapiteltests für das ETH-Leitprogramm Adressaten und Institutionen Das Leitprogramm

Mehr

WS 2008/09. Diskrete Strukturen

WS 2008/09. Diskrete Strukturen WS 2008/09 Diskrete Strukturen Prof. Dr. J. Esparza Lehrstuhl für Grundlagen der Softwarezuverlässigkeit und theoretische Informatik Fakultät für Informatik Technische Universität München http://www7.in.tum.de/um/courses/ds/ws0809

Mehr

DES der vergangene Standard für Bitblock-Chiffren

DES der vergangene Standard für Bitblock-Chiffren DES der vergangene Standard für Bitblock-Chiffren Klaus Pommerening Fachbereich Mathematik der Johannes-Gutenberg-Universität Saarstraße 1 D-55099 Mainz Vorlesung Kryptologie 1. März 1991, letzte Änderung:

Mehr

Theoretische Grundlagen der Informatik WS 09/10

Theoretische Grundlagen der Informatik WS 09/10 Theoretische Grundlagen der Informatik WS 09/10 - Tutorium 6 - Michael Kirsten und Kai Wallisch Sitzung 13 02.02.2010 Inhaltsverzeichnis 1 Formeln zur Berechnung Aufgabe 1 2 Hamming-Distanz Aufgabe 2 3

Mehr

7 Die Determinante einer Matrix

7 Die Determinante einer Matrix 7 Die Determinante einer Matrix ( ) a11 a Die Determinante einer 2 2 Matrix A = 12 ist erklärt als a 21 a 22 det A := a 11 a 22 a 12 a 21 Es ist S 2 = { id, τ}, τ = (1, 2) und sign (id) = 1, sign (τ) =

Mehr

Informationssicherheit - Lösung Blatt 2

Informationssicherheit - Lösung Blatt 2 Informationssicherheit - Lösung Blatt 2 Adam Glodek adam.glodek@gmail.com 13.04.2010 1 1 Aufgabe 1: One Time Pad 1.1 Aufgabenstellung Gegeben ist der folgende Klartext 12Uhr (ASCII). Verschlüsseln Sie

Mehr

Lineare Gleichungssysteme

Lineare Gleichungssysteme Brückenkurs Mathematik TU Dresden 2015 Lineare Gleichungssysteme Schwerpunkte: Modellbildung geometrische Interpretation Lösungsmethoden Prof. Dr. F. Schuricht TU Dresden, Fachbereich Mathematik auf der

Mehr

Seminar zum Thema Kryptographie

Seminar zum Thema Kryptographie Seminar zum Thema Kryptographie Michael Hampton 11. Mai 2017 Inhaltsverzeichnis 1 Einleitung 3 1.1 Konventionen.................................. 3 1.2 Wiederholung.................................. 3

Mehr

Verschlüsselung. Chiffrat. Eve

Verschlüsselung. Chiffrat. Eve Das RSA Verfahren Verschlüsselung m Chiffrat m k k Eve? Verschlüsselung m Chiffrat m k k Eve? Aber wie verteilt man die Schlüssel? Die Mafia-Methode Sender Empfänger Der Sender verwendet keine Verschlüsselung

Mehr

Übung zur Algebra WiSe 2008/2009, Blatt 1

Übung zur Algebra WiSe 2008/2009, Blatt 1 Aufgabe 1: Zeigen Sie, dass die Untergruppe der Permutationsmatrizen in GL(n, R) isomorph zur symmetrischen Gruppe S n ist. Es sei Perm n die Menge der Permutationsmatrizen in GL(n, R). Der Isomorphismus

Mehr

Erinnerung/Zusammenfassung zu Abbildungsmatrizen

Erinnerung/Zusammenfassung zu Abbildungsmatrizen Erinnerung/Zusammenfassung zu Abbildungsmatrizen Thomas Coutandin (cthomas@student.ethz.ch) 7. November 2 Abbildungsmatrizen Im Folgenden betrachten wir stets endlich dimensionale K-Vektorräume (K irgend

Mehr

Kapitel 4. Euklidische Ringe und die Jordansche Normalform. 4.1 Euklidische Ringe

Kapitel 4. Euklidische Ringe und die Jordansche Normalform. 4.1 Euklidische Ringe Kapitel 4 Euklidische Ringe und die Jordansche Normalform 4.1 Euklidische Ringe Die Ringe der ganzen Zahlen, Z, sowie Polynomringe über Körpern, K[X], wobei K ein Körper ist, haben die folgenden Gemeinsamheiten:

Mehr

2 Die Darstellung linearer Abbildungen durch Matrizen

2 Die Darstellung linearer Abbildungen durch Matrizen 2 Die Darstellung linearer Abbildungen durch Matrizen V und V seien Vektorräume über einem Körper K. Hom K (V, V ) bezeichnet die Menge der K linearen Abbildungen von V nach V. Wir machen Hom K (V, V )

Mehr

Beispiellösungen zu Blatt 111

Beispiellösungen zu Blatt 111 µ κ Mathematisches Institut Georg-August-Universität Göttingen Beispiellösungen zu Blatt 111 Aufgabe 1 Ludwigshafen hat einen Bahnhof in Dreiecksform. Markus, Sabine und Wilhelm beobachten den Zugverkehr

Mehr

Asymmetrische. Verschlüsselungsverfahren. erarbeitet von: Emilia Winkler Christian-Weise-Gymnasium Zittau

Asymmetrische. Verschlüsselungsverfahren. erarbeitet von: Emilia Winkler Christian-Weise-Gymnasium Zittau Asymmetrische Verschlü erarbeitet von: Emilia Winkler Christian-Weise-Gymnasium Zittau Gliederung 1) Prinzip der asymmetrischen Verschlü 2) Vergleich mit den symmetrischen Verschlü (Vor- und Nachteile)

Mehr

Programmiersprachen und Übersetzer

Programmiersprachen und Übersetzer Programmiersprachen und Übersetzer Sommersemester 2010 19. April 2010 Theoretische Grundlagen Problem Wie kann man eine unendliche Menge von (syntaktisch) korrekten Programmen definieren? Lösung Wie auch

Mehr

Motivation. Formale Grundlagen der Informatik 1 Kapitel 5 Kontextfreie Sprachen. Informales Beispiel. Informales Beispiel.

Motivation. Formale Grundlagen der Informatik 1 Kapitel 5 Kontextfreie Sprachen. Informales Beispiel. Informales Beispiel. Kontextfreie Kontextfreie Motivation Formale rundlagen der Informatik 1 Kapitel 5 Kontextfreie Sprachen Bisher hatten wir Automaten, die Wörter akzeptieren Frank Heitmann heitmann@informatik.uni-hamburg.de

Mehr

Beweisbar sichere Verschlüsselung

Beweisbar sichere Verschlüsselung Beweisbar sichere Verschlüsselung ITS-Wahlpflichtvorlesung Dr. Bodo Möller Ruhr-Universität Bochum Horst-Görtz-Institut für IT-Sicherheit Lehrstuhl für Kommunikationssicherheit bmoeller@crypto.rub.de 6

Mehr

Frohe Weihnachten und ein gutes neues Jahr!

Frohe Weihnachten und ein gutes neues Jahr! Frohe Weihnachten und ein gutes neues Jahr! Die mit dem Stern * gekennzeichneten Übungen sind nicht verpflichtend, aber sie liefern zusätzliche Punkte. Unten wird immer mit I das reelle Intervall [0, 1]

Mehr

6.2 Scan-Konvertierung (Scan Conversion)

6.2 Scan-Konvertierung (Scan Conversion) 6.2 Scan-Konvertierung (Scan Conversion) Scan-Konvertierung ist die Rasterung von einfachen Objekten (Geraden, Kreisen, Kurven). Als Ausgabemedium dient meist der Bildschirm, der aus einem Pixelraster

Mehr

Die reellen Lösungen der kubischen Gleichung

Die reellen Lösungen der kubischen Gleichung Die reellen Lösungen der kubischen Gleichung Klaus-R. Löffler Inhaltsverzeichnis 1 Einfach zu behandelnde Sonderfälle 1 2 Die ganzrationale Funktion dritten Grades 2 2.1 Reduktion...........................................

Mehr

Definition:Eine meromorphe Modulform vom Gewicht k Z ist eine meromorphe. f : H C. (ii) C > 0, so daß f(z) im Bereich Im z > C keine Singularität hat.

Definition:Eine meromorphe Modulform vom Gewicht k Z ist eine meromorphe. f : H C. (ii) C > 0, so daß f(z) im Bereich Im z > C keine Singularität hat. Die k/2 - Formel von Renate Vistorin Zentrales Thema dieses Vortrages ist die k/2 - Formel für meromorphe Modulformen als eine Konsequenz des Residuensatzes. Als Folgerungen werden danach einige Eigenschaften

Mehr