暗号化(アンゴウカ)とは | 意味や読み方など丁寧でわかりやすい用語解説
暗号化(アンゴウカ)の意味や読み方など、初心者にもわかりやすいように丁寧に解説しています。
読み方
日本語表記
あんごうか (アンゴウカ)
英語表記
encryption (エンクリプション)
用語解説
暗号化とは、データを特定の計算手順(アルゴリズム)に基づいて変換し、定められた鍵を持つ者だけが元の内容を読み取れるようにする技術である。この変換処理を「暗号化」と呼び、元のデータを「平文(ひらぶん)」、暗号化によって変換されたデータを「暗号文」と呼ぶ。逆に、暗号文を平文に戻す処理は「復号」という。暗号化の主な目的は、情報の機密性を確保することにある。具体的には、第三者による通信の盗聴、データの不正な閲覧や改ざんを防ぐために利用される。現代のITシステムにおいて、個人情報や決済情報、企業の機密情報などを保護するための根幹をなすセキュリティ技術である。
暗号化の仕組みを理解する上で重要な要素は「アルゴリズム」と「鍵」の二つである。アルゴリズムとは、平文を暗号文に変換するための計算手順や規則の集合体を指す。このアルゴリズムは一般に公開されているものが多く、その安全性が世界中の研究者によって検証されている。アルゴリズムが公開されていても安全性が保たれる理由は、もう一つの要素である「鍵」の存在による。鍵とは、暗号化および復号の際にアルゴリズムに与えるパラメータであり、この鍵を知らなければ、たとえアルゴリズムが公開されていても暗号文を復号することは極めて困難になる。金庫の構造が分かっていても、正しい鍵がなければ開けられないのと同じ原理である。この鍵の管理方法によって、暗号化方式は大きく二つに分類される。
一つ目は「共通鍵暗号方式」である。この方式では、暗号化に使う鍵と復号に使う鍵が同一である。送信者と受信者は、事前に同じ「共通鍵」を共有しておく必要がある。処理速度が非常に高速であるため、動画やファイルといった大容量のデータを暗号化するのに適している。代表的なアルゴリズムにはAES(Advanced Encryption Standard)がある。しかし、この方式には「鍵配送問題」という課題が存在する。安全でない通信経路上で共通鍵を相手に渡そうとすると、その鍵自体が第三者に盗聴される危険性がある。鍵が漏洩すれば、暗号化された通信はすべて解読されてしまうため、いかに安全に鍵を共有するかが重要となる。
二つ目は「公開鍵暗号方式」である。この方式は、前述の鍵配送問題を解決するために考案された。一対の「公開鍵」と「秘密鍵」を使用するのが特徴である。公開鍵はその名の通り、誰にでも公開してよい鍵であり、主にデータの暗号化に用いられる。一方、秘密鍵は自分だけが厳重に保管する鍵で、公開鍵で暗号化されたデータを復号するために使用する。公開鍵で暗号化された暗号文は、対となる秘密鍵でしか復号できないという数学的な特性を持つ。これにより、受信者は自分の秘密鍵を手元に置いたまま、送信者に公開鍵を渡すだけでよい。送信者はその公開鍵を使ってデータを暗号化して送れば、通信経路上でデータや公開鍵が盗聴されても、秘密鍵を持つ受信者以外は復号できないため、安全な通信が実現できる。代表的なアルゴリズムにはRSAがある。ただし、共通鍵暗号方式に比べて計算処理が複雑で、処理速度が遅いという欠点がある。
実際の運用では、これら二つの方式の長所を組み合わせた「ハイブリッド暗号方式」が広く採用されている。まず、処理速度は遅いが安全に鍵を交換できる公開鍵暗号方式を用いて、データの暗号化に使うための一時的な共通鍵を安全に共有する。その後、その共有した共通鍵を使い、処理速度の速い共通鍵暗号方式で実際のデータを暗号化して通信を行う。この方法により、安全性と処理性能を両立させている。私たちが日常的に利用するWebサイトのHTTPS通信(SSL/TLS)も、このハイブリッド暗号方式を利用している代表的な例である。暗号化は、このように様々な技術を組み合わせることで、インターネット上の安全な通信や、コンピュータ内に保存されている重要なファイルの保護、データベース内の個人情報の管理など、多岐にわたる場面で情報を守るために不可欠な役割を担っている。