共通鍵暗号方式

読み:きょうつうかぎあんごうほうしき / 英語表記:symmetric-key cryptography

暗号化と復号に同じ鍵を使う暗号方式。一般に公開鍵暗号方式より処理が速いが、通信相手と鍵を安全に共有する方法が課題になる。代表的な方式にAESがある。

イマシルちゃんの解説

共通鍵暗号方式は、データを読めない形に変える暗号化と、元に戻す復号に同じ鍵を使う暗号方式だよ。
送る側が鍵を使って暗号化し、受け取る側も共有した鍵で復号するんだ。
大量のデータを効率よく処理できるから、通信内容や保存するファイルを守るのに向いているよ。
ただし鍵が第三者に渡ると、その人にも中身を読まれてしまう。
だから暗号化の方法だけでなく、相手と鍵を安全に共有し、その後も秘密に保つことが大切なんだ。

より深い解説

定義

共通鍵暗号方式は、暗号化と復号に同じ鍵を使う暗号方式である。送信者と受信者だけがその鍵を秘密に共有している必要がある。秘密鍵暗号方式、対称鍵暗号方式とも呼ばれる。

代表的な方式

方式鍵の長さ現在の評価
AES128、192、256ビット標準。ブロック長は128ビット
ChaCha20256ビットTLS 1.3で使われるストリーム暗号
DES56ビット鍵が短く、総当たりで解読できるため使用不可
3DES(トリプルDES)112または168ビット相当廃止が進んでいる

公開鍵暗号方式との比較

共通鍵暗号方式公開鍵暗号方式
鍵暗号化と復号で同じ鍵暗号化は公開鍵、復号は秘密鍵
処理の速さ速い遅い
鍵の受け渡し安全に渡す方法が必要公開鍵は公開してよい
n人が互いに通信するときの鍵の数n(n−1)/2個2n個(各人が公開鍵と秘密鍵の組)
代表例AESRSA、楕円曲線暗号

例えば10人が互いに秘密の通信をする場合、共通鍵暗号方式では 10 × 9 ÷ 2 = 45個の鍵が必要になる。

二つの暗号方式を組み合わせる

TLSなどでは、2つの方式の長所を組み合わせる。

  1. 公開鍵暗号方式(や、それに基づく鍵交換)で、共通鍵を安全に共有する
  2. データ本体は、共有した共通鍵を使って、速い共通鍵暗号方式で暗号化する

これをハイブリッド暗号方式という。

ブロック暗号の利用モード

AESのようなブロック暗号は、決まった長さ(AESでは128ビット)ずつ暗号化する。それより長いデータをどうつなげて暗号化するかを利用モードという。

モード特徴
ECBブロックごとに独立して暗号化する。同じ平文のブロックは同じ暗号文になり、模様が透けて見えるため使うべきでない
CBC前のブロックの暗号文を次のブロックに混ぜる
GCM暗号化と同時に改ざん検知のための認証タグを作る(認証付き暗号)。TLSで広く使われる

実際の試験ではここに出る!全9問

ネットワークスペシャリスト

午前Ⅱ
午後Ⅱ

テクニカルエンジニア(ネットワーク)

午前

この用語が出てくる記事

↑