この記事では,OpenSSLを用いてファイルを暗号化および復号する手順を記載します.
コマンド
細かい説明は省いたコピペ用のコマンドを示します.
暗号化
復号
暗号化と復号のアルゴリズム(オプション)は同一である必要があります.
細かい使い方や説明はここから先で記載しています.
OpenSSLのインストール
まずは,OpenSSLがインストールされているかを確認します.
OpenSSLがインストールされていない場合,下記コマンドでインストールします.
ファイルの暗号化と復号
コマンド
暗号化と復号のコマンドは以下の通りです.
・暗号化
・復号
オプションについて
-e
暗号化するためのオプションです.省略可能です.
-d
復号するためのオプションです.
-aes-256-cbc
このオプションはAES256-cbcを使用することを意味するオプションです.
これ以外にもサポートされているアルゴリズムは多数ありますが,それに関してはアルゴリズムは後述しています.
-pass
パスワードを指定するオプションです.省略した場合,標準入力から対話的に入力します.
以前は-k
オプションだったようですが,現在は-pass
となっています.
-pass
の引数として,下記の形式が使用できます.
pass:password
env:var
file:pathname
fd:number
stdin
-base64
Base64でエンコードするオプションです.暗号化の前にBase64でエンコードし,暗号化を行います.
復号時には,復号後にBase64でデコードします.
-pbkf2
PBKDF(Password-Based Key Derivation Function 2)アルゴリズムを使用します.
基本的にこのオプションをつけたほうが無難です.
暗号アルゴリズムについて
OpenSSLサポートされている暗号化のリストは下記コマンドで確認できます.
基本的には,AES256を使用するのが無難なところでしょう.
暗号化に関する良書
まとめ
この記事では,OpenSSLを用いたファイルの暗号化と復号について記載しました.
今回用いているAES256アルゴリズムは共通鍵暗号方式の一種であり,その他の暗号化方式として公開鍵暗号方式があります.
公開鍵暗号方式を用いたファイル暗号化と復号に関しては下記記事にまとめました.興味があればご覧ください.