GnuPGを使ってみる
興味がありつつも使い方がわからないので放置していたのですが、あさあささんトコに簡単な解説があったので実験してみました。
基本として、暗号化したデータを送る場合に通常の方法だとデータの送り側から受け側にパスワードを伝達する際に第三者に漏れて解読されてしまう恐れがあるので、これを改善するために暗号化と復号化で違うパスワードを使用するという方法。具体的には
という理解でいいのかな。
実験では受け側をWindows PC、送り側をzaurusにしてみました。それぞれのGnuPGに入手先は以下
双方とも使用したバージョンは1.4.7です。Win版はインストールしてもパスが通らないみたいなので設定するかフルパスで指定します。なんかまともにやると公開鍵をサーバに登録したり署名したりとあるみたいですが、その辺は行いませんでした(というか良くわからん)
- PCでキーの生成、2048はデフォルト値です。これでも生成時間が少しかかりました。
> gpg --gen-key 鍵タイプ 1 鍵長 2048 有効期限 0(無期限) 名前、メールアドレス パスフレーズ入力
- 公開鍵をファイル出力、ファイルpubkey.ascに出力。useridはあさあささんに習ってメールアドレスにしました。
> gpg -o pubkey.asc -a --export userid
- 公開鍵(pubkey.asc)をザウルスにコピー
- ザウルス側で公開鍵を取り込み
$ gpg --import pubkey.asc $ gpg --fingerprint 入手した鍵の表示
- 入手した公開鍵で暗号化、UserIDを聞かれるので受け手のメールアドレス(の一部でもOKみたい)を入力
$ gpg -o filename.asc -ea filename
- 暗号化されたfilename.ascをPCへ持ってくる
- PCで復号化
> gpg -o filename -d filename.asc パスフレーズ入力
復号化されてできたfilenameの内容がザウルス側にあるオリジナルのfilenameと内容が同じならOK。