Open Source Web Development Tutorials - Dev Shed
暗号学:AESはここまですごい!
(2008/11/10公開)
アルゴリズムに注目して暗号化と復号について解説してきた3回構成の本連載も、今回が最終回です。第1回と第2回のどちらか一方でも読みそこなっていたら、ぜひ、先にそちらに目を通してから今回の記事を読んでください。
本連載では、いくつかの暗号化アルゴリズムと復号アルゴリズムのコーディングを個別に調べてきました。そのどれもが究極的には安全でなかった点を念頭に留めてください。最近のテクノロジーとコンピュータリソースが成し遂げた飛躍的進歩をもってすれば、私たちが学習した暗号文は、まったくパスワードを知らなくても、かなり簡単に復号できるのです。つまり、容易に解読できるということです。とはいうものの、一般の人や気軽なコンピュータユーザーにとっては、十分なセキュリティーを提供します。
ここで、筆者からの個人的なアドバイスです - 非常に重要なデータを強硬な手段で保護する必要がある日常的な職場/仕事の場合は、専門的な暗号化アルゴリズムを使用しましょう。このシリーズを通じて私が意図したのは、いくつかの暗号化アルゴリズムになじんでもらうことで、開発の最先端を行く最新のセキュリティーアプリケーションを論じることではありませんでした。
筆者は、自分で実際に試して学ぶ方法を固く信奉しています。何かを学習するとき、特にそれがまったく未知の対象であるとき、一番良い方法は実践です…理論を理解した後で、大いに実践してみることです。ですから、いくつかのアルゴリズム例を、作動状態にある実行可能なコードと一緒に皆さんに提示することを、大きな目標にしてきました。皆さんは練習に専念すればよかったのです。
第1回で説明したとおり、初心者にとって「明らかに単純」で、簡単で、理解しやすいように、私はアルゴリズムを意図的に単純化しました。効率や安全性、将来の保証より、理解しやすさに焦点を合わせました。紹介したアルゴリズムには山ほど - もっと効率的で、もっと安全性の高い -バリエーションや異なるコーディングの方法があることは承知していますが、暗号学とは何かを理解することを最優先にしました。
とはいえ、皆さんが宿題を済ませた後は、もっと挑戦的なアルゴリズムへと前進することが可能です。少しずつ前に進むのがベストです。そうすれば -複雑性、効率性、安全性、などに関する - 劇的な変化をよりスムーズに理解できます。
第3回は連載の最後ですから、現在使用されている最先端の暗号化アルゴリズムをいくつか見ていくことにしましょう。暗号学は決して解読できないアウトプットを生成しない、という認識がとても重要です。単に、現在に至るまで暗号化アルゴリズムが複雑さを増したために、(長くて複雑な)安全なパスワードを持たずに解読することがほぼ不可能になっただけです。正確なもっとも安全性の高い暗号化アルゴリズムが使われている場合は、まさにこのとおりです。しかし、例えば、攻撃者にどの程度の時間とリソースを費やす準備があるか、といった多くの要素に左右されます。攻撃者に途中で放棄させることが望ましいのです。
とにかく、最新の暗号化アルゴリズムをいくつかリストアップしましたから、見ていきましょう。
Copyright © 2008 Ziff Davis Enterprise, Inc.
Originally appearing in the U.S. Edition of Dev Shed. All Rights Reserved.








