GPG unterstützt eine Vielzahl verschiedener Algorithmen. Welche genau, zeigt der Schalter
»--version
«
des Kommandos
»gpg
«
an. Eine beispielhafte Ausgabe zeigt
Listing 1
.
Listing 1
Unterstützte Algorithmen
Die Algorithmen für den öffentlichen Schlüssel generieren das Public-/Private-Schlüsselpaar. Die Verschlüsselungs-Algorithmen sind zuständig für das symmetrische Einmal-Passwort, mit dem die Nachricht verschlüsselt wird. Die Hash-Algorithmen überprüfen die Authentizität der Nachricht und die Unifikationsverfahren verpacken den Text. Dem Schlüssel ist es egal, mit welchem Verfahren die Nachricht verschlüsselt wird. Tatsächlich ist eine Liste der unterstützten Algorithmen Teil des öffentlichen Schlüssels. Wenn man mit ihm eine Nachricht verschlüsselt, sucht sich GPG das am meisten präferierte Verfahren heraus. Will man wissen, welches das ist, gibt man
gpg --edit key user-id ein und danach hinter dem Prompt <C>Command<C> das Kommando <C>showpref<C>.
Die Kompression wird sowohl eingesetzt, um das File zu verkleinern, als auch um Muster im Text zu verdecken. Verfügbar sind die Standardverfahren
»zlib
«
,
»bzip2
«
und
»zip
«
. Die Unterschiede sind nicht groß von Bedeutung: Zlib ist vielleicht etwas kompatibler, Bzip2 ist speicherintensiver, erreicht dafür etwas höhere Kompressionsraten.
Kryptografische Hash-Algorithmen sichern die Authentizität eines Files. Der Hash erzeugt eine Art Fingerabdruck des Files. Der ist zwar eindeutig, doch lässt sich der Dateiinhalt nicht aus dem Fingerabdruck zurückgewinnen. Ein gängiges Hash-Verfahren ist SHA1 (trotz bekannter theoretischer Verwundbarkeiten) oder die sichere Alternative SHA2.
Betrachtet man die Sicherheit der Algorithmen, muss man zwei Werte auseinanderhalten: die Key-Länge in Bits und die kryptographische Sicherheit als Wert für den kürzesten bekannten Angriff auf das Verfahren, angegeben ebenfalls in Bit. Die kryptografische Sicherheit kann nicht größer sein als die Key-Länge (denn durch Ausprobieren jedes möglichen Schlüssels der gegebenen Länge würde man den zutreffenden finden). Bei symmetrischen Verschlüsselungsverfahren ist die kryptografische Sicherheit meistens etwas kleiner als die Key-Länge, bei asymmetrischen Verfahren ungefähr genauso groß.