no_picture

GnuPG で遊ぶ - 暗号化してみる

GnuPG 使う機会が無い。無さすぎるよ。使わないと忘れそうなので、たまには遊ぶ。ついでに広まればいいな。ということで、整理しながら試す。 そうそう、これは すごい広島 #011 で遊んだことです。 GPGとは GNU Privacy Guard という暗号化ソフト。ざっくりとは Wikipedia の GPGとかみてみると良いかも。 PGPの実装のひとつです。 これを使うと暗号化とか署名とかできる。 暗号化すると特定の人しか解読できないファイルが作成できる 署名すると特定の人が作成したことを示せる メールの暗号化にも使える。しかし、私は暗号化されたメールを受信したことがない。 GnuPGの使い方 あたりを見ながら復習。 GPG がインストールされているか確認する $ gpg --version gpg (GnuPG) 2.0.20 libgcrypt 1.5.3 Copyright (C) 2013 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Home: xxxx サポートしているアルゴリズム: 公開鍵: RSA, ELG, DSA 暗号方式: IDEA, 3DES, CAST5, BLOWFISH, AES, AES192, AES256, TWOFISH, CAMELLIA128, CAMELLIA192, CAMELLIA256 ハッシュ: MD5, SHA1, RIPEMD160, SHA256, SHA384, SHA512, SHA224 圧縮: 無圧縮, ZIP, ZLIB 入ってるとこんな感じ。 暗号化してみる 暗号化する場合 暗号化するための鍵を取得する 暗号化する 読みたい人に送りつける 読む人が自分の鍵で複合する 暗号化するための鍵が必要になります。 暗号化してメールを送って欲しい人は「公開鍵」という種類の鍵を鍵を公開しています。なので、これを取得すれば暗号化できます。 復号化するほうは「公開鍵」とペアになっている「秘密鍵」を使います。 これは復号化する人しか持っていないので、メールの暗号化が成立するわけです。 実際にやってみる 実際にやってみたいと思います。 メインのコンピュータで自分の鍵を作成する 自分の公開鍵を公開する 別のコンピュータで、公開鍵を取得する 別のコンピュータで暗号化したファイルを作成する メインのコンピュータにファイルを送る メインのコンピュータで復号する というシナリオでやります。 メインのコンピュータでの実行は main $ をつけて、別のマシンの場合は sub $ をつけて明示しておきます。 サブのコンピュータを用意する簡単な方法は仮想マシンでしょうか。 メインのコンピュータで自分の鍵を作成する 鍵がないことには始まらないので作成します。--key-gen オプションを使用します。 すでに作成しているので、実際には使用しない鍵で例をあげます。 main $ gpg --gen-key ご希望の鍵の種類を選択してください: (1) RSA and RSA (default) (2) DSA and Elgamal (3) DSA (署名のみ) (4) RSA (署名のみ) 選択?