株式会社エスロジカル
株式会社エスロジカル
セキュリティ、Web開発、Unix開発、Go言語

■ OpenSSL:opensslコマンド(AES)

技術ドキュメント目次 -> OpenSSL -> opensslコマンド(AES)

本技術ドキュメントは、ここしばらくメンテナンスをしておりません。
内容が古くなっている可能性などございますこと、ご理解を頂けますようお願いいたします。


サイフにやさしいSSL証明書
【低価格SSL証明書】弊社運営の低価格SSL証明書販売サイト、翌月末払いなど請求書払いも可能。


◆ AESアルゴリズムについて

AES(Advanced Encryption Standard) とは共通鍵方式の暗号アルゴリズムの1つで、
それまでの米国政府標準暗号方式であったDES(Data Encryption Standard)に代わるものとして、
2000年10月にNISTよって採用されたものになります。

※この暗号アルゴリズムは、開発当初からAESという名前で呼ばれていたわけでは
ありません。1997年に米国のNISTがAESの暗号化アルゴリズムを公募したのですが、
その際、複数の応募の中から、ベルギーの暗号開発者による「Rijndael」という
アルゴリズムが選ばれたため、「Rijndael」が「AES」と呼ばれるようになりました。

※DESは、かなり前(1960年代後半くらい)にIBMによって開発された方式であるため、
今日のコンピューターの技術進歩を考えると、時代遅れで安全とはいえないものに
なっていたため、上記の公募が行われました。

◆ AESによる暗号化・複合化をopensslコマンドで実行

OpenSSLでは、バージョン 0.9.7 以降から、
DES・DES3(トリプルDES)・blowfish などの暗号化アルゴリズムに加えて、
AES(Rijndael)も使用することが可能になりました。

opensslコマンドを使用した AES による暗号化の例は次のようになります。

$ echo "This is AES TEST" | openssl enc -aes-256-cbc -e -base64 -pass pass:testpass
U2FsdGVkX19qGJqg81dkwjjYecx6F5KCFiKhRDOsSbqCIjP/XJ+fKPbLLtQpUqU0
$


上記のようにして作成された暗号化文字列を復号化するには次のように入力します。
(複合化時には opensslコマンドの引数が -e から -d に変わっています。)

$ echo "U2FsdGVkX19qGJqg81dkwjjYecx6F5KCFiKhRDOsSbqCIjP/XJ+fKPbLLtQpUqU0" | openssl enc -aes-256-cbc -d -base64 -pass pass:testpass
This is AES TEST
$





■ OpenSSL についての他のドキュメント


■ 他のグループのドキュメント

Apache  /  Linux  /  FreeBSD  /  OpenSSL  /  Perl  /  HTTPプロトコル  /  Jakarta Tomcat  /  Java  /  NetBSD  /  Oracle  /  PostgreSQL  /  UNIX の C言語  /  UNIX のコマンド  /  Windows  /  bind  /  システム運用TIPS

アンケートにご協力をお願いいたします。

1. このドキュメントへの評価をご選択ください。
         

2. ご感想をお書きください。