本文へスキップ

暗号化の基礎と暗号方式

頻出約 39 分6 用語過去問 21 題

この単元の目標

  • 暗号化と復号の向きを区別し、暗号化で守れるものと守れないものを説明できる。
  • 共通鍵暗号方式と公開鍵暗号方式を、鍵の使い方・秘密にする鍵・処理の速さで見分けられる。
  • ハイブリッド暗号方式で何をどの鍵で暗号化するかと、ハッシュ関数が暗号化とどう違うかを説明できる。
用語総表(6 語)
用語ひとことで使う鍵元のデータに戻せるか
暗号化鍵を使って平文を第三者に読めない暗号文に変える処理暗号化用の鍵 (方式によって決まる)正しい鍵で復号すれば戻せる
復号鍵を使って暗号文を元の平文に戻す処理暗号化の鍵に対応する鍵元に戻す操作そのもの
共通鍵暗号方式暗号化と復号に同じ鍵を使う方式送受信者で共有する 1 つの鍵戻せる
公開鍵暗号方式対になった公開鍵と秘密鍵を使い分ける方式公開鍵と秘密鍵の対戻せる
ハイブリッド暗号方式本文は共通鍵で、その共通鍵は公開鍵で暗号化する方式共通鍵と、受信者の公開鍵・秘密鍵戻せる
ハッシュ関数任意のデータから固定長の値を求める、逆算できない関数なし (鍵を使わない)戻せない

用語

暗号化とは、そのまま読めるデータ (平文) を、鍵と決まった手順を使って第三者には意味の分からないデータ (暗号文) に変換する処理である。

鍵は変換の結果を左右するデータで、手順が同じでも鍵が違えば暗号文も変わる。暗号化の目的は機密性、つまり盗聴や盗難に遭っても中身を第三者に読ませないことであり、通信だけでなく保存するデータにも使える。

たとえ相手と取り決めた文字の置き換え表で手紙を書き換えてから出すようなもの。途中でのぞかれても、表を知らない人には意味が分からない。

覚え方「暗」は見えない、「号」はしるし。字の組み立てから、見ても読めない記号に変える向きの操作だと覚える。

出題のポイント

  • 出題暗号化が守るのは内容の秘密で、データの改ざんや削除を防いだり、壊されたデータを元に戻したりする働きはない。
  • 出題ハードディスクやファイルを暗号化して保存しておけば、PC や媒体が盗まれても、鍵を持たない者には中身を読まれにくい。

この用語の過去問 3 題 暗号化

復号とは、暗号文を鍵を使って元の平文に戻す処理で、暗号化と逆向きの操作である。

  1. 平文
  2. 鍵で暗号化
  3. 暗号文
  4. 鍵で復号
  5. 元の平文

正しい鍵で復号すると、暗号文は元の平文に戻る。

3 / 3

復号には、暗号化に使った鍵に対応する正しい鍵が要る。暗号化の手順そのものは公開されていることが多く、復号できるかどうかは鍵を持っているかで決まる。そのため鍵が漏れると第三者にも復号されてしまい、鍵の管理が安全性を左右する。

たとえ置き換え表で書き換えた手紙を、同じ表を逆に引いて元の文に読み戻すようなもの。

覚え方「復」は復元・復旧の「復」。暗号文を元の姿に「復(かえ)す」操作と覚える。

出題のポイント

  • 出題足し算と余りで文字をずらす暗号は、手順を逆の順にたどり、足した数を引けば復号できる。引いて負になったら、割った数を足して戻す。
  • 出題復号に使うのは暗号化の鍵と対応する鍵なので、その鍵を持たない者は暗号文を手に入れても元に戻せない。
  • 混同注意鍵を持たない第三者が暗号文から元の内容を割り出すことは解読と呼び、正規の鍵で戻す復号とは区別する。

この用語の過去問 3 題 復号

共通鍵暗号方式とは、暗号化と復号に同じ鍵を使う方式で、送信者と受信者がその鍵を秘密のまま共有する。

