DEUTSCHE PGP ANLEITUNG

Verschlüsselungs- und Signieralgorithmen oder
"RSA und ElGamal (Diffie-Hellmann) PGP Keys, MD5, DSS (DSA) und SHS (SHA-1)"

Weiter oben wurde ja bereits erläutert, was es mit "Secret" und "Public" Key auf sich hat.
Es gibt zwei Schlüsseltypen bei PGP 5/6, die nach verschiedenen Verschlüsselungsalgorithmen, also grob gesagt mit verschiedenen Berechnungsschemata, arbeiten.
Die RSA - und die Diffie-Hellmann/DSS - Public Keys

RSA-Keys mit IDEA und MD5

Die Bezeichnung des Algorithmus "RSA" setzt sich aus den Anfangsbuchstaben der Namen seiner Erfinder Rivest, Shamir und Adleman zusammen.
RSA wird seit langer Zeit zur Verschlüsselung eingesetzt, so auch in den Vorgängerversionen von PGP und gilt als gut untersucht und geprüft.
RSA Keys haben eine Schlüssellänge von 516- bis 16384-Bit, die maximal sinnvolle Länge liegt bei ca. 3100-Bit und sollte mindestens > 512-Bit sein.
IDEA ist die Abkürzung für "International Data Encryption Algorithm", einem symmetrischen/Single-Key (konventionellen) Verschlüsselungsalgorithmus.
Beide Algorithmen werden bei PGP zur Verschlüsselung kombiniert eingesetzt.
MD5 steht für "Message Digest 5" einem weiteren Algorithmus, mit dem eine 128-Bit lange Textprüfsumme eines Textes erstellt wird. Wenn diese Textprüfsumme mit dem Secret Key codiert wird, entsteht die digitale Signatur von PGP.

Im Jahr 1996 veröffentlichte der Kryptologe Hans Dobbertin, damals beim BSI angestellt, die Ergebnisse seiner Kryptoanalyse "Cryptoanalysis of MD5 Compress", die auch in den Cryptobytes Vol. 2/No. 2, 1996 der RSA Laboratories gewürdigt wurde.
Thema der Kryptoanalyse war die Kompressionsfunktion des MD5 Algorithmus. Das Kernresultat besteht darin, dass MD5 durch Kollisionen geschwächt ist, d. h. es ist möglich, dass mit MD5 gleiche Hashwerte für zwei verschiedene Texte erzeugt werden können. Die Kollisionen entdeckte Dobbertin nach 10 Stunden auf einem damals herkömmlichen Pentium PC.
Die Stärke eines Hashalgorithmus liegt aber darin, dass ein Hashwert eindeutig ist, d. h. zu einem Hashwert auch nur ein Text zugeordnet ist und umgekehrt.
In der Untersuchung gibt Dobbertin die Empfehlung:

...We think that this might be reason enough to substitute MD5 in future applications.
Alternatives for MD5 are SHA-1 and on the other hand RIPEMD-160...

Beispiel

Diffie-Hellmann/DSS-Keys mit IDEA, CAST, Triple-DES und SHA-1

DSS (DSA) und SHS (SHA-1)

DSS ist die Abkürzung für "Digital Signature Standard".
Dieser Standard wurde als Teil des "Capstone"-Programmes (ein weiterer bekannter Bestandteil dieses Programmes war der Clipper-Chip) der US-Regierung vom NIST ("National Institute of Standards and Technology", eine Abteilung des amerikanischen Handelsministeriums) in Zusammenarbeit mit der NSA (die "ofiziell" eine "beratende" Funktion beim NIST ausübt) zum digitalen Beglaubigungsstandard der US-Regierung. In dem DSS Standard FIPS-186-1 wird der der "Digital Signature Algorithm" (DSA) als offizieller Signieralgorithmus eingeführt [FIPS Federal Information Processing Standards].
Im Januar 2000 wurde der DSS Standard auf FIPS-186-2 erweitert.
Damit wurde neben dem DSA, RSA nach ANSI X9.31 und ECDSA (Elliptic Curve Digital Signature Algorithm) nach ANSI X9.62 in den DSS aufgenommen [ANSI X9 American National Standards Institute Komitee X9, ein Standardisierungskomitee, das Standards für die US-Finanzindustrie, z. B. für das PIN Management, entwickelt].

