公開鍵
gpg public key
- ファイルを暗号化する際に使用.
- 公開鍵で暗号化したファイルはこれと対になる秘密鍵の所有者にしか復号化できない.
- 厳密な「親展」が可能.
- 秘密鍵で暗号化すると公開鍵で復号化できるので, 多数に配布する際には秘密鍵で暗号化する.
- ssh の公開鍵と考え方は同じ.
作り方 (Ubuntu).
$ gpg --gen-key (実行するといくつかの質問があるので, それに答える.) (名前やメールアドレスを入力し, パスフレーズを 2 回入力)
以上で鍵の作成は終了. 鍵が作成されると, ~/.gnupg/ 以下に公開鍵と秘密鍵が対で作成されている.
使い方(ファイルの暗号化, デジタル署名, ここでは公開鍵で暗号化することを前提)
- 一連の流れ
[自分の公開鍵をアスキー化] -> [他の人にアスキー鍵を配布] -> [他の人がその鍵を用いて手元のファイルを暗号化] -> [自分の手元に暗号化したファイルを送ってもらう] -> [自分の手元で秘密鍵を用いて復号化]
- 公開鍵のアスキー化
$ gpg -o [アスキー化したときの公開鍵の名前] -a --export [公開鍵の uid ] ex. $ gpg -o satoki.asc -a --export satoki
- 他の人にアスキー鍵を配布
- 他の人がその鍵を用いて手元のファイルを暗号化
$ gpg --import [配布された公開鍵] #<= 他の人の手元で鍵を鍵サーバに登録 $ gpg -ea [暗号化したいファイル] #<= uid を聞かれるので, 配布された公開鍵に登録されている uid を入力
- 自分の手元に暗号化したファイルを送ってもらう.
自分の手元で秘密鍵を用いて復号化
$ gpg [届いた暗号化ファイル] #<= パスフレーズを聞かれるので, 秘密鍵を作成したときのパスフレーズを入力.
以上でファイルの複合が完了しているはず.
- 参考文献