共通鍵暗号
対称鍵アルゴリズムとは、暗号技術における手法の一つである。復号化と暗号化のための鍵が全く同じ共有秘密である場合のことである。秘密はランダムに生成することも、パスワードから生成することも、Diffie-Hellmanのような秘密鍵交換手順を用いて生成することもできます。
対称鍵アルゴリズムは、他の種類の公開鍵アルゴリズムよりもコンピュータ上での処理速度が速いため、非常に重要です。公開鍵暗号(非対称鍵暗号)では、暗号化のための鍵を問題なく公開することができ、誰もが秘密のメッセージを送ることができます。暗号化のための鍵は、実際には復号化のための鍵を得ることができないため、「公開鍵」となります。これは非常に便利なのですが、公開鍵暗号アルゴリズムはコンピュータ上では非常に遅いので、秘密鍵を送るためだけに使われます。そして、対称鍵アルゴリズムは、その方が速いので、それ以外のことには何にでも使われています。
対称鍵アルゴリズムには、ストリーム暗号とブロック暗号の2種類があります。ストリーム暗号は、メッセージを一度に1つのビットのストリームとして暗号化します。ブロック暗号は、ビットのブロックを取り、それを一つの単位として暗号化し、時には答えを後で使用することもあります。64ビットのブロックは一般的に使用されている; しかし高度な暗号化の標準のような現代の暗号は128ビットのブロックを使用する。
人気のある対称サイファーの例としては、Twofish、Serpent、AES (aka Rijndael)、Blowfish、CAST5、RC4、TDES、IDEAなどがあります。
歴史上、いくつかの暗号解析手法は対称性を悪用していたため、対称性のあるシステムは安全性が低くなっていました。いくつかの攻撃は、既知の平文攻撃、選択された平文攻撃、差分暗号解読、線形暗号解読と呼ばれています。
対称鍵暗号化の他の用語には、秘密鍵暗号化、単一鍵暗号化、共有鍵暗号化、一鍵暗号化、最終的には秘密鍵暗号化があります。この最後の用語は、秘密鍵という用語が公開鍵暗号に持つ意味と同じではありません。
対称鍵アルゴリズムでは、暗号化に使用される鍵は復号化に使用される鍵と同じです。このため、秘密にしておく必要があります。
対称的アルゴリズムと非対称アルゴリズム
対称的アルゴリズムとは異なり、非対称鍵アルゴリズムは暗号化には復号化とは異なる鍵を使用します。つまり、非対称アルゴリズムの暗号化キーを知っているユーザはメッセージを暗号化することはできますが、復号キーを計算することはできず、そのキーで暗号化されたメッセージを復号することはできません。これら2種類のアルゴリズムの簡単な比較を以下に示します。
スピード
対称鍵アルゴリズムは一般的に非対称鍵アルゴリズムよりも計算量がはるかに少ないです。実際には、非対称鍵アルゴリズムは一般的に対称鍵アルゴリズムの数百倍から数千倍の速度で動作します。
キーマネジメント
対称鍵アルゴリズムの欠点の1つは、共有秘密鍵が必要なことであり、両当事者がそれぞれの末端で同じコピーを保持していることです。n 人のグループの全員の間で安全な通信を保証するためには、合計 n(n - 1)/2 個の鍵が必要であり、これは可能な通信チャネルの総数である。暗号攻撃者による潜在的な発見の影響を制限するために、鍵は定期的に変更され、配布中およびサービス中は安全な状態に保たれなければならない。鍵を選択し、配布し、保管するプロセスは、鍵管理として知られており、確実かつ安全に実現することは困難である。
ハイブリッド暗号システム
最近の暗号システムの設計では、非対称(公開鍵)アルゴリズムと対称アルゴリズムの両方を使用して、両方の利点を利用しています。非対称アルゴリズムは、セッションの開始時に対称鍵を配布するために使用されます。対称鍵がセッションのすべての関係者に知られると、その鍵を使用するより高速な対称鍵アルゴリズムを使用して、セッションの残りの部分を暗号化することができます。これにより、鍵の配布問題が単純化される。なぜなら、非対称鍵は真正な方法でのみ配布される必要があるのに対し、対称鍵は真正な方法と秘密の方法の両方で配布される必要があるからである。
このようなハイブリッドアプローチを採用したシステムとしては、SSL、PGP、GPGなどがあります。
関連ページ
- 非対称鍵アルゴリズム
質問と回答
Q: 対称鍵アルゴリズムとは何ですか?
A:対称鍵アルゴリズムとは、暗号技術において、復号化と暗号化のための鍵が全く同じ共有秘密である方式です。
Q:シークレットはどのように生成するのか?
A:秘密はランダムに生成するか、パスワードから生成するか、Diffie-Hellmanのような秘密鍵交換手続きによって生成することができます。
Q: なぜ共通鍵アルゴリズムが重要なのですか?
A: 共通鍵アルゴリズムは、公開鍵アルゴリズムよりもコンピュータの処理速度が速いため、非常に重要です。
Q:公開鍵暗号(非対称鍵暗号)とは何ですか?
A:公開鍵暗号(非対称鍵暗号)は、暗号化のための鍵を問題なく公開することができ、誰でも秘密のメッセージを送ることができる。暗号化のための鍵は、実際には、復号化のための鍵を得るために使用することはできないので、「オープン」である。
Q:2種類の対称型サイファーとは何ですか?
A:対称型サイファーには、ストリーム暗号とブロック暗号の2種類があります。ストリーム暗号は、メッセージをビットのストリームとして一度に暗号化し、ブロック暗号は、ビットのブロックを受け取り、一つのユニットとして暗号化し、後でその答えも使うことがあります。
Q: 最近の暗号はどのようなサイズのブロックを使っているのですか?
A: Advanced Encryption Standardのような最新の暗号は、128ビットブロックを使用しています。
Q:歴史上、対称性を利用した攻撃にはどのようなものがあるのか?
A:歴史上、対称性を悪用した暗号解読法があり、対称型システムの安全性は低くなっていました。既知平文攻撃、選択平文攻撃、差分暗号解析、線形暗号解析などがあります。