GnuPG について (5) 使ってみる(まずは対象暗号から)

最低限の、インストールと、環境変数、レジストリの説明が済んだので、実際に gpg.exe を使って GnuPG の動作を確認していくことにする。
公開鍵暗号はいきなり使うにはハードルが高いので、まずは対称暗号機能から。

対称暗号というのは、昔ながらの、パスワードでデータを暗号化して、復号するときも同じパスワードを使う暗号方式のことだ。
GnuPG は公開鍵暗号で有名なのだが、対称暗号も使うことができる。

gpg.exe はコマンドラインツールなので、エクスプローラからダブルクリックしても、思うような動作はしてくれない(設定ファイルをよほどしっかり作れば動きはするが、そのような上級者はここでは対象としていない)。
まず、Windows のスタートメニューから、コマンドプロンプトを起動する必要がある。

C:\Documents and Settings\(ユーザー名) >

といった画面が表示されるはずだ(標準的な Windows XPの場合)。
この「C:\Documents and Settings\(ユーザー名)」フォルダに直接ファイルが作られたりすると気持ち悪いので、

C:\Documents and Settings\(ユーザー名) > CD "My Documents"

とやって、「マイドキュメント」フォルダに移動する。
さらに、

C:\Documents and Settings\(ユーザー名)\My Documents > MKDIR GPGTEST

とやって、テスト用のフォルダを作成。今後はこのテスト用フォルダ内で作業することにする。

C:\Documents and Settings\(ユーザー名)\My Documents > CD GPGTEST

続いて、コマンドプロンプトはそのままで、スタートボタンからメモ帳を起動し、暗号化するための適当なファイルを作る。
暗号化テストに使うだけなので、中身は何でも良い。「あいうえお」だけでもよい。
こうして作ったファイルに「test.txt」という名前をつけて、先ほどのGPGTESTフォルダに保存しておく。

ここまでの準備ができたら、暗号化作業が開始できる。
コマンドプロンプトに戻り

C:\Documents and Settings\(ユーザー名)\My Documents\GPGTEST > "C:\Program Files\GNU\GnuPG\gpg.exe" -c -o test.gpg test.txt

と入力する。
ここで、「-c」は対称暗号を使うというオプション、「-o test.gpg」は暗号化してできたファイルは「test.gpg」という名前にするというオプション、最後の「test.txt」というのが、暗号化対象のファイル名だ。
ここでエンターを押すと、パスフレーズを尋ねてくるので、適当なパスフレーズを入力する。今回はあくまでテストなので「12345678」といった簡単なパスフレーズでもかまわない。パスフレーズは確認のため、もう一度入力することになる。

これで、GPGTEST フォルダに「test.gpg」というファイルができているはずだ。
test.gpg をメモ帳で開けば、意味不明のデータになっていることを確認することもできる。

続いてこのデータを復号する。
復号するには

C:\Documents and Settings\(ユーザー名)\My Documents\GPGTEST > "C:\Program Files\GNU\GnuPG\gpg.exe" -d -o test2.txt test.gpg

と入力する。
「-d」はデータを復号するためのオプション。対象暗号でも公開鍵暗号でも区別せず「-d」を用いる。「-o test2.txt」は復号してできたファイルは「test2.txt」という名前にするというオプション、最後の「test.gpg」というのが、復号対象のファイル名だ。

これでエンターを押すとまず

gpg: CAST5暗号化済みデータ

と表示される。CAST5 というのは暗号方式の種類だ。2008年9月21日時点の GnuPG 1.4.9 では何も指定しない場合のデフォルトの暗号方式は CAST5 になる。AES ではない(この正確な理由は私は知らない。AES よりも先に GnuPG が出来ていたからか?)。

続いて、復号のためのパスフレーズ入力を求められる。
対称暗号なので、先ほど暗号化する際に入力したのと同じパスフレーズを入力すればよい。暗号化の際とは異なり、パスフレーズの入力は1回だけだ。
パスフレーズが正しいと

gpg: 1 個のパスフレーズで暗号化
gpg: 警告: メッセージの完全性は保護されていません

といったメッセージが表示される。
意味ありげなメッセージだが、今日のところは深くは追究しない。
test2.txt というファイルができていて、元の test.txt と中身が同じであることが確認できればよしとする。

ちなみに、パスフレーズを間違えると

gpg: 1 個のパスフレーズで暗号化
gpg: 復号に失敗しました: 鍵が不正です

といったメッセージが表示される。GnuPG では、対称暗号に用いられるパスフレーズも「鍵」と表現されるので少し紛らわしい。


なお、この例のように、GnuPG では、一度に暗号化できるファイルは一つだけである。複数のファイルを暗号化したければ別のソフトを用いて事前にファイルを一つにまとめておく必要がある(圧縮は GnuPG がやってくれるという前提で、圧縮率を 0 に設定した圧縮ソフトを使うことが多い)。

ブログ気持玉

クリックして気持ちを伝えよう!

ログインしてクリックすれば、自分のブログへのリンクが付きます。

→ログインへ

なるほど(納得、参考になった、ヘー)
驚いた
面白い
ナイス
ガッツ(がんばれ!)
かわいい

気持玉数 : 0

この記事へのコメント

この記事へのトラックバック