公開鍵暗号方式とAES

公開鍵暗号方式とAES

公開鍵暗号方式

共通鍵暗号方式では、データの暗号化と復号で同じ鍵を使用するのに対して、公開鍵暗号方式では、データの暗号化と復号で異なる鍵を使います。暗号化で使う鍵は「公開鍵」と呼ばれ、その名のとおり、誰もが使うことができます。一方、復号で使う鍵は「秘密鍵」と呼ばれ、復号する人(データを受け取った人)しか使えないような仕組みになっています。

公開鍵暗号方式のメリット

公開鍵暗号方式を利用する最大のメリットは「鍵の管理の容易さ」にあります。例として、複数の人があなたに暗号化したデータを送る場合を考えてみましょう。共通鍵暗号方式では、データの暗号化と復号で同じ鍵を使用するので、データを送ってくれる人全員に同じ鍵を渡すことになります。しかしこれでは、そのうちの誰かから鍵が漏れたら、その鍵でデータを復号できてしまいます。かといって、送ってくれる人ごとに鍵を用意すると、鍵の管理が面倒になります。一方、公開鍵暗号方式では、公開鍵(暗号化するための鍵)のみを先方に渡し、その鍵を使ってデータを暗号化してもらえば、安全にデータを受け取ることができます。なぜなら、公開鍵暗号方式では暗号化と復号で異なる鍵を使うため、公開鍵が漏れても、データを復号することができないからです。このように、共通鍵暗号方式には「鍵配送問題」がありますが、公開鍵暗号方式を利用すれば、安全を確保したまま鍵を共有することができます。

代表的な公開鍵暗号方式と仕組み

代表的な公開鍵暗号方式には、RSA 暗号や EIGamal 暗号、楕円曲線暗号などかあります。公開鍵暗号の安全性(暗号の解読されにくさ)は、ある問題を解くことか難しい数学的性質に依存しており、たとえば、RSA 暗号は「大きな2つの素数の視の素因数分解が難しい」という性質に安全性の根拠があります。そのため、もしも問単に素因数分解ができる方法が見つかってしまったら、RSA 暗号は安全ではなくなってしまいます。

AES

DESの安全性低下

AES(Advanced Encryption System) は、 2017年現在、各国の暗号規格によって利用が推奨されている共通鍵暗号方式です。1990年台は DES(Data Encryption Standard) と呼ばれる共通鍵暗号方式が主流でしたが、コンピューターの性能向上とともに DES のセキュリティ強度(破られにくさ)が不安視されはじめ、1999年にDES の解読に必要な時間が24時間を切ったことから、新しい暗号化方式が強く求められるようになりました。そして誕生したのがAES です。なお、DES の鍵の複雑さは 2通りです。つまり攻撃者は、正しい鍵を見つけるために、256 通りの鍵を試す必要がありました(通常は、平均してその約半分)。

AESの誕生

共通鍵暗号方式では、鍵の長さ(複雑さ)がセキュリティの強度(破られにくさ)のバロメーターとなります。AES の鍵の複雑さは228以上です。DES と比べてどのくらい強いかというと、DES を1日で解読するシステムを利用した場合、AES(128) の解読には 1,000 京年(1京= 1000 兆)かかる計算になります。これだけも十分と思われますが、AES では基本の128ビット以外にも、192ビットまたは 256 ビットも選択できます。なお、共通鍵暗号方式では確かに鍵は長ければ長いほど安全性は高まるのですが、その分パフォーマンスが劣化するので注意が必要です。通常時においては AES(128)でも十分ではないでしょうか。

幅広く使われる AES

AES は現在では幅広い用途で使われています。たとえば、無線通信が傍受されるのを防止するために、Wi-Fiの暗号化規格である「WPA2」に使用されています。まダブリューピーエーツーた、ZIP や RARなどのファイル圧縮ソフトウェアの暗号化機能や、ハードディスク暗号化製品にも使われています。インターネット通信では TLSの暗号化フロトコルとしてAES が使われています。

セキュリティカテゴリの最新記事