4. 暗号と署名の基本

暗号化と復号

自分用の公開鍵と秘密鍵ができたので,暗号化と復号を試しましょう.本来,どのようなファイルでも暗号化・復号できるのですが,暗号化の演習用に文書ファイルhimitsu.txtを用意しました.リンクを右ボタンクリックして表示されるメニュからダウンロード(MacのSafariでは「リンク先のファイルを別名で保存」,MacのChromeでは「リンク先を別名で保存」,WindowsのEdgeでは「名前を付けてリンクを保存」,WindowsのChromeでは「名前を付けてリンク先を保存」)を選択して,作業用ディレクトリにファイルを保存します(SSHサーバで演習する場合には「scp」コマンドによるファイルの移動も必要です).このファイルは単純な文書ファイルですので,「cat」コマンドで内容を確認できます.

gpg -ea」コマンドを用いて,暗号化します.この際,「-r」オプションで,暗号文の受信者(復号できる人)を指定します.平文のファイルを与えることで,暗号化されたファイルが生成されます.暗号文のファイル名は平文ファイルのファイル名に .asc という拡張子がついたものになります.以下の例では,自分自身を受信者として指定しています.

GPGによる暗号化

暗号文の復号には「gpg -d」コマンドを利用します.復号の際には秘密鍵を利用するため,途中で秘密鍵のパスフレーズ入力を求められます.受信者として自分自身を指定した暗号文なので,当然のことながら復号は可能であり,復号結果は画面に表示されます.

GPGによる復号

署名と署名の検証

署名の演習用に文書ファイルshomei.txtを用意しました.リンクを右ボタンクリックして表示されるメニュからダウンロードを選択します.このファイルも単純な文書ファイルですので,「cat」コマンドで内容を確認できます.

文書に署名をつけるには「gpg --clearsign」コマンドを利用します.署名に際して,秘密鍵が必要となりますので,途中で秘密鍵のパスフレーズを求められます.ただし,直前に「gpg」コマンドで秘密鍵を利用(するためにパスフレーズを入力)した場合などには,パスフレーズの入力が省略されることもあります.署名付文書のファイル名は,入力したファイルのファイル名に .asc という拡張子がついたものになります.

署名の付加 署名時のパスフレーズ入力

gpg --verify」コマンドを用いることで署名を検証できます.自分自身の公開鍵も持っていますので,検証できるはずです.

署名の検証

ここでは暗号化と復号,署名と検証について試しました.しかし,自分自身に暗号文を送ったり,自分のために署名したりしても,あまり役には立ちません.以降では演習用に作成された暗号文の復号や署名付文書の検証を試みます.