mk-mode BLOG

このブログは自作の自宅サーバに構築した Debian GNU/Linux で運用しています。
PC・サーバ構築等の話題を中心に公開しております。(クローンサイト: GitHub Pages

ブログ開設日2009-01-05
サーバ連続稼働時間
Reading...
Page View 合計
Reading...
今日
Reading...
昨日
Reading...

Linux - ファイルの暗号化・復号化(GnuPG, 公開鍵方式)!

[ pc_tips ] [ GnuPG, Linux, 暗号 ]

こんばんは。

The GNU Privacy Guard を使用して公開鍵方式でファイルを暗号化・復号化する方法についての記録です。

0. 前提条件

  • LMDE2(Linux Mint Debian Edition 2) での作業を想定。
  • 使用する GnuPG は 1.4.18 を想定。
  • ここでは、公開鍵(共通鍵)の詳細については説明しない。

1. 公開鍵のインポート

暗号化する側は、復号化する側が生成した公開鍵をメールなどで受け取った後、以下のようにしてインポートする。

1
2
3
4
$ gpg --import hoge_fuga.pub
gpg: 鍵AA260242:“Hoge Fuga (foo-bar) <hoge_fuga@foo-bar.xxx>” を読み込みました
gpg:     処理数の合計: 1
gpg:           読込み: 1

インポートされている鍵の確認は、以下のとおり。

1
2
3
4
5
6
$ gpg --list-keys
/home/hoge/.gnupg/pubring.gpg
-------------------------------
pub   2048R/AA260242 2016-11-04
uid                  Hoge Fuga (foo-bar) <hoge_fuga@foo-bar.xxx>
sub   2048R/AC922C7E 2016-11-04

2. 暗号化

1
$ gpg -e -a -r hoge_fuga@foo-bar.com password.txt
  • -e は、暗号化するオプション
  • -a は、ASCII 形式で出力するオプション
    ASCII 形式でなく、バイナリ形式で出力する場合は使用しない
  • -r xxxx@xxxx は、公開鍵を指定するオプション

暗号化が完了すると、 “password.txt.asc” (バイナリ形式の場合は “password.txt.gpg")というファイルが生成される。

3. 復号化

復号化する側は、暗号化されたファイルを何らかの方法で受け取った後、以下のようにして復号化する。

1
2
3
4
5
6
7
8
9
10
11
12
$ gpg password.txt.asc

次のユーザーの秘密鍵のロックを解除するには
パスフレーズがいります:“Hoge Fuga (foo-bar) <hoge_fuga@foo-bar.xxx>”
2048ビットRSA鍵, ID AC922C7E作成日付は2016-11-04 (主鍵ID AA260242)

パスフレーズを入力:

gpg: 2048-ビットRSA鍵, ID AC922C7E, 日付2016-11-04に暗号化されました
      “Hoge Fuga (foo-bar) <hoge_fuga@foo-bar.xxx>”
ファイル「password.txt」は既に存在します。上書きしますか? (y/N)
新しいファイル名を入力してください: password_2.txt

バイナリ形式の場合も同様に復号化できる。

1
$ gpg password.txt.gpg

重要なファイルを暗号化して相手に渡す際に役に立つでしょう。

以上。

Comments