「OpenSSLコマンドを用いた共通鍵暗号」の版間の差分

提供: セキュリティ
移動: 案内検索
(ページの作成:「<!-- vim: filetype=mediawiki --> __TOC__ == 概要 == ここでは、OpenSSL コマンドを用いて、共通鍵暗号のやり方を紹介します。 [[...」)
(相違点なし)

2013年1月19日 (土) 14:26時点における版


概要

ここでは、OpenSSL コマンドを用いて、共通鍵暗号のやり方を紹介します。

公開鍵暗号の場合は、OpenSSLコマンドを用いた公開鍵暗号をご参照下さい。

インストール

使い方

AES によるデータの暗号化と復号

AES 128 で暗号化する例です。

echo hoge > file.txt
openssl rand 32 -out rand.txt -base64
openssl enc -e -aes128 -kfile rand.txt -in file.txt -out file.aes128_64 -base64
openssl enc -d -aes128 -kfile rand.txt -in file.aes128_64 -base64

データの用意

暗号化するデータを用意します。これは、なんでも構いません。

echo hoge > file.txt

共通鍵の準備

AESは、共通鍵暗号方式です。そのため、共通鍵(パスワード)を事前に用意しておきます。

ここでは、OpenSSL コマンドで共通鍵を作成します。

openssl rand 32 -out rand.txt -base64

データの暗号化

暗号化するデータは、 file.txt です。 暗号に使う共通鍵は、 rand.txt の1行目です。 暗号化したデータは、 file.aes128_64 に入ります。 暗号化したデータは、BASE64 エンコードします。

openssl enc -e -aes128 -kfile rand.txt -in file.txt -out file.aes128_64 -base64

暗号化したデータを BASE64 エンコードする必要がなければ、 -base64 のオプションは不要です。 暗号化するときに、-base64 を指定した場合、復号のときも-base64を指定します。

データの復号

復号する暗号化したデータは、 file.aes128_64 に入っています。 暗号に使う共通鍵は、 rand.txt の1行目です。 復号したデータは、標準出力に表示します。

openssl enc -d -aes128 -kfile rand.txt -in file.aes128_64 -base64

ファイルに出力する場合は、-out オプションを使って、ファイルに書き出します。

openssl enc -d -aes128 -kfile rand.txt -in file.aes128_64 -out file.aes128_64_decrypted -base64

関連項目