gpg2 - keine Option zur Auswahl einer Aes-Block-Chiffre und eines veralteten Use-Agenten?

1617

Mit OpenSSL kann ich auswählen, welche Art von Blockverschlüsselung zum Verschlüsseln einer Datei verwendet werden soll.

Wenn ich zum Beispiel eine Datei mit dem AES256 CBC-Blockverschlüsselungsmodus verschlüsseln möchte:

openssl aes-256-cbc -a -salt -pass pass:MYPASSWORD -in secrets.txt -out secrets.txt.enc 

In gpg2 versuche ich, eine Datei folgendermaßen zu verschlüsseln:

gpg2 --cipher-algo AES256 -a --no-use-agent --passphrase MYPASSWORD -c secrets.txt 

Es gibt zwei Probleme, bei denen ich Hilfe bekommen könnte:

  • Es gibt keine Option zum Angeben des zu verwendenden Verschlüsselungsblocks. Was ist, wenn ich AES256 CTR oder XTS anstelle von CBC möchte? Welcher Verschlüsselungsblock wird --cipher-algo AES256verwendet und wie kann ich etwas Bestimmtes angeben?

  • Der Befehl schlägt fehl, wenn ich die Passphrase nicht in den gnu password agent eingebe (ich versuche, die Passphrase im Befehl mit --passphraseund --no-use-agentzur möglichen Automatisierung auf einem vertrauenswürdigen Computer anzugeben):

    gpg: WARNUNG: "--no-use-agent" ist eine veraltete Option - sie hat keine Auswirkungen

    gpg: Problem mit dem Agenten: Ungültige Karte

    gpg: Fehler beim Erstellen der Passphrase: Vorgang wurde abgebrochen

    gpg: Die symmetrische Verschlüsselung von `secrets.txt 'ist fehlgeschlagen: Der Vorgang wurde abgebrochen

3
Beachten Sie, dass aktuelle GnuPG-Versionen den Agenten für Kryptooperationen verwenden. Sie können es nicht deaktivieren. grawity vor 9 Jahren 0
@ grawity Es ist also nicht möglich, gpg2 enc / dec-Vorgänge zu automatisieren? Es scheint, dass ich meine Passphrase manuell in den Agenten eingeben muss. vor 9 Jahren 0
Manpage ... Bei gpg2 müssen Sie die Option --batch anstelle von --no-use-agent verwenden. rsaw vor 9 Jahren 0
Vielleicht würde es helfen, wenn Sie erklären würden, was Sie erreichen wollen. Ich kann sagen, dass es eine Art Automatisierung ist, aber nicht wirklich sicher über Ihr Szenario markovuksanovic vor 9 Jahren 0

2 Antworten auf die Frage

1
Jens Erat

Cypher-Modus

OpenPGP erzwingt einen bestimmten Modus, einen modifizierten CBC-Modus, wie in RFC 4880 definiert . Sie können es nicht in etwas anderes ändern.

GPG-Agent

Wie bereits in den Kommentaren von @grawity festgestellt, extrahierten neuere Versionen von GnuPG 2 dem Agenten einige kryptografische Funktionen, so dass die Passphrase und der private Schlüssel dieses kleinere Programm nicht mit geringerer Wahrscheinlichkeit für Schwachstellen hinterlassen.

Ich denke, dass die Verwendung von gpg-preset-passphrase( Dokumentation für GnuPG 2.1 ) zum programmgesteuerten Festlegen der Passphrase der Weg für den Batch-Betrieb in GnuPG 2 ist. Eine Alternative könnte die Option --passphrase [-fd, file] sein, die immer noch zu sein scheint verfügbar in GnuPG 2.1.

0
markovuksanovic

Eine Liste der unterstützten Chiffren erhalten Sie gpg2 --version. Auf meinem Rechner erhalte ich folgende Ausgabe:

Ziffer: IDEE, 3DES, CAST5, BLOWFISH, AES, AES192, AES256, ZWEIFISCH, CAMELLIA128, CAMELLIA192, CAMELLIA256

Ich sehe jedoch keine Möglichkeit, zu CTR oder XTS zu wechseln.

Ich sehe auch keine Option zum Festlegen der Passphrase in der Befehlszeile. Möglicherweise können Sie jedoch die Verschlüsselung mit einem geheimen Schlüssel anstelle einer Passphrase versuchen.

Ich dachte, der geheime Schlüssel wurde aus der Passphrase generiert? vor 9 Jahren 0
@vcipq: Nein; lediglich verschlüsselt damit. grawity vor 9 Jahren 0