こんにちは。
職人見習いの木村です。

今回は、Linux上でGnuPGを使ってファイルを暗号化する手順を紹介します。

まずは、キーペアを作成します。

gpg --gen-key


まず、鍵の種類を選択します。
今回は、(1)RSA and RSA(default)を選択します。


次に、鍵のbit数を決めます。
今回はデフォルトの2048bitにします。


次は、有効期間を決めます。
今回は、とりあえず、無期限にしておきます。


次に、署名を作成します。
必要な情報を入力していきます。


最後に、パスフレーズを入力します。


ここまで、設定ししばらく待つと、キーペアが作成されます。
待ってる間に、キーボードを適当に打ったり、マウスを動かしたりしておきましょう。(乱数生成のため)

以下のようなメッセージが出れば、キーペア作成完了です。

.gnupgファイルが出来ているはずなので確認しておきます。

中身には以下のようなファイルが入っています。

これで、準備は完了です。
それでは、実際に暗号化します。
以下のような、csvファイルを用意しておきます。

hoge.csv

1,kimura
2,takashima
3,saito

これを、暗号化します。

gpg -e -a -r hoge@hoge.com hoge.csv

hoge.csv.ascというファイルが出来れば成功です。
この中身を見てみると、

—–BEGIN PGP MESSAGE—–
Version: GnuPG v2.0.14 (GNU/Linux)

hQEMA/w3R3LIRHGzAQf/QYEzLW5OsdSPdTnFMHEwS0+R+KRI3m//eILyahdMdwdm
NJFeKn5aZfgRvVzB7A1kQZQ+gIhJThpai+02bq0TCgUITXNz7GT1Y1RVuuhnWH5W
VDrYxYoCJPEVBwc8pR7ADaFCbZsdgmJXnRk+r1OnstJX9tfQU+fVnTy+syx0AYnc
rRX8gxvWwt9SuKVrsytbZGcL1ViTGOCVJXlThNMmjQ7cPUr+CW9IY3ELpG0wygF9
zvzCaD4IBeprg79Q7aHNQM/fdp/xTtnK1rutCzGpfVXoPQSCNFQSEimPIkLqvBMF
VzQ0hYsQcZGsDIgiuBUxaphgqFD6XeC1K8Vwpdzp2tJhAUVWX02cqyAQgyaWJebi
OdrhhqsTWiy4r9z1jxxFcFur/YkAI4xJpW6fMr4cIH48tYCZjmFksM6Mf1UZbMs3
pDnHA8KxuyXf45Bw0QBjwBAOOiaf/1feko9TLc/DEloAFw==
=laPx
—–END PGP MESSAGE—–

このように暗号化されています。

復号化するには、以下のようなコマンドを打つだけです。

gpg -d hoge.csv.asc

パスフレーズが求められるので、キーペア作成時に設定したパスフレーズを入力します。

すると以下のように復号化結果が返ってきます。

gpg: 2048-ビットRSA鍵, ID C84471B3, 日付2012-03-26に暗号化されました
      “hoge (test) ”
1,kimura
2,takashima
3,saito

以上のような手順で、暗号化&復号化ができます。
個人情報等を扱うファイルを転送する場合に、有効な手段です。

※この記事は、なかの人(moresmileman)が書いています。