共通鍵暗号 【common key cryptosystem】 秘密鍵暗号 / secret key cryptosystem / 共有鍵暗号 / shared key cryptosystem / 対称鍵暗号 / symmetric key cryptosystem

概要

共通鍵暗号(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などの形で広く利用されている。

(2024.1.29更新)

他の辞典による解説 (外部サイト)

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。
ホーム画面への追加方法
1.ブラウザの 共有ボタンのアイコン 共有ボタンをタップ
2.メニューの「ホーム画面に追加」をタップ
閉じる