bobuhiro11's diary

GnuPGのメモ

09 Mar 2013
[GnuPG] [インストール] [メモ]

メールの暗号化のためにGnuPGをインストールしたので,そのメモです.インストールは,Homebrewから行いました.Homebewでgpgを検索してみると,”gpg”と”pgp2”がありましたが,よく分からなかったので,”gpg”を使いました.

$ brew install gpg

鍵の生成も,”gpg –gen-key”で一発でできます.

$ gpg --gen-key

gpg (GnuPG) 1.4.13; Copyright (C) 2012 Free Software Foundation, Inc.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
gpg: ディレクトリー「/Users/bobuhiro11/.gnupg」ができました
gpg: 新しい構成ファイル「/Users/bobuhiro11/.gnupg/gpg.conf」ができました
gpg: 警告: 「/Users/bobuhiro11/.gnupg/gpg.conf」のオプションは起動している間、有効になりません
gpg: 鍵輪「/Users/bobuhiro11/.gnupg/secring.gpg」ができました
gpg: 鍵輪「/Users/bobuhiro11/.gnupg/pubring.gpg」ができました
ご希望の鍵の種類を選択してください:
(1) RSA and RSA (default)
(2) DSA and Elgamal
(3) DSA (署名のみ)
(4) RSA (署名のみ)
選択は?
RSA keys may be between 1024 and 4096 bits long.
What keysize do you want? (2048)
要求された鍵長は2048ビット
鍵の有効期限を指定してください。
0 = 鍵は無期限
<n>  = 鍵は n 日間で満了
<n>w = 鍵は n 週間で満了
<n>m = 鍵は n か月間で満了
<n>y = 鍵は n 年間で満了
鍵の有効期間は? (0)
Key does not expire at all
これで正しいですか? (y/N) y
あなたの鍵を同定するためにユーザーIDが必要です。
このソフトは本名、コメント、電子メール・アドレスから
次の書式でユーザーIDを構成します:
"Heinrich Heine (Der Dichter) <[email protected]>"
本名: bobuhiro11
電子メール・アドレス: [email protected]
コメント:
次のユーザーIDを選択しました:
“bobuhiro11 (Website : http://bobuhiro11.net) <[email protected]>”
名前(N)、コメント(C)、電子メール(E)の変更、またはOK(O)か終了(Q)? O
秘密鍵を保護するためにパスフレーズがいります。
今から長い乱数を生成します。キーボードを打つとか、マウスを動かす
とか、ディスクにアクセスするとかの他のことをすると、乱数生成子で
乱雑さの大きないい乱数を生成しやすくなるので、お勧めいたします。
.....+++++
..............+++++
今から長い乱数を生成します。キーボードを打つとか、マウスを動かす
とか、ディスクにアクセスするとかの他のことをすると、乱数生成子で
乱雑さの大きないい乱数を生成しやすくなるので、お勧めいたします。
+++++
......+++++
gpg: /Users/bobuhiro11/.gnupg/trustdb.gpg: 信用データベースができました
gpg: 鍵804CEC27を絶対的に信用するよう記録しました
公開鍵と秘密鍵を作成し、署名しました。
gpg: 信用データベースの検査
gpg: 最小の「ある程度の信用」3、最小の「全面的信用」1、PGP信用モデル
gpg: 深さ: 0  有効性:   1  署名:   0  信用: 0-, 0q, 0n, 0m, 0f, 1u
pub   2048R/804CEC27 2013-03-09
指紋 = 98D3 4473 A254 D77A BEB1  1776 1172 8D78 804C EC27
uid                  bobuhiro11 <[email protected]>
sub   2048R/8B0DC21D 2013-03-09

自分の公開鍵と秘密鍵の確認

$ gpg --export -a > public .asc           #公開鍵
$ gpg --export-secret-key -a > secret.asc #秘密鍵

他の人の公開鍵をインポート

“gpg –import 公開鍵”

$ gpg --import pubic.asc

暗号化

ここでは,”test.txt”を暗号化して”test.txt.asc”を作ります. “gpg -r 受信する人 -ea ファイル名”

$ cat test.txt
Hello bobuhiro11!!!!!!!
$ gpg -r bobuhiro11 -ea test.txt
$ cat test.txt.asc
-----BEGIN PGP MESSAGE-----
Version: GnuPG v1.4.13 (Darwin)
hQEMA33pd/CLDcIdAQgAm6W8gobXgspvTflLgA2kxEyWa5Jgt5ffuuVxIDOzeHX2
nlDUYpeNmYyOwuNTRXG45yeDcTEzLyda4XoQJ1QVVbYY365tW5S4cx/l0YDc20Ao
KHwGGF9EG8UC4GyUaMTWKqG/QFR/4drFnG7vkiChcnlq4A1P9Y1DTTbxohkaAWq5
emtyma1cq56KgOzm5HLf3lWg9qjE9MJCoRj8TIo0IlZKfYk/4ZjkLLrl9aha9NKh
JTnRWe5JW6JBxkKcZE8kcDl5Kz3OkiawIGaXgxZ7rZhQ7/8ZyFUdPmk0er2rokMp
vc6PfiZa4R9yJ3AIZJh2eP69RMxsMvJ8R+D18DyE5dJWAUb+NPz73AIoHpykMWlS
9gC1BpdYwlrO1PptFEz+M+/Xzryn3QMlrCd4ijwWubm/1JJ5lixyFVpc9XPHoJLI
se0Kf5xLuw2PWNl6wAiSD904SxWpO18=
=ushx
-----END PGP MESSAGE-----

復号化

先ほどの”test.txt.asc”を復号化します. “gpg -d ファイル名”

$ gpg -d test.txt.asc

次のユーザーの秘密鍵のロックを解除するには
パスフレーズがいります:“bobuhiro11 <[email protected]>”
2048ビットRSA鍵, ID 8B0DC21D作成日付は2013-03-09 (主鍵ID 804CEC27)

gpg: 2048-ビットRSA鍵, ID 8B0DC21D, 日付2013-03-09に暗号化されました
 “bobuhiro11 <[email protected]>”
 Hello bobuhiro11!!!!!!!

ここでは,自分で暗号化して,自分で解読してるだけです(笑) ここまでやっとけば取り敢えずおkかな.


comments powered by Disqus < [PHP]Twitter Search API 1.1のメモ [android]Androidアプリのデコンパイル >