Regelwerk für Ermittluing der Algorithmen

Klara Hofmann k.hofmann81 at web.de
Fr Feb 19 09:27:42 CET 2016


Hallo,

(Ich habe diese Frasge bereits gestern an die Liste geschikt, dabei
dürfte aber ein Fehler passiert sein.)

Mich interessiert das Regelwerk, nach dem GnuPG den Algorithmus
ermittelt, mit dem verschlüsselt bzw. signiert wird, wenn ein Benutzer A
mit dem Schlüssel von Benutzer B Dateien/Daten verschlüsselt.

Wenn A für den Schlüssel von B verschlüsselt, so
können A und B ihre bevorzugten Algorithmen ja in Präferenzlisten schreiben:
A schreibt z.B. in seine Konfigurationsdatei rein (ohne die --):
--personal-cipher-preferences
--personal-digest-preferences
--personal-compress-preferences

B wiederum kann mit --edit-key --> setpref ebenfalls
Präferenzenlisten für sein Eigenzertifikat erstellen. Auch diese wird ja
von GnuPG ausgewertet, wenn A für B verschlüsselt und/oder signiert.

Nach meinen Beobachtungen habe ich bisher folgendes Regelwerk
rekonstruieren können:

1. Wenn die Präferenzlisten As und Bs exakt dieselben Algorithmen in
derselben Reihenfolge enthalten --> jeweils der erste angeführte Algo
gewinnt (trivialer Fall: vollkommene Gleichheit: dieselben Algorithmen,
dieselbe Reihenfolge in den Listen).
2. Wenn die drei Schnittmengen nicht leer sind, es aber Unterschiede in der
Reihenfolge der Algos gibt --> der erstgenannte geeignete Algo des
Absenders gewinnt (geeignet = er kommt auch in der Präferenzliste Bs vor).
3. Wenn eine Schnittmenge leer ist, dann wird weder A noch B bevorzugt,
sondern es wird der in im OpenPGP-Standard empfohlene oder
vorgeschriebene Algorithmus verwendet (3DES, SHA1, kleinster gemeinsamer
Nenner).
4. Wenn man mehrere Empfänger-Schlüssel angibt (--encrypt-to,
--recipient mehrmals verwenden), dann werden auch die Präferenzlisten
dieser Schlüssel ausgewertet.

Bisher hat sich dieses Regelwerk bewährt.

Nicht aber im folgenden Fall:

A (der Absender) verwendet z.B. in seiner Konfigurationsdatei folgende
Optionen:

--personal-cipher-preferences TWOFISH BLOWFISH AES 
--personal-digest-preferences RIPEMD160 SHA384
--personal-compress-preferences ZIP

B hat im Eigenzertifikat seines Schlüssels folgende Präferenzliste
festlegt: CAST5 CAMELLIA128 AES192 SHA512 MD5BZIP2 ZLIB.

Die Schnittmengen für die Algorithmen sind leer. GnuPG müsste daher
jeweils den kleinsten gemeinsamen Nenner verwenden: 3DES, SHA1 und ZIP.

Wenn ich diesen Fall durchspiele, erweist sich meine Hypothese aber als
falsch. GnuPG wählt CAST5 und SHA512.
Weshalb ist das so? Kennt jemand vielleicht das tatsächliche Regelwerk?

In meiner gpg.conf werden keine Algorithmen ausgeschlossen.

Klara



Mehr Informationen über die Mailingliste Gnupg-de