共通鍵暗号方式とは
共通鍵暗号方式(対称鍵暗号)とは、データを暗号化する(読み取れない状態にする)ときと、復号する(元の状態に戻す)ときに、全く同じ「共通の鍵」を使用する暗号方式です。データの送信者と受信者が同じ鍵を共有して使用します。この方式の最大のメリットは、暗号化や復号の計算が非常にシンプルであるため、処理スピードが非常に速いことです。一方でデメリットは、鍵を相手に渡す際に、もし第三者に盗まれてしまうと暗号が簡単に解読されてしまうという「鍵の配送問題」が存在することです。代表的なアルゴリズムにはAESがあります。
具体例
友達に秘密の手紙を送るために、手紙をダイヤル式の宝箱に入れ、あらかじめ決めておいた暗証番号「1234」で鍵をかけます。手紙を受け取った友達も、同じ暗証番号「1234」を入力して宝箱を開けます(この「1234」が共通鍵です)。
[平文データ] --(共通鍵で暗号化)--> [暗号データ] --(共通鍵で復号)--> [平文データ]
(※送信者と受信者で同じ鍵を安全に共有しておく必要がある)
もう少し詳しく
共通鍵暗号方式は暗号化アルゴリズムの構造によって、データをブロック単位で処理する「ブロック暗号」(AESなど)と、データを1ビット・1バイトずつ連続的に処理する「ストリーム暗号」に分類されます。現在の標準はAES(Advanced Encryption Standard)で、鍵長は128ビット・192ビット・256ビットから選べ、鍵長が長いほど解読は困難になります。AESは以前の標準であったDES(Data Encryption Standard)が総当たり攻撃で解読可能になったことを受けて採用された後継規格です。
試験でのポイント
共通鍵暗号方式で最も出題頻度が高いのは「鍵管理の問題」です。n人が1対1で共通鍵暗号方式を使って通信する場合、必要な鍵の総数は n×(n−1)÷2 本になる点は計算問題として頻出します。人数が増えるほど鍵の管理が急激に煩雑になることが、公開鍵暗号方式が考案された動機である、という流れとあわせて理解しておくことが重要です。また、共通鍵暗号方式は公開鍵暗号方式に比べて処理速度がはるかに速いという特徴も、ハイブリッド暗号の出題の伏線として問われます。
関連する用語
鍵の受け渡し問題を解決する「公開鍵暗号方式」、両者の長所を組み合わせた「ハイブリッド暗号」、代表的なアルゴリズムである「AES」「DES」などがあります。