Die DSA-Keys werden seit PGP 5.0 eingesetzt und haben eine fixe Länge von 1024-Bit.
Als Algorithmus des DSS, der für die Erzeugung des Hashwertes, bzw. Message Digests (siehe unten) sorgt, wurde der "Secure Hash Algorithm 1" (SHA-1) des Secure Hash Standards FIPS-180-1 festgelegt.
SHA-1 erzeugt bei PGP 5/6 die 160-bit lange Textprüfsumme (Hashwert, Message Digest), die nach Verschlüsselung mit dem DSA Secret Key die digitale Signatur für die Signierung erzeugt. Bei der Überprüfung der Signatur, wird mittels SHA-1 ein zweites Mal eine zweite Textprüfsumme erzeugt, die dann mit Hilfe des DSA Public Keys mit der ursprünglichen Textprüfsumme auf Übereinstimmung überprüft wird (siehe unten).

Das NIST hat bereits einen Entwurf zur Neuformulierung des Secure Hash Standards veröffentlicht, der in FIPS-180-2 neben SHA-1 die zusätzlichen Hashalgoithmen SHA-256, SHA-384 und SHA-512 spezifiziert.
Grössere Message Digests sind Voraussetzung für größere DSA-Keys.

DSS und SHS nach NIST

Diffie-Hellmann (DH)

Auch hier wurden die Namen zweier Erfinder, Diffie und Hellmann, zur Bezeichnung herangezogen.
Whitfield Diffie and Martin E. Hellman hatten 1976 ein Key-Austausch-Protokoll entwickelt, das zum sicheren Austausch von Schlüsseln diente und dessen Bestandteil der Einsatz eines Schlüsselpaares aus Public- und Private-Key war. Es begründete das asymmetrische Verschlüsselungsverfahren mit Public-Key Kryptografie, wie wir es auch bei PGP kennen.

Die kryptografische Thoerie hinter den DH-Keys besteht im Kern aus dem DLP (Discrete Logarithm Problem), während RSA auf dem Problem beruht, aus dem Public-Key durch Faktorisierung den Private-Key berechnen zu können oder auch nicht.
DH wird bei PGP und GnuPG in einer von DH abgeleiteten Form implementiert, die man als ElGamal (nach dem Erfinder T. ElGamal) bezeichnet, man muss also eigentlich von ElGamal-Keys und nicht von DH-Keys sprechen.
ElGamal wurde 1985 veröffentlicht und beruht wie DH auf dem DLP.

Die Schlüssellänge bei DH variiert von 512 bis 8192 Bits, die eingesetzte Standardlänge bei PGP beträgt 4096-bit.
Die DH-Keys werden in PGP nach dem OpenPGP Standard als separate Unter-Keys, die nur der Verschlüsselung dienen, eingebunden um eine Trennung zwischen Signatur-Key und Verschlüsselungs-Key zu erreichen, die auch getrennt administriert werden können. Neben den DH-Unterkeys besitzt jeder PGP-Key den DSS Master Signierungskey (siehe oben).

Neben IDEA kann man mit PGP 5/6 auch zwei weitere, symmetrische Algorithmen einsetzen:
CAST steht für die beiden Erfinder Carlisle Adams and Stafford Tavares, die den Algorithmus für die Northern Telecom (Nortel) entwickelten.
Triple-DES ist eine Abwandlung des Data Encryption Algorithm (DEA) des noch gültigen Data Encryption Standard (DES), der 2001 durch den Advanced Encryption Standard (AES) abgelöst wird.
Zu Diffie-Hellmann ist die Forschung nicht so umfangreich wie zu RSA, DH Keys gelten aber genauso sicher wie RSA-Keys gleicher Länge.
CAST gilt als stark, ist im Vergleich zu Triple-DES aber noch nicht so gut analysiert.
Der SHA-1 Algorithmus gilt als sicherer als MD5, der einige wegen Pseudo-Kollisionen in der Kompressionsfunktion Schwächen aufgezeigt hat.
Allerdings wird SHA-1 bei PGP mit DSA-Keys eingesetzt, die aufgrund des DSS Standards auf 1024-bit beschränkt sind.

