5. 暗号化と復号

事前に作られた暗号文の復号

この演習のために事前に暗号化した文書crypt.txt.ascを用意しました.リンクを右ボタンクリックして表示されるメニュからダウンロードを選択します.ファイルをダウンロードできたら,「gpg -d」コマンドで復号を試みます.暗号化は事前に行っており,使用した公開鍵はあなたのものではありません.したがって鍵束にある秘密鍵では復号できずに,失敗するはずです.

事前に作られた暗号文の復号(失敗)

秘密鍵の読込

暗号文作成時に指定した受信者 enshu@joho.org の秘密鍵の鍵ファイルenshu.privがあります.リンクを右ボタンクリックして表示されるメニュから暗号文と同様にダウンロードを選択します.

秘密鍵も「gpg --import」コマンドで,鍵束に取り込むことができます.秘密鍵を不用意に利用されないようにするために,読込の際に秘密鍵のパスフレーズを問われます.enshu@joho.org の秘密鍵のパスフレーズは「joho」となっています.

秘密鍵の読込

読込後の鍵束の内容を「gpg --list-keys」コマンドや「gpg --list-secret-keys」コマンドで確認しましょう.enshu@joho.org の公開鍵と秘密鍵の両方が鍵束に読み込まれているはずです.

鍵束の確認

暗号文の復号(秘密鍵入手後)

対応する秘密鍵が入手できれば,「gpg -d」コマンドで暗号文を復号できるはずです.秘密鍵を利用しますので,通常でしたら,enshu@joho.orgのパスフレーズ確認があるはずです.

暗号文の復号

秘密鍵を手に入れることで,暗号文が読めるようになります.公開鍵暗号方式では秘密鍵の機密性こそが前提となることを覚えておきましょう.

秘密鍵の削除

他人の秘密鍵を持っているという状況は不自然ですので,「gpg --delete-secret-key」コマンドを用いて,enshu@joho.orgの秘密鍵を鍵束から削除しておきましょう.

秘密鍵の削除

秘密鍵は,本来1名だけが持っている貴重な情報であり,通常は削除すると二度と手に入らなくなりますので,削除時には再三再四確認を要求されます.

秘密鍵の削除の確認

秘密鍵が本当に削除できたか否かは「gpg --list-secret-keys」コマンドで確認できます.「gpg --list-keys」コマンドを使えば,公開鍵の一覧を調べられますが,enshu@joho.orgの公開鍵はまだ残っていることが確認できます.

鍵束の確認

暗号文の復号(秘密鍵削除後)

秘密鍵を削除した後で,再度「gpg -d」コマンドを用いて crypt.txt.ascの復号を試みてみましょう.enshu@joho.orgの公開鍵では復号には役に立たないため,(当然のことながら)復号に失敗します.

最後にenshu@joho.orgの公開鍵も「gpg --delete-key」コマンドで削除します.結果は「gpg --list-keys」コマンドで確認できます.

暗号文の復号