互いに秘密の通信をする人数必要な鍵の数 (2 人の組ごとに 1 個)求め方
2 人1 個2 × 1 ÷ 2
3 人3 個3 × 2 ÷ 2
5 人10 個5 × 4 ÷ 2
n 人n(n−1)/2 個2 人の組合せの数

暗号化と復号に同じ鍵を使うので仕組みは単純だが、使う前にその鍵を相手へ安全に届ける鍵配送が課題になる。また、秘密を守りたい相手が別なら別の鍵を使うので、2 人の組ごとに鍵を 1 つ用意する。代表例に AES がある。

たとえ同じ形の鍵を 2 本作り、相手と 1 本ずつ持って使う鍵付きの箱。鍵を相手に届ける途中で複製されると、誰でも箱を開けられてしまう。

覚え方英語では symmetric (左右対称) と呼ぶ。送る側と受ける側で鍵が対称、つまり同じものと覚える。

出題のポイント

  • 出題共通鍵は第三者に知られるとその鍵で復号されてしまうので、送信者と受信者の間で秘密に管理する。
  • 出題n 人が互いに秘密の通信をするには 2 人の組合せの数だけ鍵が要り、n(n−1)/2 個になる。人数が増えると鍵の数は急に増える。
  • 出題共通鍵暗号方式は計算が軽く、暗号化や復号の処理が速い。そのため量の多いデータの暗号化に向く。

この用語の過去問 3 題 共通鍵暗号方式

公開鍵暗号方式とは、誰に渡してもよい公開鍵と本人だけが持つ秘密鍵の対を使い、一方の鍵で暗号化したものを他方の鍵で復号する方式である。

  1. 受信者が公開鍵と秘密鍵の対を作る
  2. 公開鍵だけを配る
  3. 送信者が受信者の公開鍵で暗号化
  4. 受信者が自分の秘密鍵で復号

対になる秘密鍵を持つのは受信者だけなので、復号できるのも受信者だけである。

4 / 4

公開鍵と秘密鍵は数学的に対応した対として作られ、公開鍵から秘密鍵を割り出すことは事実上できない。秘密鍵は作った本人の手元から出さず、相手に渡すのは公開鍵だけである。代表例に RSA がある。

たとえ誰でも閉められる南京錠をたくさん配り、開ける鍵は自分だけが持っておくようなもの。相手がその南京錠で箱を閉めて送れば、開けられるのは自分だけになる。

覚え方英語では asymmetric (非対称) とも呼ぶ。暗号化の鍵と復号の鍵が「対称でない」= 別物である。

出題のポイント

  • 出題内容を秘密にして送るときは、暗号化に受信者の公開鍵を、復号に受信者の秘密鍵を使う。送信者自身の鍵は使わない。
  • 出題各人が鍵の対を 1 組ずつ持つとすると、n 人で鍵は全部で 2n 個になり、そのうち非公開にする秘密鍵は n 個である。
  • 出題秘密鍵で暗号化したものは対の公開鍵で復号できる。公開鍵は誰でも持てるので、この向きでは内容の秘密は守れない。

この用語の過去問 3 題 公開鍵暗号方式

「共通鍵暗号方式」と「公開鍵暗号方式」の違い

観点共通鍵暗号方式公開鍵暗号方式
決め手暗号化と復号の鍵同じ鍵対になった別々の鍵 (公開鍵と秘密鍵)
鍵の受け渡し相手へ安全に届けるのが難しい公開鍵は配ってよいので容易
決め手処理の速さ速い遅い
n 人で使うときの鍵の数 (公開鍵暗号方式では鍵の対を 1 人 1 組とする)n(n−1)/2 個2n 個 (秘密鍵は n 個)
代表例AESRSA

ハイブリッド暗号方式とは、本文を共通鍵暗号方式で暗号化し、その共通鍵を受信者の公開鍵で暗号化して一緒に送る方式である。

  1. 共通鍵を用意
  2. 本文を共通鍵で暗号化
  3. 共通鍵を受信者の公開鍵で暗号化
  4. 受信者が秘密鍵で共通鍵を取り出し、本文を復号

