ULD-SH
Unabhängiges Landeszentrum für Datenschutz Schleswig-Holstein
Unabhängiges Landeszentrum für Datenschutz chleswig-Holstein
www.datenschutzzentrum.de/

Hinweise zur Schlüsselgenerierung

> RSA oder Diffie-Hellmann?

Die ursprüngliche PGP Version nutzte sogenannte RSA-Schlüssel, deren Algorithmus in den USA jedoch patentrechtlich geschützt war. In der Version 5 von PGP ließen sich daher keine RSA-Schlüssel mehr erzeugen, stattdessen wurden die sogenannten Diffie-Hellman-Keys eingeführt. Später gab es dann wieder beide Schlüsseltypen zur Auswahl.
Daher ist die Entscheidung für einen der beiden Typen auch vom Kreis Ihrer eMail-Kontakte abhängig: Wenn Sie mit Leuten zu tun haben, die die Version 2.6.3 einsetzen, werden Sie an ihrem neuen DH-Schlüssel wenig Freude haben.

Der Einfachheit halber empfiehlt es sich, einfach zwei Schlüssel zu erzeugen, einen RSA- und einen Diffie-Hellmann-Key. Damit sind Sie auf der sicheren Seite und können je nach Bedarf ihre Nachrichten mit dem einen oder dem anderen Schlüssel chiffrieren.

GnuPG beherrschte bis zur Version 1.0.6 nur die Erzeugung von DH-Keys. Erst Version 1.0.7 ermöglicht auch das Generieren von RSA-Schlüsseln.

Zu den Hintergründen der verwendeten Algorithmen lohnt es sich, einen Blick auf Kai Ravens Erläuterungen zu werfen.

 

> Welche Bitlänge muss mein Schlüssel haben?

Normalerweise gilt der Hinweis, die Schlüssellänge in Abhängigkeit vom benötigten Sicherheitsniveau zu sehen. Prinzipiell gibt es kein absolut sicheres Verfahren, dass nicht irgendwann und irgendwie zu knacken wäre. Daher ist das Ziel der Kryptographie eigentlich, den Aufwand zu erhöhen, den es braucht, um eine bestimmte Nachricht zu lesen. Erst wenn dieser Aufwand so hoch ist, dass er in keinem Verhältnis mehr steht zum erwarteten Nutzen der Nachricht, ist die Verschlüsselung erfolgreich.
Wenn also eine PGP-Nachricht mit einem Supercomputer innerhalb von Zehntausend Jahren entschlüsselt werden kann, so ist sie zwar nicht "unknackbar", aber für den Hausgebrauch wahrscheinlich ausreichend sicher...;o)

Insofern könnte man jetzt Berechnungen anstellen, wie sicher welche Schlüssellänge wäre, wie lange man bräuchte, den Code zu brechen...und so weiter....
Bis vor kurzem waren diese Überlegungen sogar von praktischem Wert: Da bei längeren Schlüsseln auch mehr Rechenzeit benötigt wird, konnte das Ver- und Entschlüsseln bei Sender und Empfänger schon mal einige Minuten in Anspruch nehmen.
Für heutige PCs mit Prozessoren im Gigahertzbereich stellen derartige Aufgaben jedoch ein eher kleines Problem dar: Die Ver- und Entschlüsselung von Nachrichten dauert kaum länger als ein Mausklick.

Deshalb besteht eigentlich kein Grund, NICHT den größtmöglichen Schlüssel in PGP auszuwählen. Bei PGP 2.6.3 beträgt diese 1024 Bit, die Windows Versionen unterstützen maximal 2048 Bit für RSA- und 4096 für DH-Schlüssel.

Tom McCune hat zum Verhältnis von Schlüsselgröße und Geschwindigkeit ausgiebige Messungen unternommen. Zu finden auf seine PGP-Seite: http://www.mccune.cc/PGPpage2.htm#Speed

Die von Arjen Lenstra und Eric Verheul empfohlenen Schlüssellängen für symmetrische wie für asymmetrische Verschlüsselung finden sich unter http://www.cryptosavvy.com/table.htm

 

> Mein PGP bietet aber Schlüssel bis 16384 Bit...

Es gibt eine modifizierte Version von PGP, die sogenannten CKT-Builds von Imad R. Faiad. Diese ermöglichen die Verwendung von extrem langen Schlüsseln. Allerdings handelt man sich mit einem derart langen Schlüssel auch einige Probleme ein, denn es ist nicht immer gewährleistet, dass das PGP-Programm des Empfänger auch damit umgehen kann.
Da die CKT-Version von PGP jedoch nebenbei noch von einigen Bugs befreit und um GnuPG Kompatibilität ergänzt wurde, spricht nichts gegen ihre Verwendung. Wer die überlangen Schlüssel nutzen will, sollte sich zur Sicherheit jedoch Zweitschlüssel mit konformer Länge anlegen.

Unter Kryptographen ist der Mehrwert solch extrem langer Schlüssel bislang umstritten. Einen guten Einstieg zu diesem Thema bietet die Scramdisk FAQ im Abschnitt "The huge key debate".