Information on how to protect your privacy and cryptography in Japanese. Dedicated to Bananafish.
Home | Tin-foil hat | Encryption | Cryptography | Miscellaneous | Site Map | Email & PGP Key
GnuPG(インストール) for Windows Users
インストール
ここから最新版をダウンロードする。
インストーラから GnuPG をインストールする。
GnuPG のディレクトリにパスを通しておく。
チェック
DOS コマンドプロンプトから "gpg --version" と入力してリターン。
下のようなメッセージが表示されたらインストール完了。
gpg (GnuPG) 1.4.1
Copyright (C) 2005 Free Software Foundation, Inc.
This program comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it
under certain conditions. See the file COPYING for details.
Home: C:/Documents and Settings/bporter/Application Data/GnuPG
Supported algorithms:
Pubkey: RSA, RSA-E, RSA-S, ELG-E, DSA
Cipher: 3DES, CAST5, BLOWFISH, AES, AES192, AES256, TWOFISH
Hash: MD5, SHA1, RIPEMD160, SHA256, SHA384, SHA512
Compression: Uncompressed, ZIP, ZLIB, BZIP2
GnuPGのWindows 版GUIフロントエンド
GPGShell
(私はこれを使っています)
WinPT
(使っていないので分かりませんが高機能なようです)
GPGee
(エクスプローラから GnuPG を扱えるようにするようです)
GnuPG(鍵の作成)
鍵の作成
新しい鍵ペアを作る(鍵ペア(key pair): 秘密鍵と公開鍵)
gpg --gen-key
最初の質問はどのアルゴリズムを使うかの選択です。
特に何もなければデフォルトの DSA/ ElGamal をお勧めします。
1 を入力後 Enter
次の質問は鍵の長さです。
鍵が長くなれば解読される可能性は低くなりますが処理時間が長くなります。
2048 を入力後 Enter
次に鍵の有効期限を聞いてきます。
0 を入力後 Enter
確認メッセージが出るので
y を入力後 Enter
名前を聞いてくるので名前を入力して Enter
次にメールアドレスを入力して(入力しなくても構いません) Enter
そしてコメントを入力して(入力しなくても構いません) Enter
すると名前、メールアドレス、コメントに間違いが無いか聞いてくるので、間違いが無ければ o(ok の o)を入力して Enter
最後にパスフレーズを入力します。
パスワードではありませんのでスペースやシフトキーも組み合わせて下さい。
良いパスフレーズは下の要素を持った物です。
* 十分な長さ
* アルファベット以外のキャラクタを含んでいる。
* 名前とかではなく、想像がつきにくい
パスフレーズの入力と再入力が終わると鍵の生成が始まります。
GnuPG(基本的な使い方)
1.公開鍵のエクスポート
gpg --export [UID]
もし UID を省略すると全ての鍵がエクスポートされます。
デフォルトでは出力は stdout でバイナリです。 -o option を付けるとファイルに出力されます。 -a option を付けると ASCII で出力されます。
gpg -o pubkey.asc -a --export [UID]
2.鍵のインポート
gpg --import [Filename]
3.鍵の破棄
gpg --gen-revoke [UID]
これは破棄証明書を作成します。その為には秘密鍵とパスフレーズが必要です。
4.鍵の管理
gpg --list-keys
全ての鍵が表示されます。
gpg --list-sigs
全ての鍵のシグネチャが表示されます。
gpg --fingerprint
全ての鍵のフィンガープリントが表示されます。
gpg --list-secret-keys
秘密鍵が全て表示されます。
gpg --delete-key [UID]
公開鍵の削除。
gpg --delete-secret-key
秘密鍵の削除。
gpg --edit-key [UID]
様々な鍵への操作を行います。
5.鍵への署名
gpg --edit-key [UID] コマンドで署名したい鍵を選択して、 sign コマンドで署名します。
6.暗号化と複合化
6.1.暗号化
gpg -e Recipient [Data] または gpg --encrypt Recipient [Data] です。
gpg -o [Filename] --encrypt -r [Recipient] [Data]
この場合は [Recipient] の公開鍵で [Data] を暗号化して [Filename] というファイルに出力する。
6.2.複合化
gpg -d [Data] または gpg --decrypt [Data] です。
gpg -o [Filename] -d [Data] です。
この場合は [Data] を複合化して [Filename] というファイルに出力する。
7.署名と署名のチェック
データに自分のキーで署名する時は下のコマンド。
gpg -s (or --sign) [Data]
この場合は圧縮されるので読むことが出来ません。
読めるようにしたい場合は下のコマンドでクリアサインを使って下さい。
gpg --clearsign [Data]
バイナリファイルのように署名ファイルを別のファイルに分けたい時は下のコマンドを使う。
gpg -b (or --detach-sign) [Data]
また --armor option を付ける事もできます。
また暗号化して署名する場合は下のようになります。
gpg [-u Sender] [-r Recipient] [--armor] --sign --encrypt [Data]
署名されたデータをチェックする時はしたのコマンドを使う。
gpg [--verify] [Data]
これは署名した人の公開鍵を持っている時にだけ使えます。
GnuPG (Key Type)
Key Type の見方
gpg --edit-key [ユーザーID] で鍵を選択する。
pub 1024D/xxxxxxx created: expires: usage: CS
sub 2048g/xxxxxxx created: expires: usage: E
上のような表示がされます。
1024D, 2048g の記号の意味は
D == DSA
g == ElGamal
R == RSA
usage: の意味は
C == certify (他の鍵に署名)
S == sign (データに署名)
A == authenticate (e.g. ssh)
E == encryption (暗号化)
GnuPG(ユーザ ID の追加と削除)
ユーザ ID の追加
gpg --edit-key [ユーザーID] で鍵を選択する。
adduid と入力して Enter
名前、メールアドレス、コメントを入力して OK なら O を入力して Enter。
パスフレーズを入力する。
quit で処理を終了させる。
変更を保存しますか? (y/N) と聞かれたら、y で保存して終了。
ユーザ ID の削除
gpg --edit-key [ユーザーID] で鍵を選択する。
uid を入力して Enter で1番目のユーザ ID が選択される。
(選択された ユーザ ID に * が付く)
もう一度、選択されたユーザ ID を選ぶと選択解除。
uid または uid 0 で全てのユーザ ID の選択を解除。
deluid と入力して Enter
このユーザーIDを本当に削除しますか? (y/N) に y を入力して Enter で選択されたユーザ ID が削除される。
quit で処理を終了させる。
変更を保存しますか? (y/N) と聞かれたら、y で保存して終了。
GnuPG(副鍵の追加と削除)
副鍵の追加
gpg --edit-key [ユーザーID] で鍵を選択する。
addkey と入力して Enter
パスフレーズを入力する。
鍵の種類を選択する。
ここでは (4) Elgamal (暗号化のみ) を選択するので 4 を入力して Enter
鍵の長さを入力します。
鍵の有効期限を指定する。
これで正しいですか? (y/N) の確認に y を入力する。
本当に作成しますか? (y/N) ともう一度聞いてくるので y を入力すると鍵の生成が始まる。
quit で処理を終了させる。
変更を保存しますか? (y/N) と聞かれたら、y で保存して終了。
副鍵の削除
gpg --edit-key [ユーザーID] で鍵を選択する。
key 1 を入力して Enter で1番目の副鍵が選択される。
(選択された Key に * が付く)
もう一度、選択された副鍵を選ぶと選択解除。
Key または Key 0 で全ての副鍵の選択を解除。
delkey と入力して Enter
この鍵を本当に削除しますか? (y/N) に y を入力して Enter で選択された副鍵が削除される。
quit で処理を終了させる。
変更を保存しますか? (y/N) と聞かれたら、y で保存して終了。
GnuPG(対称鍵暗号で暗号化)
対称鍵暗号で暗号化する
gpg -c test.txt
パスワードの入力と再入力を終えると
test.txt.gpg が出来る。
複合化は
gpg test.txt.gpg
パスワードを入力すると
test.txt が出来る。
GnuPG(gpg --edit-key)
quit
quit this menu
このメニューを終了
save
save and quit
保存して終了
help
show this help
このヘルプを表示
fpr
show fingerprint
指紋を表示
list
list key and user IDs
鍵とユーザーIDの一覧
uid
select user ID N
ユーザーID Nの選択
key
select secondary key N
副鍵Nの選択
check
list signatures
署名の一覧
sign
sign the key
鍵へ署名
lsign
sign the key locally
鍵へ内部的に署名
nrsign
sign the key non-revocably
失効できないよう鍵へ署名
nrlsign
sign the key locally and non-revocably
失効できないよう鍵へ内部的に署名
adduid
add a user ID
ユーザーIDの追加
addphoto
add a photo ID
フォトIDの追加
deluid
delete user ID
ユーザーIDの削除
addkey
add a secondary key
副鍵の追加
delkey
delete a secondary key
副鍵の削除
addrevoker
add a revocation key
失効鍵の追加
delsig
delete signatures
署名の削除
expire
change the expire date
有効期限の変更
primary
flag user ID as primary
ユーザーIDを主にする
toggle
toggle between secret and public key listing
秘密鍵と公開鍵の一覧の切替え
pref
list preferences (expert)
選好の一覧 (エキスパート)
showpref
list preferences (verbose)
選好の一覧 (冗長)
setpref
set preference list
選好の一覧を設定
updpref
updated preferences
選好の一覧を更新
passwd
change the passphrase
パスフレーズの変更
trust
change the ownertrust
所有者信用の変更
revsig
revoke signatures
署名の失効
revuid
revoke a user ID
ユーザーIDの失効
revkey
revoke a secondary key
副鍵の失効
disable
disable a key
鍵の使用を禁止する
enable
enable a key
鍵の使用を許可する
showphoto
show photo ID
フォトIDを表示
clean
clean unusable parts from key
GnuPG(Key Servers)
公開鍵の検索
gpg --keyserver 鍵サーバ名 --search-keys メールアドレス or 名前
表示された公開鍵の先頭番号を入力すると,その人の公開鍵がインポートされる。
"N"を入力すると最大表示件数(10件)以降の一覧が表示される。
"Q"を入力で終了。
公開鍵を鍵サーバへ登録
gpg --keyserber 鍵サーバ名 --send-keys メールアドレス or 名前 or 鍵ID
公開鍵の取り込み
gpg --keyserber 鍵サーバ名 --recv-keys 鍵ID
インポートした公開鍵の更新
gpg --keyserber 鍵サーバ名 --refresh-keys
鍵サーバ名はサーバの URL を指定する。
前半部分には ldap:, hkp:, finger:, http: が来る。
Key Servers
http://pgpkeys.pca.dfn.de:11371
hkp://blackhole.pca.dfn.de
http://pgp.dtype.org:11371
pgp.dtype.org:11371
subkeys.pgp.net
keyserver.kjsl.com
ldap://certserver.pgp.com
hkp://sks.keyserver.penguin.de
random.sks.keyserver.penguin.de
hkp://the.earth.li
ldap://horowitz.surfnet.nl:11370
GnuPG(その他のコマンド)
ハッシュ・アルゴリズムの設定
digest-algo RIPEMD160
cert-digest-algo RIPEMD160
破棄された又は有効期限の切れた署名の削除
gpg --edit-key (your key)
clean sigs
Use just "clean" to remove revoked/expired uids as well.
インポート・エクスポート時に自動でクリーンにするセッティング
--import-options import-clean-sigs import-clean-uids
--export-options export-clean-sigs export-clean-uids
破棄証明書自身は削除されない。
GnuPG(アルゴリズム)
Version 1.4.1 でサポートしているアルゴリズム
Cipher-Algos
S1: IDEA, S2: 3DES, S3: CAST5, S4: BLOWFISH, S7: AES, S8: AES192, S9: AES256, S10: TWOFISH
Digest-Algos
H : MD5, H2: SHA1, H3: RIPEMD160, H6: TIGER192, H8: SHA256, H9: SHA384, H10: SHA512
Compress-Algos
Z0: Uncompressed, Z1: ZIP, Z2: ZLIB, Z3: BZIP2
GnuPG (Tips)
keyserver への http アクセスを Tor 経由にする
gpg.conf の keyserver-options に http-proxy=http://127.0.0.1:8118 を追加する。
GPGShell からは Preferences | GnuPG で keyserver-options をクリックして http-proxy に http://127.0.0.1:8118 を追加する。
Enigmail でメールを受信した時に自動でパブリック・キーをインポートする
gpg.conf に keyserver-options aut-kye-retrieve を追加する。
Links
List of public key servershttp://www.cryptnet.net/fdp/crypto/gpg-party.html#ss5.1
Keyserver Web InterfacesPGPdump Web Interface
PGP の互換性