web-dev-qa-db-ja.com

LinuxとWindowsの両方でGnuPGのデフォルトの暗号を変更するにはどうすればよいですか?

GnuPGで使用されるデフォルトの対称暗号をCAST5から別の暗号に変更するにはどうすればよいですか?

私はWindowsでGPG4Winを使用していますが、Linuxのソリューションにも興味があります。

4
RPK

グラフィカルユーザーインターフェイスにオプションがない場合は、代わりにGnuPGの構成ファイルを編集します。結局、GnuPGのグラフィカルユーザーインターフェイスは、GnuPGコマンドラインを呼び出す以外に何もしません。

他の人への暗号化

暗号化に使用するアルゴリズムを他の人に暗号化するためのオプションは2つありますcipher-algo [algorithm]およびpersonal-cipher-preferences [algorithm]。後者は、他のユーザーのアルゴリズム機能と設定を考慮に入れ、OpenPGP標準に準拠しているため、推奨されます。一方、cipher-algoは特定のアルゴリズムを適用します。

gpg --versionを実行すると、使用可能なアルゴリズムを検索できます。Windowsでは、事前にgpg.exe --versionおよびcdをインストールディレクトリに呼び出さなければならない場合があります。出力例は次のとおりです。

Cipher: IDEA, 3DES, CAST5, BLOWFISH, AES, AES192, AES256, TWOFISH,
        CAMELLIA128, CAMELLIA192, CAMELLIA256

AES256の使用を強制するには、gpg.confファイルを編集して次の行を追加します。

personal-cipher-preferences AES256

暗号化されたメッセージの受信

また、暗号化されたメッセージを送信するときに他の人に選択させるアルゴリズムを設定することもできます。これはコマンドラインでのみ使用できる場合がありますが、他のクライアントアプリケーションが使用しているクライアントアプリケーションに関係なく影響します(ただし、これは設定の提案であり、強制されないため、上記のcipher-algoと比較してください)。

gpg --edit-key [key-id]を使用して編集メニューを開始します([key-id]をキーIDに置き換えます。上記のように、再度gpg.exeを使用する必要がある場合があります)。内部では、showprefを使用して現在設定されている設定を一覧表示し、setprefを使用してそれらを変更できます。そのためのユーザーインターフェイスはhorribleであり、暗号、ダイジェスト、および圧縮アルゴリズムの長いリストを提供する必要がありますが、優先されるものは常に最初にリストされます。

debian-administration.orgの記事 もこの手順を説明しており、以下の設定を提案しています。

setpref SHA512 SHA384 SHA256 SHA224 AES256 AES192 AES CAST5 ZLIB BZIP2 Zip Uncompressed
7
Jens Erat

更新:Gpg4winの場合、2つのオプションが表示されます。

  • S/MIMEの場合、GUIにはそれを設定する場所があります(設定-> Kleopatraの構成-> GnuPGシステム-> S/MIMEのGPG->暗号アルゴリズムを使用)
  • それ以外の場合は、基になるgpg.confファイルを変更する必要があります

@ jens-eratはすでに後者についてより詳しく説明していますが、私はそれを自分で遊んだことに基づいて次の入力を提供します。

  1. 使用するコマンドラインgpgは%INSTALLDIR%\ gpg2.exeです。 C:\ Program Files(x86)\ GNU\GnuPGに機能する私のシステムで
  2. gpg2 --versionを実行してHome: C:/Users/gowenfawr/AppData/Roaming/gnupgのような行を探すことにより、homedir(gpg.confを配置する必要がある場所)を見つけることができます。

元の(非GUI)回答:

コマンドラインgpgを使用している場合は、-cipher-algo引数を使用して暗号を選択できます。-versionを使用して、暗号が利用可能です。

(ここに示すテストはLinuxで、Windowsでも同等です)

$ gpg --version
gpg (GnuPG) 1.4.16
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Home: ~/.gnupg
Supported algorithms:
Pubkey: RSA, RSA-E, RSA-S, ELG-E, DSA
Cipher: IDEA, 3DES, CAST5, BLOWFISH, AES, AES192, AES256, TWOFISH,
        CAMELLIA128, CAMELLIA192, CAMELLIA256
Hash: MD5, SHA1, RIPEMD160, SHA256, SHA384, SHA512, SHA224
Compression: Uncompressed, Zip, ZLIB, BZIP2
$ file test*
test1.txt: ASCII text
test2.txt: ASCII text
$ gpg --cipher-algo TWOFISH -c test1.txt 
Enter passphrase: 
Repeat passphrase: 
$ gpg --cipher-algo AES256 -c test2.txt 
Enter passphrase: 
Repeat passphrase: 
$ file test*
test1.txt:     ASCII text
test1.txt.gpg: GPG symmetrically encrypted data (TWOFISH cipher)
test2.txt:     ASCII text
test2.txt.gpg: GPG symmetrically encrypted data (AES256 cipher)
$ 
1
gowenfawr