OpenSSL:opensslコマンド(AES)
技術ドキュメント目次 -> OpenSSL -> opensslコマンド(AES)本技術ドキュメントは、2002~2004年頃に作成したものが多いです。
内容が古くなっていることもあるかと思いますが、ご了承ください。
【低価格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 についての他のドキュメント
- opensslコマンド(基本:md5,des3.blowfish)
- opensslコマンド(AES)
- mod_sslサーバー証明鍵にパスフレーズを埋め込む
■ 他のグループのドキュメント
Apache / Linux / FreeBSD / OpenSSL / Perl / HTTPプロトコル / Jakarta Tomcat / Java / NetBSD / Oracle / PostgreSQL / UNIX の C言語 / UNIX のコマンド / Windows / bind / システム運用TIPS