受信者は秘密鍵で共通鍵を取り出して本文を復号でき、秘密鍵のない第三者は共通鍵を取り出せない。

4 / 4

共通鍵暗号方式の処理の速さと、公開鍵暗号方式の鍵の渡しやすさを組み合わせた方式である。時間のかかる公開鍵の計算は短い共通鍵の分だけで済み、量の多い本文は速い共通鍵で処理できる。Web の暗号化通信 (SSL/TLS) などで使われている。

たとえ荷物は普通の鍵付きトランクに入れて送り、そのトランクの鍵だけを、受取人の南京錠で閉めた小箱に入れて同封するようなもの。

覚え方ハイブリッド車がエンジンとモーターを場面で使い分けるように、2 つの暗号方式を役割で使い分ける。

出題のポイント

  • 出題送信者が暗号化に使う鍵は、本文には共通鍵、その共通鍵には受信者の公開鍵である。秘密鍵は受信者が共通鍵を取り出すときに使い、暗号化には使わない。
  • 混同注意共通鍵暗号方式を単独で使う場合と違い、共通鍵を前もって別の安全な方法で相手に届けておく必要はない。

この用語の過去問 1 題 ハイブリッド暗号方式

ハッシュ関数とは、任意の長さのデータから固定長の値 (ハッシュ値) を求める関数で、ハッシュ値から元のデータを求めることはできない。

入力したデータ得られるハッシュ値
数文字の短い文固定長の値 P
数百ページの文書P と同じ長さの値 Q
上と全く同じ文書何度求めても Q
上の文書の 1 文字だけを変えたものQ とは大きく異なる値 R

入力がわずかに違うだけでも、ハッシュ値は大きく変わる。この性質から、元のデータどうしを突き合わせなくても、短いハッシュ値を比べるだけで中身が同じかを確かめられる。代表例に SHA-256 がある。

たとえ書類の指紋をとるようなもの。同じ書類なら指紋は一致するが、指紋から書類の中身を再現することはできない。

覚え方英語の hash は「細かく刻む」(ハッシュドポテトの hash)。刻んだものは元の形に戻らない。

出題のポイント

  • 出題同じハッシュ関数なら、入力が同じとき出力は常に同じ値になる。関数が違えば同じ入力でも値が一致するとは限らず、値から入力へ逆にたどることもできない。
  • 出題ハッシュ値はファイルの中身で決まるので、同じハッシュ値を持つファイルを探せば、名前を変えられていても同じ内容のファイルを見つけられる。
  • 出題ハッシュ値を比べれば改ざんがあったことは分かるが、改ざんそのものは防げない。送信者が付けて受信者が確かめる印であるデジタル署名の改ざん検知も、この性質を使う。

この用語の過去問 3 題 ハッシュ関数

「暗号化」と「ハッシュ関数」の違い

観点暗号化ハッシュ関数
鍵使う使わない
決め手元のデータに戻せるか正しい鍵で復号すれば戻せる戻せない (一方向)
出力の長さ入力の長さに応じて変わる入力によらず固定長
主な目的内容を秘密にする (機密性)改ざんの検知や同一性の確認

要点

  • 暗号化は平文を暗号文に変えて内容の秘密を守る処理で、復号は対応する鍵でそれを元に戻す逆向きの処理である。
  • 公開鍵暗号方式で内容を秘密にして送るときに使うのは、受信者の鍵の対である。
  • 第三者に知られてはならない鍵は、共通鍵暗号方式の共通鍵と、公開鍵暗号方式の秘密鍵である。
  • ハイブリッド暗号方式では、公開鍵暗号方式の計算を、短い共通鍵の暗号化と復号だけに使う。
  • ハッシュ関数の値は元に戻せないが同じデータなら一致するので、比べることで改ざんや同じ内容のファイルを見分けられる。

確認問題

この単元の過去問から 5 題

確認問題を解く

この分野の過去問をすべて見る