共通鍵暗号 【common key cryptosystem】

暗号化の対象となる平文と、単一の暗号鍵を用いて、特定の計算手順(暗号アルゴリズム)により暗号文を得る。平文と鍵のいずれかが異なれば暗号文も異なる。暗号文を元の平文に戻すには、暗号化に用いた鍵によって暗号化時と逆方向の変換を行う。
古代より換字表を鍵としたものなど様々な方式が利用されてきたが、現代では、数十から数百ビット程度の規則性のないデータを鍵として、任意の長さの平文をコンピュータによる計算により暗号化する方式が普及している。アルゴリズムは公開を原則とし、暗号鍵の推測しにくさ(特に、鍵の長さ)によって安全性を確保する。
暗号化を行うデータの区切り方の違いにより、一定の長さごとのブロック単位で暗号化を行うものを「ブロック暗号」(block cipher)、1ビット単位で処理するものを「ストリーム暗号」(stream cipher)という。ブロック暗号は64ビットや128ビット、長いものでは256ビットなどの単位ごとにデータを区切り、それぞれの塊ごとに暗号化と復号を行う。
鍵が分かれば暗号文を平文に戻すことができるため、送信者と受信者の間で鍵を安全に受け渡して共有する必要がある。多数の相手との間で暗号を利用する場合、全員に同じ鍵を渡せば漏洩の危険が高まり、すべて別の鍵にすれば鍵の生成や受け渡し、暗号化のコストが増大するというジレンマがある。
代表的な共通鍵暗号方式として、1977年に米IBM社が開発し米政府標準に採用された「DES」(Data Encryption Standard)や、その後継として2000年に米政府標準となった「AES」(Advanced Encryption Standard/暗号アルゴリズムとしてはRijndael)、ストリーム暗号の標準的な方式として広く普及している「RC4」(ARCFOUR)などがよく知られる。
公開鍵暗号との違い
一方、対になる2つの鍵ペアを生成し、一方で暗号化を、もう一方で復号を行う暗号方式を「公開鍵暗号」(public key encryption)という。片方の鍵は共通鍵暗号の鍵のように第三者に知られないよう秘匿する秘密鍵だが、相手方に送る方の鍵は人に知られてもよいため「公開鍵」と呼ばれる。
1970年代に公開鍵暗号が考案されるまでは暗号といえば共通鍵暗号のことだった。現代でも、暗号化や復号の処理速度は共通鍵暗号の方が優れているため、両方式を組み合わせ、共通鍵暗号の鍵交換のために公開鍵暗号を用い、データ本体は共通鍵暗号で暗号化する「ハイブリッド暗号」がSSL/TLSなどの形で広く利用されている。
「共通鍵暗号」の関連用語
他の用語辞典による「共通鍵暗号」の解説 (外部サイト)
- ウィキペディア「共通鍵暗号」
- 総務省 国民のためのサイバーセキュリティサイト 用語集「共通鍵暗号方式」
- MDN Web Docs 用語集「共通鍵暗号」
- SOMPO CYBER SECURITY サイバーセキュリティ用語集「共通鍵暗号」
- @IT ネットワーク用語辞典「共通鍵暗号方式」
- @IT セキュリティ用語事典「共通鍵暗号方式」
- JPRS 用語辞典「共通鍵暗号」
- Insider's Computer Dictionary「共有鍵暗号方式」
- JIPDEC 情報ライブラリー 用語集「共通鍵暗号」
- NTT西日本 ICT用語集「共通鍵暗号方式」
資格試験などの「共通鍵暗号」の出題履歴
| 暗号方式 | 鍵の特徴 | 鍵の安全な配布 | 暗号化/複合の 相対的な処理速度 |
| [ a ] | 暗号化鍵と復号鍵が異なる | 容易 | [ c ] |
| [ b ] | 暗号化鍵と復号鍵が同一 | 難しい | [ d ] |
| a | b | c | d | |
| ア | 共通鍵暗号方式 | 公開鍵暗号方式 | 遅い | 速い |
| イ | 共通鍵暗号方式 | 公開鍵暗号方式 | 速い | 遅い |
| ウ | 公開鍵暗号方式 | 共通鍵暗号方式 | 遅い | 速い |
| エ | 公開鍵暗号方式 | 共通鍵暗号方式 | 速い | 遅い |