gpg --version
と入力し(改行し: 今後は省略する)てみてバージョン情報が出力されればパスが通っている証拠です。この時に「'gpg' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。」などのメッセージが出たらパスが通っていないので gpg.exe があるフォルダにパスが通るようにして ください。
まず, パスフレーズのみで暗号化されたファイルを復号化してみましょう。下記の点線の間の一見無意味な 文字列を(多少余分にコピーしても大丈夫です)コピーして test.txt.asc という名前でマイドキュメント の下の gpg フォルダに保存して下さい。
-----BEGIN PGP MESSAGE----- Version: GnuPG v1.4.5 (MingW32) jA0EAwMCCCN55gljrTNgycEij4UJkjAwWC3DtPEwawgGD5QApLtly/fhAZKqq3MI eK6pRzWWVVKiV6AYGr/8f5wOr4H0mqR92llq7GRPoizxNcTjaNKOH5dWSx2YAR5I pUeZKcZ0q1jkOJJxIl73mRDqR8/TaLCkWvZvzd/i5BmOkCZlluUtf71ehJIXmXtY Db8SUSHPuC1hGGTfz79l0AIEwQjJgDjgNzwuyBbAvYuqZShomKcXpvBYBj87oUol I/FiY6Ko2V1kVzgRpcphcQqzsATZRzcZinvzHpyYvp1nFhJ5c9fQfKKxPC2FSQC0 z5PEx4HX1Kd4epofihGXgs6s0pjs3XHjYlf5UWowIZuz1g+rhwOvhr6uaf+0jTIl FSWjv3pAS5w7d2EHiLJXhrYU2Tun8yUlAZqv33/WOWdj1kG6nt3oMXMqKBF4Sh1V qGILPmeUpOM1QltNNrgyAXr6m3tOiPI2fjRQdNJGkp35tjOkZ6nEH5fKNkvpmj9e 4yvPrIpcWYGlnIRJyYnwRaO2717t0LsIQcdnglcWnWaFSvZozX1IcD79ONpB3AW2 P6hW5YNnnvL4qB+8Klhp87kMWBlSIQwBKVJRDKX6dTGt2WqAwcyfIkYg2jA++CQP oYexA6zPb+CF2kuRnVvns90i+lM= =x34C -----END PGP MESSAGE-----コマンドプロンプトで
gpg test.txt.asc
と打ち込みて実行してください。パスフレーズの入力を求められますので test と入力してください。 gpg フォルダに test.txt というファイルができています。それをメモ帳でみてください。意味のある文字 列になっています。gpg -ca test.txt
と打ち込み実行してください。パスフレーズの入力を求められますので好きな文字列を入力してくだ さい。その文字列を復号化のときに使うことになります。gpg フォルダに test.txt.asc というファイルができて います。それをメモ帳でみてください。上のような(全く同じではありません)一見意味のない文字列が見えるはず です。一般に,gpg -ca filename
でどのようなファイルも暗号化できます。ここではテキストファイルの暗号化をしましたが, テキストファイルでな くても暗号化できます。パスフレーズのみでの暗号化は gpg の本来の使い方ではありません。gpg は公開鍵暗号系のソフトウェアですので, 公 開鍵を使って暗号化するのが本来の使い方です。まず, 自分だけが読める暗号文を作成してもらうためには, 作成者に 自分の公開鍵を渡す必要があります。そのために公開鍵を作成しましょう。そのとき同時にその公開鍵で暗号化された 文書を復号化するための秘密鍵が作成されます。秘密鍵は決して他人に渡してはいけません。
なお, それほど機密性の高くない文書の復号化に使う機密鍵についてはこれほどの神経を使う必要はありません。
gpg --gen-key
と入力し, 鍵の生成を開始します。まず入力を求められるのが鍵の種類です。「(1) DSAとElgamal既定)」を選択するので 何も入力しないで改行してください。次に鍵の長さを設定を求められます。2048 でいいの何も入力しないで改行してくださ い。次に鍵の有効期限の指定が求められます。無期限でいいので何も入力しないで改行してください。Key does not expire at all これで正しいですか? (y/N)と尋ねられますので, y と入力してください。 次に本名、電子メール、コメントなどを尋ねられますので入力してください。これにより鍵に名前のついたヘッダを追加 することができます。本名は 5 文字以上の半角英数字を入力する必要がありますが, 電子メール、コメントは何も書かな くても構いません。
gpg: 鍵A49122E0を絶対的に信用するよう記録しました 公開鍵と秘密鍵を作成し、署名しました。 gpg: 信用データベースの検査 gpg: 最小の「ある程度の信用」3、最小の「全面的信用」1、PGP信用モデル gpg: 深さ: 0 有効性: 2 署名: 7 信用: 0-, 0q, 0n, 0m, 0f, 2u gpg: 深さ: 1 有効性: 7 署名: 0 信用: 0-, 0q, 0n, 0m, 7f, 0u gpg: 次回の信用データベース検査は、2008-07-07です pub 1024D/A49122E0 2007-02-11 指紋 = 105F 7790 6D00 3AFE 3118 85BA B0FC B285 A491 22E0 uid komori sub 2048g/53A4AE09 2007-02-11のようなメッセージが出て終了します。
gpg -o pubkey.asc -a --export userid
userid は鍵を作るときに入力した本名などの文字列(の一部)です。フォルダ gpg に pubkey.asc ができています。 pubkey.asc をフロピーディスクなどに入れて手渡すのが一番安全に渡す方法です。pubkey.asc の中身を電子メール に貼り付けて送ることも可能ですが, その場合は悪意をもった者があなたに成りすまして送ったものかどうかを, 受け取った人が判断できない可能性があります。gpg --import pubkey.asc
これでその人だけが読める暗号文を作れるようになります。例えば, 私の公開鍵が ここ にありますので, それを gpg フォルダに KOMORI.asc という名前で保存し次のコマンドを実行してください。gpg --import KOMORI.asc
これで私だけが読める暗号文を作れるようになります。gpg -R komori -eas test.txt
まだ鍵署名もしていないし信用データーベースも更新していないので, 警告メッセージが出るかもしれませんが 無視してください。上の例では署名もするように指定しているのでパスフレーズの入力を求められます。鍵を作るとき に指定したパスフレーズを入力してください(署名が必要ない場合は '-eas' の部分を '-ea' に変えてください)。 test.txt.asc というファイルができます。警告メッセージが出ないよう にしたければここ を参考にして鍵署名と信用データーベースの更新をしてください。gpg test.txt.asc
test.txt.asc を復号化しようとしますが, あなたは私の秘密鍵を持っていないので復号化はできません。 自分にも復号化できるように暗号化するには次のコマンドを実行します。gpg -R komori -R yourid -eas test.txt
yourid には先ほど作った鍵の本名などの文字列(の一部)を入れます。また, test.txt.asc というファイ ルができますので次のコマンドを実行します。gpg test.txt.asc
今度は復号化(署名の検証も同時に行われる)ができるはずです。一般にgpg -R user1 -R user2 -R user3 -R user4 -eas filename
で user1, user2, usser3, user4 の 4 人が復号化できる署名つき暗号ファイル filename.asc が作成されます。 この人数が多くなるとコマンドプロンプトに書くのが大変になります。そのときは次のようにします。------------------------------------------------------------- armor hidden-recipient user1 hidden-recipient user2 hidden-recipient user3 hidden-recipient user4 hidden-recipient user5 hidden-recipient user6 hidden-recipient user7 hidden-recipient user8 hidden-recipient user9 hidden-recipient user10 hidden-recipient user11 hidden-recipient user12 hidden-recipient user13 hidden-recipient user14 hidden-recipient user15 hidden-recipient user16 hidden-recipient user17 encrypt sign ---------------------------------------------------------上の点線の間(点線を含んではいけません)をコピーして gpgoptions というファイル名で gpg フォルダ に保存してください。そして次のコマンドを実行すると 17 人が復号化できる暗号文 test.txt.asc が作成されます。 あなたはまだ 17 人もの公開鍵を鍵束に登録していないでしょうから, 下のコマンドは実行しないで下さい。
gpg --options gpgoptions test.txt
ためしに,------------------------------------------------------------- armor hidden-recipient komori hidden-recipient yourid encrypt sign ---------------------------------------------------------を gpgoptions というファイル名で gpg フォルダに保存して上のコマンドを実行してみてください。 前に実行した
gpg -R komori -R yourid -eas test.txt
というコマンドと全く同じ働きをします。gpg --clearsign test.txt
これを実行するとパスフレーズの入力を求められ, 正しく入力すると test.txt.asc というファイルができます。その 中身は次のようなものです。============================================================================================================ -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 GNU Privacy Guard のダウンロードとインストール まず GNU Privacy Guardをダウンロードする必要があります。ダウンロードは http://www.gnupg.org/ よりダウン ロードしてください。コンパイルする必要があるものとバイナリでダウンロードできるものもあります。これは使用 しているのオペレーティングシステムによって違ってきます。使用しているのオペレーティングシステムにあったも のをダウンロードしてください。 WindowsXp などの Microsoft Windows を使っている人は http://www.gnupg.org/ から辿れるところにある ftp://ftp.gnupg.org/gcrypt/binary/gnupg-w32cli-1.4.6.exe をダウンロードすればいいです(バージョンが更新されていると gnupg-w32cli-1.4.6.exe の部分が gnupg-w32cli-1.4.8.exe などに変わっています)。ダウンロードした gnupg-w32cli-1.4.6.exe を(ダブルクリックして) 実行すればインストールができます。 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.5 (MingW32) iD8DBQFF0Ad4XyRp9hwc+jsRAmpUAKDPwwHj89DJdRd68RoPW6eyhKc8PQCeI1DE hFxOlgxfi+zGa9mVAY0NjAs= =Sntr -----END PGP SIGNATURE----- ==============================================================================================================内容は全く暗号化されていませんが下のほうに署名がついています。 次のコマンドでこの署名を検証することができます。
gpg test.txt.asc
2007 年 2 月 12 日に作成
2007 年 5 月 27 日に更新
2007 年 11 月 26 日に更新