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...
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.

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.
Signieren, Empfehlungen
zur Schlüssellänge
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. 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.
|

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.