monoの開発ブログ

OpenSSL暗号化メモ

OpenSSLで共通鍵での暗号化を行うメモ。

パスフレーズ生成

乱数列をファイルに書き出しておき、暗号化・復号時にパスフレーズとして指定します。

touch secret
chmod 600 secret
openssl rand 1024 > secret

暗号化

-inオプションで入力ファイル、-outオプションで出力ファイル、-kfileオプションでパスフレーズファイルを指定します。-kfileオプションでパスフレーズを指定しなかった場合は、コマンド実行時にパスフレーズを尋ねられます。

暗号化には256ビットのAESをCBCモードで利用しています。AESのCBCモードはファイルの暗号化に広く利用されており、有効な攻撃方法もなさそうなので、現時点ではよい選択肢なのではないかと思います。

openssl enc -e -aes-256-cbc -in file -out file.enc -kfile secret

復号

-eオプションが-dに変わる点以外は暗号化と同じなので、特に説明することはありません。

openssl enc -d -aes-256-cbc -in file.enc -out file -kfile secret