Ausblick

In Zukunft könnte bei PGP bei den Hash-Algorithmen neben SHA-1 noch RIPE-MD 160 hinzukommen.
Seit PGP 7.X sind bei den symmetrischen Algorithmen noch Twofish von Bruce Schneier und AES (Rijndael) nach dem OpenPGP Standard hinzugekommen.
Eine Revision des DSS und SHS könnte zur Anhebung der Schlüssellänge für DSA-Keys auf 2048-Bit führen.
Darauf deutet die Revision des SHS FIPS-180-1 hin.

Siehe auch Signieren, Empfehlungen zur Schlüssellänge

Beispiel

Wer mehr zu den Hintergründen der beiden Schlüsseltypen erfahren möchte, dem sei die PGP DH vs. RSA FAQ von Sam Simpson und die Frequently Asked Questions About Today's Cryptography? der RSA Labors empfohlen.

 

Stichworte Digitale Signatur, Hash, Message Digest

Zur Erzeugung einer digitalen Signatur wird zu einem Ursprungstext von beliebiger Länge über eine mathematische Transformation, der Hash Funktion, eine Zeichenkette mit feststehender Länge berechnet und komprimiert, der so erzeugte Hashwert wird Message Digest oder auch Textprüfsumme genannt.
Zur Erzeugung des Message Digests werden bei PGP die Message Digest Algorithmen MD5 und SHA-1 eingesetzt (ein weiterer A. ist RIPE-MD 160).
Da der Message Digest stellvertretend für den Ursprungstext steht, spricht man auch vom digitalen Fingerabdruck eines Dokuments. Dabei kann aus dem Message Digest der Ursprungstext nicht wieder zurückberechnet werden und bei starken und sicheren Hashfunktionen muss der Hashwert pro Dokument einzigartig sein, d. h. eine Hashfunktion darf nicht für zwei unterschiedliche Texte ein und denselben Hashwert erzeugen (können).
Anschliessend wird der Message Digest mit dem RSA oder DSS/DSA Private Key des Absenders verschlüsselt, das Resultat nennt man die digitale Signatur eines Dokuments.

Auf der Empfängerseite bildet der Empfänger mit der gleichen Hash Funktion ebenfalls den Message Digest zum Text. Anschliessend entschlüsselt er mit dem Public Key des Absenders den vom Absender gebildeten Message Digest aus der digitalen Signatur und vergleicht beide Message Digests miteinander. Sind beide Hashwerte gleich, ist das die Bestätigung, dass die digitale Signatur dem Text entspricht, also echt ist und die Signatur mit dem Secret Key des Absenders erstellt wurde, also der Text von Absender XY stammt, wenn man voraussetzt, dass der Key wirklich zum Absender XY gehört.

 

Signaturerzeugung und -prüfung

Bemerkung:
Besonders interessant bei der ganzen Geschichte um Kryptographie, Verschlüsselungsverfahren und Schlüsseltypen ist die Rolle der "National Security Agency" (NSA), einem streng geheimen Geheimdienst der USA, der über ein Höchstmass an technischem Equipment und Experten Know-How verfügt und von Beginn an in die Entwicklung, das Testen und Brechen von Verschlüsselungsverfahren involviert war und ist.
Er stellt die mehr oder weniger grosse Unbekannte bei der Verwendung von kryptographischen Programmen dar.
Nähere Infos zur NSA über EPIC oder direkt bei der NSA.

Nun gut, wer sich mehr für die mathematischen Prozeduren und genauen Verschlüsselungsabläufe interessiert sei auf andere Quellen verwiesen.