Einsatzmöglichkeiten kryptographischer Methoden zur Signatur und ...
Einsatzmöglichkeiten kryptographischer Methoden zur Signatur und ... Einsatzmöglichkeiten kryptographischer Methoden zur Signatur und ...
Für den Fall, dass die Blocklänge 128 Bit ist (N b =4), sieht der Ablauf einer Runde so wie in Abbildung 5-1 (AES-Verschlüsselung [Sav2001]) dargestellt aus. Die Bytes „fließen“ quasi von oben in die Runde hinein und werden mit den genannten Operationen bearbeitet. Abbildung 5-1: AES-Verschlüsselung [Sav2001] 5.2.2. RSA Der Public Key Algorithmus RSA wurde 1977 von Rivest, Shamir und Adleman entworfen und ist dazu in der Lage sowohl für Verschlüsselung als auch zur digitalen Signatur eingesetzt zu werden. Die Basis des RSA-Algorithmus besteht darin, dass es mit den heutigen Computern einfach und schnell möglich ist, große Zahlen mit mehreren hundert Dezimalstellen zu multiplizieren, es jedoch bisher unmöglich ist (in einer akzeptablen Zeit, s.u.) die Primfaktoren einer ebenso großen Zahl, welche das Produkt zweier großer Primzahlen ist, herauszufinden. In [SchB1996] schreibt Bruce Schneier, dass zur Faktorisierung einer 2048-Bit-Zahl, wie sie für Public-Key-Systeme eingesetzt wird, mit einem allgemeinen Zahlenkörpersieb 3·10 11 MIPS-Jahre und mit einem speziellen Zahlenkörpersieb 3·10 7 MIPS-Jahre erforderlich sind. Das heißt, ein Computer, der eine Million Rechenoperationen in der Sekunde durchführt, 3·10 11 bzw. 3·10 7 Jahre zur Lösung der Aufgabe benötigen würde. Dass ein Faktorisierungsangriff (quasi ein Brute-Force-Angriff auf RSA) auf einen öffentlichen Schlüssel mit 2048 Bit keinen Sinn ergibt, verdeutlich das folgende Beispiel: Der von IBM Ende 2001 vorgestellt Hochleistungscomputer p690 („Regatta“) kann mit bis zu 32 POWER-4 CPUs ausgestattet werden. Die Taktfrequenz jeder CPU beträgt 1,3 GHz. IBM gibt in [IBM2001] an, dass eine CPU bis zu 8 Befehle pro Taktzyklus auszuführen in der Lage ist und durchschnittlich 5 Befehle pro Zyklus abschließt. 33
Daraus ergeben sich nach [HePa1996] die theoretisch maximalen MIPS- Leistungen von 6.500 MIPS (bei 5 Befehlen pro Zyklus) bzw. 10.400 MIPS (bei 8 Befehlen pro Zyklus) pro CPU. Das entspricht 208.000 MIPS (bei 5 Befehlen pro Zyklus) bzw. 332.800 MIPS (bei 8 Befehlen pro Zyklus) für ein 32-CPU System. Das bedeutet, dass eine p690 mit 32 CPUs ca. 1,9 Milliarden Jahre (5 Befehle pro Zyklus) bzw. ca. 1,2 Milliarden Jahre (8 Befehle pro Zyklus) benötigt, um durch den Einsatz des speziellen Zahlenkörpersiebes (welches jedoch bei den in der Regel verwendeten Schlüsseln nicht eingesetzt und eher als optimistisch angesehen werden kann) einen einzigen 2048-Bit-Schlüssel durch Faktorisierung zu brechen. Bei dem Einsatz des allgemeinen Zahlenkörpersiebes sind die Zeiten noch erheblich höher (ca. Faktor 10 7 ). Da dieser Computer (mit nur 16 anstatt der hier angenommenen 32 CPUs) für ca. 450.000 US-$ zu erhalten ist [iX2002-03], handelt es sich hier auch um ein sehr teures Unterfangen. Selbst wenn man 24 dieser 32-CPU-Computer miteinander verbindet (wie auf der CeBIT 2002 für das Projekt Hochleistungsrechenzentrum Nord (HLRN) angekündigt), dauert die Berechnung noch immer ca. 79 Millionen Jahre (5 Befehle pro Zyklus) bzw. 50 Millionen Jahre (8 Befehle pro Zyklus) bei Anschaffungskosten von ca. 20 Millionen Euro. In vielen Public-Key-Systemen, wie beispielsweise in PGP, wird der RSA-Algorithmus verwendet, der im Folgenden beschrieben wird. Die Grundlage von RSA ist die Erzeugung des Schlüsselpaares. Dazu wird der folgende Algorithmus verwendet. Es sei E Alice die Verschlüsselung mit Alices öffentlichen Schlüssel, D Alice die Entschlüsselung mit Alices privatem Schlüssel (D Bob und E Bob analog für Bob). RSA-Algorithmus zur Schlüsselerzeugung: Alice: i. Erzeuge zwei (etwa gleichgroße) Primzahlen p und q. ii. Berechne n = pq und ϕ (n) = (p-1)(q-1). iii. Wähle ein e (1 < e < ϕ (n)) mit ggt(e, ϕ (n)) = 1. iv. Berechne d (1 < d < ϕ (n)) mod ϕ (n) mit ed mod ϕ (n) = 1, das eindeutige Inverse zu e in * ϕ (n) . Alice erhält als öffentlichen Schlüssel das Tupel (e,n) und als privaten Schlüssel (d,n). 34
- Seite 1 und 2: Diplomarbeit Einsatzmöglichkeiten
- Seite 3 und 4: Inhalt Abbildungsverzeichnis.......
- Seite 5 und 6: 8.4. Umsetzung.....................
- Seite 7 und 8: Tabellenverzeichnis Tabelle 4-1: Em
- Seite 9 und 10: Firewall Fingerabdruck Fingerprint
- Seite 11 und 12: Switch Symmetrische Verschlüsselun
- Seite 13 und 14: und 4 (Einsatzmöglichkeiten krypto
- Seite 15 und 16: (3) Den im Absatz 1 Genannten stehe
- Seite 17 und 18: 3. Rechtlicher Rahmen der Kryptogra
- Seite 19 und 20: 4. Einsatzmöglichkeiten kryptograp
- Seite 21 und 22: 4.1.2. Asymmetrische Verschlüsselu
- Seite 23 und 24: symmetrisch [Bit] asymmetrisch [Bit
- Seite 25 und 26: der Authentizität der öffentliche
- Seite 27 und 28: Rahmenbedingungen: • Dave (die DF
- Seite 29 und 30: 4.5. Schlüsselverlust Ein Problem
- Seite 31 und 32: • Ist eine Verschlüsselung notwe
- Seite 33 und 34: 5. Verwendete Algorithmen Im Folgen
- Seite 35 und 36: Definition 5: Die Eulersche Funktio
- Seite 37 und 38: Galois-Felder und Polynome in Körp
- Seite 39 und 40: 128 192 Im Folgenden sei M die 128,
- Seite 42 und 43: N b Z1 Z2 Z3 4 (128 Bit) 1 2 3 6 (1
- Seite 46 und 47: Wenn nun Bob eine Nachricht M an Al
- Seite 48 und 49: 6. Ausgewählte Kommunikationsproze
- Seite 50 und 51: Merkmale der Kommunikationspartner:
- Seite 52 und 53: Merkmale der Performance: • Die P
- Seite 54 und 55: Netz-Umgebung Art der Kommunikation
- Seite 56 und 57: en Zugriff auf solch sensible Daten
- Seite 58 und 59: Netz-Umgebung Art der Kommunikation
- Seite 60 und 61: 7. Soll-Modell 7.1. Vorbemerkungen
- Seite 62 und 63: Client Server Anpassung der Applika
- Seite 64 und 65: selung 192 bzw. 256 Bit und für di
- Seite 66 und 67: Gruppe Parameter Verschlüsselung A
- Seite 68 und 69: 7.2.2. Firewall-Firewall VPN-Tunnel
- Seite 70 und 71: 7.2.4. Direkter Tunnel zwischen Ser
- Seite 72 und 73: 7.2.6. Web-Client-Zertifikate Abbil
- Seite 74 und 75: 7.2.8. E-Mail Add-On Abbildung 7-10
- Seite 76 und 77: schen den Firewalls auf beiden Seit
- Seite 78 und 79: lung von Mails setzt ein funktionie
- Seite 80 und 81: sich über das Internet in die MHH
- Seite 82 und 83: 8.2. Auswahl der CA-Software Im Fol
- Seite 84 und 85: 8.3.2. Firewall-Firewall VPN-Tunnel
- Seite 86 und 87: Wie in der Zielvorstellung bereits
- Seite 88 und 89: 8.3.6. Web-Client-Zertifikate Abbil
- Seite 90 und 91: 8.3.8. E-Mail Add-On Abbildung 8-9:
- Seite 92 und 93: Cisco-Routern ist es beispielsweise
Daraus ergeben sich nach [HePa1996] die theoretisch maximalen MIPS-<br />
Leistungen von 6.500 MIPS (bei 5 Befehlen pro Zyklus) bzw. 10.400 MIPS<br />
(bei 8 Befehlen pro Zyklus) pro CPU. Das entspricht 208.000 MIPS (bei 5<br />
Befehlen pro Zyklus) bzw. 332.800 MIPS (bei 8 Befehlen pro Zyklus) für ein<br />
32-CPU System.<br />
Das bedeutet, dass eine p690 mit 32 CPUs ca. 1,9 Milliarden Jahre (5 Befehle<br />
pro Zyklus) bzw. ca. 1,2 Milliarden Jahre (8 Befehle pro Zyklus) benötigt, um<br />
durch den Einsatz des speziellen Zahlenkörpersiebes (welches jedoch bei den<br />
in der Regel verwendeten Schlüsseln nicht eingesetzt <strong>und</strong> eher als optimistisch<br />
angesehen werden kann) einen einzigen 2048-Bit-Schlüssel durch Faktorisierung<br />
zu brechen. Bei dem Einsatz des allgemeinen Zahlenkörpersiebes<br />
sind die Zeiten noch erheblich höher (ca. Faktor 10 7 ).<br />
Da dieser Computer (mit nur 16 anstatt der hier angenommenen 32 CPUs) für<br />
ca. 450.000 US-$ zu erhalten ist [iX2002-03], handelt es sich hier auch um<br />
ein sehr teures Unterfangen.<br />
Selbst wenn man 24 dieser 32-CPU-Computer miteinander verbindet (wie auf<br />
der CeBIT 2002 für das Projekt Hochleistungsrechenzentrum Nord (HLRN)<br />
angekündigt), dauert die Berechnung noch immer ca. 79 Millionen Jahre (5<br />
Befehle pro Zyklus) bzw. 50 Millionen Jahre (8 Befehle pro Zyklus) bei<br />
Anschaffungskosten von ca. 20 Millionen Euro.<br />
In vielen Public-Key-Systemen, wie beispielsweise in PGP, wird der RSA-Algorithmus<br />
verwendet, der im Folgenden beschrieben wird.<br />
Die Gr<strong>und</strong>lage von RSA ist die Erzeugung des Schlüsselpaares. Dazu wird der folgende<br />
Algorithmus verwendet. Es sei E Alice die Verschlüsselung mit Alices öffentlichen<br />
Schlüssel, D Alice die Entschlüsselung mit Alices privatem Schlüssel (D Bob <strong>und</strong><br />
E Bob analog für Bob).<br />
RSA-Algorithmus <strong>zur</strong> Schlüsselerzeugung:<br />
Alice:<br />
i. Erzeuge zwei (etwa gleichgroße) Primzahlen p <strong>und</strong> q.<br />
ii.<br />
Berechne n = pq <strong>und</strong> ϕ (n) = (p-1)(q-1).<br />
iii. Wähle ein e (1 < e < ϕ (n)) mit ggt(e, ϕ (n)) = 1.<br />
iv.<br />
Berechne d (1 < d < ϕ (n)) mod ϕ (n) mit ed mod ϕ (n) = 1, das eindeutige<br />
Inverse zu e in <br />
*<br />
ϕ (n)<br />
.<br />
Alice erhält als öffentlichen Schlüssel das Tupel (e,n) <strong>und</strong> als privaten Schlüssel<br />
(d,n).<br />
34