同じ鍵で開け閉め!共通鍵暗号方式の仕組みと試験対策を解説

インターネットで買い物やメッセージのやり取りをするとき、情報は暗号化という処理で守られています。この暗号化の基本となるのが、共通鍵暗号方式です。

共通鍵暗号方式は、データの暗号化と復号に同じ鍵を使う仕組みを指します。処理が高速という強みがありますが、鍵の受け渡しが難しいという側面も持っています。

家の鍵をイメージすると仕組みが掴みやすくなります。家の玄関に鍵をかけるときと、開けるとき、同じ鍵を使いますよね。このように、一つの鍵で施錠も解錠も行うのが共通鍵暗号方式の考え方です。

試験では、この後解説するメリットやデメリットが公開鍵暗号方式と比較して出題されます。まずは全体のイメージを持ってから、細かい特徴を整理していきましょう。

目次

家の鍵と同じ!共通鍵暗号方式の基本

共通鍵暗号方式とは、暗号化(データを読めなくすること)と復号(データを元の読める状態に戻すこと)に、まったく同じ鍵を使用する方式です。

データを送る側が鍵を使って情報を暗号化し、受け取る側も同じ鍵を使って中身を確認します。このとき、二人が同じ鍵を持っていることが前提となります。

代表的なアルゴリズムには、AESやDESといったものがあります。現在はAESが主流として使われていることも合わせて覚えておくと安心です。

処理スピードはピカイチ!共通鍵のメリット

共通鍵暗号方式の最大の魅力は、その処理速度です。

計算の仕組みが比較的シンプルなため、大量のデータを一気に暗号化するのに向いています。例えば、大容量の動画ファイルを暗号化して保存したり、ハードディスクを丸ごと保護したりするシーンでよく使われます。

CPUへの負荷も低いため、スマートフォンのような限られた電力で動くデバイスでも効率よく動作する点が優れたポイントです。

鍵をどうやって届ける?解決すべきデメリット

一方で、共通鍵暗号方式には頭を悩ませる大きな課題が二つあります。

まず一つ目は、鍵の配送問題です。
暗号化したデータを送る前に、相手に鍵を渡さなければなりません。しかし、その鍵を渡す段階で第三者に盗まれてしまったら、どんなに強力な暗号を使っていても簡単に中身を読まれてしまいます。

二つ目は、鍵の管理問題です。
通信する相手が増えるたびに、一人ひとりと個別の鍵を用意する必要があります。10人と秘密のやり取りをするなら10種類の鍵が必要になり、人数が増えるほど管理が複雑になってしまいます。

公開鍵暗号方式との違いを整理

試験でよく問われる、もう一つの代表的な方式である公開鍵暗号方式と比較してみましょう。

特徴共通鍵暗号方式公開鍵暗号方式
使用する鍵暗号化と復号で同じ鍵暗号化と復号で別の鍵
処理速度高速低速
鍵の管理相手が増えると困難比較的容易
主な用途大量データの暗号化共通鍵の受け渡し、署名

共通鍵はスピード重視、公開鍵は安全性と管理のしやすさ重視という使い分けがなされています。

共通鍵の解説記事はこちら。

試験対策!両方のいいとこ取りをしたハイブリッド暗号方式

ITパスポート試験で最もよく狙われるのが、ハイブリッド暗号方式という仕組みです。

これは、共通鍵の速さと公開鍵の安全な鍵配送を組み合わせた仕組みです。まずは公開鍵暗号方式を使って、今回の通信で使う共通鍵を相手に安全に届けます。その後、実際の大きなデータのやり取りには、届いた共通鍵を使ってハイスピードで通信を行います。

私たちが普段Webサイトを閲覧するときに使っているSSL/TLS通信も、このハイブリッド暗号方式がベースになっています。

ハイブリット暗号方式の解説記事はこちら。

過去問にチャレンジ

実際の試験でどのように出題されているか、過去の問題で確認してみましょう。

共通鍵暗号方式に関する記述のうち、適切なものはどれか。
ア 暗号化と復号に、互いに異なる2つの鍵を用いる。
イ 暗号化通信を行う相手が10人の場合、あらかじめ用意すべき鍵の数は合計で10個である。
ウ 公開鍵暗号方式と比較して、暗号化や復号の処理速度が速い。
エ 受信者が鍵を作成し、それを送信者に配送する必要がある。

解答:ウ
解説:アは公開鍵暗号方式の説明です。イは通信のペアごとに鍵が必要になるため、自分を含めて11人で通信する場合の計算が必要になります(相手だけの数なら10個ですが、通常は通信相手ごとのペアを指すため文脈に注意)。工は配送の必要性はありますが、方式の定義ではありません。

暗号化方式の一つである公開鍵暗号方式と共通鍵暗号方式を組み合わせた、ハイブリッド暗号方式によって、メールを送信する際の手順として、適切なものはどれか。ここで、送信者は、受信者の公開鍵をあらかじめ入手しているものとする。
ア 送信者が、送信するメールのメッセージを自分の公開鍵で暗号化し、その公開鍵を受信者に送る。
イ 送信者が、送信するメールのメッセージを生成した共通鍵で暗号化し、その共通鍵を受信者の公開鍵で暗号化して送る。
ウ 送信者が、送信するメールのメッセージを生成した秘密鍵で暗号化し、その秘密鍵を送信者の公開鍵で暗号化して送る。
エ 送信者が、送信するメールのメッセージを受信者の公開鍵で暗号化し、その公開鍵を共通鍵で暗号化して送る。

解答:イ
解説:メッセージ本体はスピードの速い共通鍵で暗号化し、その鍵を渡すときは公開鍵暗号方式(受信者の公開鍵)を使うのが正解です。

まとめ

  • 共通鍵暗号方式は、暗号化と復号に同じ鍵を使う。
  • 処理が高速だが、鍵の受け渡しや管理に難がある。
  • 試験では、公開鍵暗号方式と組み合わせたハイブリッド暗号方式が重要。

家の鍵をイメージして、スピードの速さと鍵管理の手間のバランスを意識しておけば、得点源にできるはずです。

目次