Client/Server-Systeme Prof. Dr.-Ing. Wilhelm G. Spruth WS 2007/2008 Teil 4 Verschlüsselung, Kryptographie cs 0407 ww6 wgs 09-96 Aufgaben der Darstellungsschicht (presentation Layer, Schicht 6) • Einheitliche Datenstrukturen • Datenkomprimierung • Verschlüsselung • Authentifizierung • Sicherheit • Namens/Directory - Dienste • Zeitdienste cs 0416u ww6 wgs 07-99 Kryptographische Verfahren (1) Zwei Kern-Anwendungen • Geheimhaltung und Integrität von Daten • Authentifizierung Benutzer (Digitale Unterschriften) Nachrichten Zwei Verfahren • Symmetrische Verfahren Beispiele: DES (Data Encryption Standard), IDEA, Blowfish, RC4, Rijndael AES (Advanced Encryption Standard) • Asymetrische Verfahren Beispiel: RSA cs0511 ww6 wgs 09-98 Kryptographische Verfahren (2) Es sei M Ke Kd E D C = = = = = = Nachricht (Klartext, Plaintext) Schlüssel für Verschlüsselung Schlüssel für Entschlüsselung Chiffrieralgorithmus Dechiffrieralgorithmus Verschlüsselte Nachricht (Ciphertext) Dann sei EKe eine Funktion von E und KeE C = EKe (M) und M = DKd (C) mit DKd (C) = DKd (EKe (M)) ; Sender D ist die Inverse zu E Empfänger Ke Kd C = EKe (M) M E D M Algorithmen E und D sind öffentlich (allgemein bekannt), Ke und Kd werden geheim gehalten. cs0510 ww6 wgs 09-98 Symmetrische Verfahren Sender M Unsicherer Übertragungs kanal Encryption Empfänger Decryption M C = EK (M) M = DK (C) K K Sicherer Übertragungskanal Verschlüsselung und Entschlüsselung mit identischem Schlüssel K : K = Ke = Kd Problem: Der Schlüssel K muß über einen sicheren Kanal ausgetauscht werden Beispiele: DES (Data Encryption Standard), Triple DES, IDEA Blowfish, Rijndael AES (Advanced Encryption Standard) cs0512 ww6 wgs 09-98 Substition und Transposition Eine Substitionschiffre erhält die Reihenfolge der Symbole im Plaintext, verschlüsselt aber jedes einzelne Symbol. Eine Transpositionschiffre verändert die Reihenfolge der Symbole, verschlüsselt sie aber nicht. css0506 ww6 wgs 10-96 Caesar Chiffre Julius Caesar « De Bello Gallico » a → d b → e a t t a c k c → . . . → f d w w d f n z c Monoalphabetische Substitution Im Gegensatz zur Caesar Chiffre hat das Substitutionsalphabet eine irreguläre Reihenfolge: abcdefghijklmnopqrstuvwxyz qwertyuiopasdfghjklzxcvbnm a t t a c k q z z q e a 26 ! = 4 x 1026 mögliche Chiffren cs 0513 ww6 wgs 06-94 A abcdefg ⋅⋅⋅⋅⋅⋅⋅ xyz B bcdefgh ⋅⋅⋅⋅⋅⋅⋅ yza C cdefghi ⋅⋅⋅⋅⋅⋅⋅ zab D ⋅ ⋅ ⋅ ⋅ Y defghij yzabcde ⋅⋅⋅⋅⋅⋅⋅ abc ⋅ ⋅ ⋅ ⋅ ⋅⋅⋅⋅⋅⋅⋅ vwx Z zabcdef ⋅⋅⋅⋅⋅⋅⋅ wxy Vigenère Chiffre Polyalphabetische Chiffre Die Vigenère Chiffre ist ein Beispiel einer polyalphabetischen Substitutionschiffre. Es wird eine Matrix mit 26 Caesar Alphabeten gebildet. Jede Spalte wird durch einen Buchstaben gekennzeichnet. Z.B. besagt Spalte C, daß ein Buchstabe um 2 Zeichen transponiert wird. Spalte O besagt, daß ein Buchstabe um 14 Zeichen transponiert wird cs 0514 ww6 wgs 05-96 Zeile s , um 19 Zeichen verschieben Zeile c , um 3 Zeichen verschieben Zeile h , um 8 Zeichen verschieben Zeile i , um 9 Zeichen verschieben schickardschickardschickardschickardschickard viertausendundsiebenhundertdreiundachtzig olmaw.................................... Polyalphabetische Chiffre für jeden Buchstaben des Schlüssels ein anderer Cäsar Chiffre Brechen der Chiffre, angenommen, es ist genügend viel Geheimtext verfügbar: Länge des Schlüssels raten, z.B. = k. Geheimtext in Zeilen der Länge k Buchstaben untereinander anordnen. Wenn richtig geraten, sind alle Spalten mit dem gleichen monoalphabetischen Schlüssel verschlüsselt. Die Häufigkeitsverteilung sollte stimmen, z. B. e = 14,5 % . cs 0543u ww6 wgs 09-99 Megabuck Schlüssel 74512836 Reihenfolge pleasetr ansferon emillion dollarst omyswiss bankacco untsixtw otwoabcd Klartext: pleasetransferonemilliondollarst omyswissbankaccountsixtwotwoabcd Geheimtext AFLLSKSOSELAWAIATOOSSCTCLNMOMANT ESILYNTWRNNTSOWDPAEDOBUOERIRICXB Transpositionschiffre Spaltentransposition Spalte 1 wird zuerst übertragen, dann Spalte 2, usw. cs 0545u ww6 wgs 09-99 Nachricht Länge n 01100 10001 1001... Exclusive Oder Schaltkreis Ciffrierte Nachricht Länge n 11000 01000 0011... =1 A B =1 C exclusive-oder Zufallszahlenfolge Länge n 10100 11001 1010... A B C 0 0 1 1 0 1 0 1 0 1 1 0 Nicht brechbarer Code Vernam Chiffre, Einmalschlüssel, One-Time-Pad Plaintext Keystream XOR Ciphertext Keystream XOR Plaintext 1 0 1 0 1 0 1 1 1 0 0 0 0 0 0 1 1 0 1 1 0 1 1 1 0 1 0 1 0 1 1 1 0 1 1 Nicht brechbarer Code Vernam Chiffre, Einmalschlüssel, One-Time-Pad Die einzige bekannte Verschlüsselung mit absoluter Sicherheit ist ein symmetrisches Verfahren. Klartextund Schlüsselbits werden durch ein Exklusiv-Oder verknüpft. Die Sicherheit beruht auf der Zufälligkeit des Schlüssels, der mindestens genauso lang sein muss wie der Klartext und nur ein einziges Mal verwendet werden darf. Es dürfen keine Pseudozufallszahlen zum Einsatz kommen, wie sie ein Computer normalerweise erzeugt, sondern nur echt zufällige Zahlen, wie sie beispielsweise radioaktiver Zerfall produziert. Durch diese Randbedingungen sind One-Time-Pads ziemlich unhandlich -- schließlich müssen die Kommunikationspartner zuvor über einen sicheren Kanal einen Schlüssel austauschen, der genau so lang ist wie eine spätere Nachricht. cs 0549 ww6 wgs 09-00 Data Encryption Standard (DES) Klartext DES Verschlüsselung Schlüssel Geheimtext Geheimtext Schlüssel DES Entschlüsselung Klartext Symmetrisches Verfahren 1977 vom National Bureau of Standards in Kooperation mit der IBM standardisiert Blockchiffrierung, 64 Bit Blöcke, 56 Bit Schlüssel Mehrstufiges Verfahren mit Transposition und Substition Effiziente Hardware Implementierung cs0528 ww6 wgs 09-98 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 P-Box → → → → → → → → 2 4 5 0 6 7 1 3 Permutationstabelle Permutationsbox Transpositionsbox 3 zu 8 Decoder 8 zu 3 Encoder S-Box Substitutionsbox cs 0424 ww6 wgs 06-95 cs 0550 ww6 wgs 09-00 64 Bit Klartext Transposition 1 Substitution 1 Substitution 2 Substitution 3 56 Bit Schlüssel Substitution 4 1 2 ... 16 Schlüssel Generator Substitution 16 Transposition 2 16 Unterschlüssel zu je 48 Bit Transposition 3 64 Bit Geheimtext Unterschlüssel für diese Stufe 64 Bit Ausgabe von der vorhergehenden Stufe R i-1, 32 Bit Li-1, 32 Bit Substitution und Transposition L i , 32 Bit R i , 32 Bit = Li-1 ⊕ f(R i-1,K i ) Feistel Netzwerk 64 Bit Textblock L R In mehreren Stufen werden die linken und die rechten Hälften des zu verschlüsselnden Blocks getrennt behandelt. Aus dem Schüssel K werden Stufenschlüssel Ki abgeleitet. Pro Stufe erfolgt die Verschlüsselung: Li = Ri-1 Ri = Li-1 ⊕ f ( Ri-1, Ki ); ⊕ = =1 = exclusive-oder Ri-1 Li-1 =1 f Ri Li =1 f Li+1 =1 cs0529 ww6 Ki-1 Ki Ri+1 f Ki+1 wgs 09-98 DES Stufenkodierung Ri-1 (32 Bit) S 48 Bit Rundenschlüssel expandiert auf 48 Bit =1 48 Bit 32 Bit Li-1 (32 Bit) =1 8 S-Boxen, je 6 Bit. Jede S-Box expandiert auf 64 Leitungen plus folgende Enkodierung Ri Die S-Boxen haben je 6 Eingänge und 4 Ausgänge. Sie ersetzen jedes 6 Bit Zeichen durch ein anderes 4 Bit Zeichen.. Der DES-Algorithmus spezifiziert für jede der 16 Stufen das genaue Dekodier- und Enkodierschema jeder der S-Boxen. cs0531 ww6 wgs 09-98 cs 0551 ww6 wgs 09-00 Differenzielle Kryptoanalyse Biham, Shamir, 1990 Feistel Netzwerke unterscheiden sich durch die Verdrahtungsmuster in den P- und S-Boxen. Fast alle Feistelnetzwerke können gebrochen werden. DES (entstanden 1977) ist eine Ausnahme. Wenn man bei einem „ideal sicheren Blockalgorithmus” in einem Klartext-Block ein Bit ändert, dann müsste sich statistisch jedes der Bits im erzeugten Geheimtextblock mit genau 50 Prozent Wahrscheinlichkeit ändern, unabhängig vom verwendeten Schlüssel. In der Praxis kommt es jedoch vor, dass für bestimmte Bits die „Änderungswahrscheinlichkeit” im Geheimtext von einem bestimmten Schlüsselbit abhängt, etwa in der Art: Wenn man im Klartext die Bits 3, 11 und 45 gemeinsam ändert, dann ändert sich das Bit 17 im Geheimtext nur mit 49,999 Prozent Wahrscheinlichkeit, falls Bit 5 des Schlüssels gleich 1 ist, ansonsten mit 50 Prozent. Kann man dem Chiffrierer große Massen an ausgewähltem Klartext unterschieben, dann lässt die statistische Analyse Rückschlüsse auf einige Bits des verwendeten Schlüssels zu. Die restlichen Schlüsselbits ermittelt man per Brute Force. Das Problem der Praxis ist, dass bei guten Verfahren der Unterschied zum „Idealverhalten” minimal ist und man riesige Mengen an Klar- und Geheimtext braucht, um an den Schlüssel heranzukommen. Konkret bei DES wären über ein Petabyte (1000 Terabyte) an gewähltem Klartext notwendig. Schlüssellänge11 Zeitaufwand bei Zeitaufwand bei möglicher11 1 Verschlüs- 11 106 Verschlüsselung/µs selung/µs Schlüssel1 Zahl 32 Bit11 56 Bit11 4,3 x 109 7,2 x 1016 128 Bit11 3,4 x 1038 35,8 Minuten11 1142 Jahre11 2,15 ms11 10 Stunden11 5,4 x 1024 Jahre 5,4 x 1018 Jahre Durchschnittszeit für eine erschöpfende Schlüsselsuche Annahme: der Rechner kann 1 bzw. 106 Verschlüsselungen pro Sekunde berechnen. cs 0570 ww6 wgs 11-03 Triple DES Erhöhung der DES Schlüssellänge von 56 Bit auf 112 Bit. Verwendet existierende DES Hardware. Der Triple DES EDE2 Standard (Encrypt-Decrypt-Encrypt) verwendet 2 unterschiedliche Schlüssel K1 und K2 zu je 56 Bit. Die erste und dritte Verschlüsselung verwendet den gleichen Schlüssel. Der Triple DES EDE3 Standard verwendet 3 unterschiedliche Schlüssel zu je 56 Bit. Die effektive Schlüssellänge ist immer noch nur 112 Bit; die Sicherheit gegen bisher noch wenig erforschte Attacken ist größer. Alle Verfahren erfordern drei Verschlüsselungsläufe und benötigen deshalb die dreifache Laufzeit. Vor allem im Bankenbereich eingesetzt. Der DES Algorithmus gilt als zuverlässig. Triple DES ASIC´s sind verfügbar. Die wachsende Verarbeitungsgeschwindigkeit der Rechner erfordert eine um etwa um 1 Bit/Jahr wachsende Schlüssellänge. M cs0527 ww6 K1 K2 K1 DES DES DES C wgs 09-98 Advanced Encryption Standard AES als Nachfolger von DES vorgesehen Am 2. Oktober 2000 hat die US-Standardisierungsbehörde NIST den Sieger in einem dreijährigen Wettbewerb um den neuen Krypto-Standard verkündet: Rijndael entworfen von den beiden belgischen Kryptologen Joan Daemen und Vincent Rijmen. In der Zukunft soll dieses System als AES (Advanced Encryption Standard) in der kommerziellen Kryptographie eingesetzt werden. http://www-math.unipaderborn.de/~aggathen/rijndael/ cs 0423 ww6 wgs 06-95 RC4 1987 von Ronald L. Rivest entwickelt. In einer Vielzahl von Standards wie SSH, HTTPS und WEP bzw. WPA eingesetzt. Sehr einfach mit Hardware zu implementieren und mit Software sehr effizient berechenbar. Kern des Verfahrens ist eine S-Box, eine zufällige Permutation (Vertauschung) der natürlichen Zahlen 0 bis 255. Mittels der S-Box wird eine Zufallsfolge erzeugt, die Bit für Bit durch Addition modulo 2, (XOR-Verknüpfung), mit dem Nachrichtenstrom verknüpft wird. Schlüssel S-Box Pseudo-Zufallszahlenfolge Klartext =1 Exclusive OR Ciffrierte Nachricht Strom- und Blockchiffrierer Stromchiffrierer verarbeiten jedes Bit einzeln. Mit dem geheimen Schlüssel wird ein Schlüsselstrom erzeugt, der mit dem Klartext per XOR verknüpft wird. Blockchiffrierer überführen (häufig 64 Bit lange) Blöcke von Klartext in (der Regel gleich große) Blöcke von Geheimtext. Stromchiffrierer werden häufig bei der Hardwareverschlüsselung (Schicht 2) eingesetzt. Blockchiffrierer werden in der Regel bei der Softwareverschlüsselung (Schicht 6) eingesetzt. Der einfachste Blockchiffrierermodus ist der „Electronic Code Block Mode“ (ECB). Hierbei wird jeder Klartextblock ohne Berücksichtigung des übrigen Textes kodiert: Gleiche Klartextblöcke ergeben identischen Chiffretext. Verarbeitungsfehler pflanzen sich nicht fort. Beim „Cipher Block Chaining“ (CBC) wird jeder Klartextblock mit dem vorhergehenden Chiffreblock per XOR verknüpft. Hierdurch werden im Klartext vorhandene Muster verschleiert. cs0523 ww6 wgs 09-98 Klartext E E E E Geheimtext ECB =1 =1 =1 =1 CBC Electronic Code Block Mode (ECB) Cipher Block Chaining (CBC) cs 05615 E = Enkodieren =1 = Exclusive Oder wgs 11-02 Rechner 1 Rechner 2 Ke Kd f(Kd) C = EKe (M) M E D M= DKd (C) Asymetrische Verfahren Public Key Encryption Für die Verschlüsselung wird ein anderer Key verwendet als für die Entschlüsselung. Deswegen kann der Verschlüsselungskey bekannt gegeben werden. Asymetrische Verfahren benötigen etwa 1000 mal mehr Verarbeitungszeit als symmetrische Verfahren. „Exponentieller Schlüsselaustausch“ Diffie, Hellmann, 1976 RSA Algorithmus Rivest, Shamir, Aldeman, MIT 1978 cs0515 ww6 wgs 09-98 Public Key Encryption How can you use two different keys? •One is the inverse of the other: key1 = 3, key2 = 1/3, message M = 4 Encryption: Ciphertext C = M x key1 = 4 x 3 = 12 Decryption: Plaintext M = C x key2 = 12 x 1/3 = 4 One key is published, one is kept private Asymetrische Verfahren Public Key Encryption Algorithmen E und D sind öffentlich Ke = f(Kd); Ke ist öfffentlich; Kd ist geheim Nur der Empfänger, der Kd kennt, kann M lesen Ke kann einfach aus Kd errechnet werden, aber die Berechnung von Kd aus Ke ist sehr aufwendig (Einweg-, Falltür-, Trapdoor Funktion). D ist die Inverse zu E : M = DKd (C) = DKd (EKe (M)) Vereinfacht die Schlüselverteilung 100 - 1000 mal langsamer als symmetrische Verfahren Rechner 1 Rechner 2 Ke Kd f(Kd) C = EKe (M) M cs0516 ww6 E D M= DKd (C) wgs 09-98 Entschlüsselung Verschlüsselung Eine Einweg-Funktion ist eine beliebige Funktion a = F(b), die, gegeben a, b relativ leicht berechnen läßt, bei der es aber sehr rechenaufwendig ist, gegeben b, den Wert a zu berechnen. Angenommen eine große Zahl b z.B. mit 150 - 300 Stellen, die das Produkt aus 2 Primzahlen y und z ist. b=yxz Gegeben y und z, ist es einfach, hieraus b zu berechnen. Gegeben b, ist es extrem rechenaufwendig, y und z zu finden. vs1802 ww6 wgs 05-97 RSA Algorithmus (1) Empfänger erzeugt öffentlichen und privaten Schlüssel Ausgangsbasis sind 2 Primzahlen p und q sowie deren Produkt n = p x q Aus p, q und n werden 2 Schlüssel abgeleitet: e öffentlicher Schlüssel (gemeinsam mit n) d privater Schlüssel cs0541 ww6 wgs 09-98 Potentieller Sender 1 Potentieller Sender 2 Empfänger Broadcast e und n Potentieller Sender x Empfänger veröffentlicht e und n; hält d geheim Sender chiffriert Klartext m c = me mod n Empfänger dechiffriert Geheimtext c m = cd mod n Vorgehensweise RSA Verschlüsselung cs 0636 wgs 09-00 RSA Algorithmus (2) Der private Schlüssel ist eine ganze positive Zahl d . Der öffentliche Schlüssel besteht aus 2 ganzen positiven Zahlen e und n . Die Schlüssel werden vom Empfänger festgelegt. Aus 2 zufällig ausgewählten Primzahlen p und q wird das Produkt n = pq gebildet. Die Zahl e wird so ausgewählt, daß (p-1)(q-1) und e keinen gemeinsamen Teiler haben; der größte gemeinsame Teiler soll = 1 sein. Die Zahl d hat die Eigenschaften d < (p-1)(q-1) Das Produkt ed liefert nach Division durch (p-1)(q-1) den Rest 1 . Die Zahl d wird vom Empfänger als privater Schlüssel geheim gehalten; die Zahlen e und n werden allen Interessenten mitgeteilt (können z.B. beim Empfänger auf einer Web Seite wiedergegeben oder in einer allgemein zugänglichen Datenbank abgefragt werden). Der Sender erfragt e und n , und verschlüsselt damit seine Nachricht. Nur der Empfänger kann sie entschlüsseln, weil nur er die Zahl d kennt. cs 0559 ww6 wgs 05-97 RSA Algorithmus (3) Der Sender teilt die zu verschlüsselnde Nachricht in Blöcke der Länge k Bits auf. Jeder Block repräsentiert eine Zahl m. Es muß 2k < n sein, d.h., der numerische Wert eines Blockes ist immer kleiner als n. Zur Verschlüsselung berechnet der Sender Ziffernblöcke c c := me mod n (e-te Potenz der Zahl m, und davon den Rest nach Division durch n) Diese Zahl c ist der Geheimtext, der zum Klartext m gehört. Der Empfänger, der die chiffrierte Botschaft c erhält, entschlüsselt sie m: = cd mod n Es läßt sich nachweisen, daß für Blöcke der Größe 2k < n die Enkodier- und Dekodierfunktionen invers sind. (Satz von Euler und Fermat, siehe z.B. https://www.uni-koblenz.de/~steigner/seminar-asym-krypt/distelrath.pdf, oder http://home.arcor.de/steffen.hitzemann/mathprobs/Praxis/Kryptographie/RSA.htm). vs1103 ww wgs 04 -94 Sender Empfänger ___________________________________________________ 1. Primzahlen 2. n = pq 3 e wählen p, q e und (p-1)(q-1) haben keinen gemeinsamen Teiler 4. d wählen d < (p-1)(q-1) ed / (p-1)(q-1) hat Rest = 1 m = Klartext c = Chiffrierter Text c = me mod n m = cd mod n cs 0603 ww6 wgs 01-98 RSA Algorithmus (4) numerisches Beispiel Wir wählen p = 374 1966 9101 q = 111 1069 3267 (In praktischen Anwendungen würden p und q eine weit größere Anzahl an Stellen haben.) Es ist pq = n =4 1575 8465 5338 4864 2967 Die Zahl e muß zu (p-1)(q-1) = 4 1575 8465 4853 1828 0600 teilerfremd sein (größter gemeinsamer Teiler = 1). Das geht z.B. mit e = 65537 ( 65537 = 216 +1 ist eone Primzahl) Der private Schlüssel d muß < (p-1)(q-1) sein und die Bedingung ed mod(p-1)(q-1) = 1 erfüllen. Dies trifft zu für d = 1648 1384 4596 3130 5873 vs1104 ww wgs 04 -94 RSA Algorithmus (5) Wir verschlüsseln die Nachricht kryptologie macht spass indem wir die Buchstaben durch die Ziffern 01 .. 26 und das Leerzeichen durch 00 darstellen: k r y p t o l o g i e _ m a c h t…….. 11 18 25 16 20 15 12 15 07 09 05 00 13 01 03 08 usw. Da diese Zahl > n ist, muß sie in Blöcke aufgeteilt werden. Der erste dieser Blöcke ist m := 1118 2516 2015 1215 0709 Es ist c: = me mod n = 1118 2516 2015 1215 0709 (65537) mod 4 1575 8465 5338 4864 2967 = 7104 3117 9918 9756 5951 Zur Entschlüsselung berechnen wir m: = cd mod n 7104 3117 9918 9756 5951(1648 1384 4596 3130 5873) mod 4 1575 8465 5338 4864 2967 = 1118 2516 2015 1215 0709 welches der erste Block der geheimen Nachricht ist. vs1105 ww wgs 04 -94 Eulersche φ-Funktion Die eulersche Phi-Funktion ist eine zahlentheoretische Funktion. Sie ordnet jeder natürlichen Zahl n die Anzahl der natürlichen Zahlen a von 1 bis n zu, die zu n teilerfremd sind, für die also ggT(a,n) = 1 ist. Sie ist benannt nach Leonhard Euler und wird mit dem griechischen Buchstaben φ (Phi) bezeichnet. Beispiele Die Zahl 6 ist zu zwei Zahlen zwischen 1 und 6 teilerfremd (1 und 5), also ist φ(6) = 2. Die Zahl 13 ist als Primzahl zu den zwölf Zahlen von 1 bis 12 teilerfremd, also ist φ(13) = 12. Die ersten 20 Werte der φ-Funktion lauten: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 n φ(n) 1 1 2 2 4 2 6 4 6 4 10 4 12 6 8 8 16 6 18 8 RSA Verfahren Das RSA-Verfahren basiert auf dem Satz von EULER. Sind m und n zwei natürlich teilerfremde Zahlen, d.h. ggT(m,n)=1, dann gilt: m^Phi(n) mod n = 1. Zu einer Primzahl sind alle natürlichen Zahlen r, die kleiner als p sind, teilerfremd, also ist Phi(p) = p-1. Für das Produkt zweier Primzahlen p und q ergibt sich somit die Beziehung: Phi(pq) = (p-1)(q-1). Es sind nämlich die Zahlen 1p, 2p, 3p, ..., (q-1)p; qp und die Zahlen 1q, 2q, 3q, ..., (p-1)q; pq nicht teilerfremd mit pq, also ist die Teilermenge von pq T={1p, 2p, 3p, ..., (q-1)p; 1q, 2q, 3q, ..., (p-1)q; pq} und die Anzahl der Teiler somit p-1+q-1+1 = p+q-1, woraus sich Phi(pq) = pq-(p+q-1) = (p-1)(q-1) ergibt. Schlüsselerzeugung Für die Erzeugung vom öffentlichen (Chiffrier-)Schlüssel und privaten (Dechiffrier-)Schlüssel werden zunächst zwei "große" Primzahlen p und q, sodass n=pq > m mit m als zu verschlüsselnder Zahl ist, ausgewählt und es wird Phi(n) durch die Beziehung Phi(n) = (p-1)(q-1) bestimmt. Für eine sichere Verschlüsselung sollten die beiden Primzahlen p und q in einer Größenordnung von mindestens 10^200 liegen. Durch die Formel cd mod Phi(n) = 1, die sich als zweckmäßig erweist, wenn man den Satz von EULER im Beweis des Verfahrens anwenden möchte, werden Chiffrierschlüssel c und Dechiffrierschlüssel d bestimmt. Dazu wird c gewählt, und zwar so, dass die Bedingung auch zutreffen kann. Folglich müssen c und Phi(n) teilerfremd sein, häufig wird für c eine Primzahl gewählt, die größer als Phi(n) ist. Der Schlüssel d lässt sich dann leicht berechnen: cd mod Phi(n) = 1 cd = 1+k * Phi(n), k e N d = (1+k * Phi(n)) / c d = (1+k * (p-1)(q-1)) / c. Es kann eine beliebige natürliche Zahl für k gewählt werden, allerdings so, dass auch d eine natürliche Zahl ist. Nun werden n und Chiffrierschlüssel c veröffentlicht, p und q werden vernichtet. cs 0428 ww6 12-05