暗号技術の基礎(共通鍵・公開鍵・ハッシュ)

共通鍵暗号・公開鍵暗号・ハッシュ関数の違いと使い分けを、鍵の配り方に注目して会話でやさしく整理。

編集・検証: 情報セキュリティマネジメントスタディ編集部 公式情報: IPA 情報セキュリティマネジメント試験公式ページ 制作・検証方針

盗み見されても中身が読めないようにする「暗号」。SG試験で頻出の共通鍵暗号・公開鍵暗号・ハッシュ関数の3つを、鍵の配り方の違いに注目して整理しましょう。

紺野 アキ(普段) 紺野 アキ

ネットで買い物すると鍵マークが出るじゃん? あれって結局、通信が暗号化されてるってことだよね?

銀城 ナディア 先生(笑顔) 銀城 ナディア 先生

そのとおりよ。
データを第三者に読めない形に変換するのが暗号化、元に戻すのが復号。
この暗号方式は大きく2種類あるの。

灰原 さや(普段) 灰原 さや

1つ目が共通鍵暗号方式ですね。
暗号化と復号で同じ鍵を使うので、対称鍵暗号とも呼ばれます。

薔薇崎 ねむ(普段) 薔薇崎 ねむ

同じ鍵で閉めて開けるって、家のドアの鍵みたいですねぇ。
わかりやすいですぅ。

銀城 ナディア 先生(普段) 銀城 ナディア 先生

いい例えね。
代表例がAESよ。
処理が速くて大量のデータ暗号化に向いているの。
でも共通鍵には大きな弱点があるわ。

紺野 アキ(びっくり) 紺野 アキ

弱点? 同じ鍵で速いなら最高じゃないの?

灰原 さや(普段) 灰原 さや

相手に鍵をどうやって安全に渡すか、という鍵配送問題があります。
鍵をそのままネットで送ると、途中で盗まれたら暗号の意味がなくなりますからね。

薔薇崎 ねむ(しょんぼり) 薔薇崎 ねむ

たしかに…鍵を盗まれたら、いくら頑丈な錠前でも開けられちゃいますねぇ。

銀城 ナディア 先生(笑顔) 銀城 ナディア 先生

そこで2つ目の公開鍵暗号方式の出番よ。
こちらは鍵が『公開鍵』と『秘密鍵』のペアになっているの。

灰原 さや(普段) 灰原 さや

公開鍵は誰に見られても構わない鍵で、秘密鍵は自分だけが厳重に持つ鍵です。
代表例がRSAですね。

紺野 アキ(普段) 紺野 アキ

え、鍵が2つ? どっちで暗号化してどっちで戻すの? こんがらがってきた…

銀城 ナディア 先生(普段) 銀城 ナディア 先生

秘密のメッセージを送るときは『受信者の公開鍵』で暗号化するの。
すると、それを戻せるのは対になった『受信者の秘密鍵』だけ。
だから公開鍵はいくらばらまいても安全なのよ。

灰原 さや(笑顔) 灰原 さや

この仕組みなら、事前に秘密の鍵を配っておく必要がありません。
公開鍵は公開してよいので、共通鍵の鍵配送問題が解決するわけです。

薔薇崎 ねむ(普段) 薔薇崎 ねむ

ポストの投入口みたいですねぇ。
入れるのは誰でもできるけど、取り出せるのは鍵を持つ人だけ、っていう…

銀城 ナディア 先生(笑顔) 銀城 ナディア 先生

ねむちゃん、まさにその通りの名比喩よ! ただし公開鍵暗号は計算が重くて処理が遅いの。
だから実際のHTTPS通信では、公開鍵暗号で共通鍵を安全に配り、その後は高速な共通鍵暗号で本文をやり取りする『ハイブリッド方式』を使うわ。

紺野 アキ(普段) 紺野 アキ

なるほど! 両方のいいとこ取りなのね。
ところで暗号化じゃないハッシュ関数ってのも聞いたことある。

灰原 さや(普段) 灰原 さや

ハッシュ関数ですね。
これは暗号化とは目的が違います。
元に戻すためではなく、データが改ざんされていないか確かめるために使うんです。

銀城 ナディア 先生(普段) 銀城 ナディア 先生

ハッシュ関数は同じ入力からは必ず同じハッシュ値を出すけれど、入力が1文字でも変わると全く別の値になるの。
しかも、ハッシュ値から元データは復元できない一方向性を持つのよ。
代表例がSHA-256ね。

薔薇崎 ねむ(笑顔) 薔薇崎 ねむ

戻せないなら暗号化とは違うんですねぇ。
改ざんされてないか照らし合わせる、指紋みたいなものですぅ。

銀城 ナディア 先生(笑顔) 銀城 ナディア 先生

その理解でばっちりよ。
共通鍵は速いけど鍵配送が課題、公開鍵は鍵配送を解決するが遅い、ハッシュは復元不可で改ざん検知に使う。
この3つの役割の違いをつかめば大丈夫よ。

確認クイズ

公開鍵暗号方式を用いて、送信者が受信者だけに読める暗号文を送りたい。送信者が暗号化に使用する鍵として適切なものはどれか。

  1. 送信者の公開鍵
  2. 送信者の秘密鍵
  3. 受信者の公開鍵
  4. 受信者の秘密鍵
こたえを見る

正解: 3. 受信者の公開鍵

正解は「受信者の公開鍵」。公開鍵暗号では、受信者の公開鍵で暗号化した暗号文は、対になる受信者の秘密鍵でしか復号できない。よって受信者だけが読める。送信者の鍵で暗号化しても受信者は復号できず、受信者の秘密鍵は送信者が持っていないため使えない。なお送信者の秘密鍵で暗号化するのは「暗号化」ではなく電子署名の用途である。

銀城ナディア先生、灰原さや、薔薇崎ねむ、紺野アキが春の公園でピクニックを楽しむ様子

🔖 この記事の関連書籍

Amazonアソシエイトリンクを含みます。他分野は おすすめ書籍ページ へ。