最終更新日:2026年9月10日
fe fe-technology security cryptography
まず結論
暗号・認証分野のアルゴリズムは、まず何をする技術かで分類すると見分けやすくなります。
| 分類 | 判断ポイント | 代表例 |
|---|---|---|
| 共通鍵暗号方式 | 同じ秘密鍵で暗号化・復号 | AES、KCipher-2 |
| 公開鍵暗号方式 | 公開鍵と秘密鍵の組を使う | RSA、ECC |
| ハッシュ関数 | 元に戻すことを目的とせず、固定長のハッシュ値を生成 | SHA-256 |
基本情報技術者試験では、アルゴリズム名を細かく暗記するより、「同じ鍵」「鍵ペア」「ハッシュ値」の3つで切り分けるのが有効です。
直感的な説明
3種類を「鍵の扱い」で考えます。
同じ鍵で開け閉めする
→ 共通鍵暗号
→ AES、KCipher-2
公開する鍵と秘密にする鍵を分ける
→ 公開鍵暗号
→ RSA、ECC
元のデータから指紋のような値を作る
→ ハッシュ関数
→ SHA-256
特に試験では、AESとRSA/ECCの分類を入れ替えるひっかけや、SHA-256を暗号方式とするひっかけに注意します。
定義・仕組み
共通鍵暗号方式
共通鍵暗号方式は、暗号化と復号に同じ秘密鍵を使う方式です。
処理が比較的高速なので、大量のデータを暗号化する用途に向いています。一方で、通信相手に秘密鍵を安全に渡す方法が課題になります。
代表例は次のとおりです。
- AES
- KCipher-2
IPAのJCMVPでは、AESは共通鍵のセキュリティ機能として整理されています。また、AESの実装確認リストでは、鍵長128・192・256ビットや各種動作モードなどが確認対象になっています。
公開鍵暗号方式
公開鍵暗号方式は、公開鍵と秘密鍵という異なる2つの鍵を使う方式です。
公開鍵は他者に公開でき、秘密鍵は本人だけが保持します。共通鍵暗号方式と比べて処理負荷は大きくなりやすい一方、秘密鍵そのものを相手へ配送する必要がない点が特徴です。
代表例としてRSAと楕円曲線暗号(ECC)があります。
- RSA:素因数分解の困難性を利用する代表的な公開鍵暗号方式
- ECC:楕円曲線上の計算を利用し、RSAより短い鍵長で同程度の安全性を実現しやすい公開鍵暗号方式
IPAのJCMVPでもRSA、ECDSA、ECDHなどは公開鍵のセキュリティ機能として整理されています。
ハッシュ関数
ハッシュ関数は、入力データから一定の規則でハッシュ値を生成する関数です。
暗号化のように「復号して元のデータに戻す」ことを目的としません。
代表例はSHA-256です。
データ
↓
SHA-256
↓
256ビットのハッシュ値
試験では、ハッシュ関数は暗号化方式ではないことを押さえておきます。
科目Aでどう出る?
科目Aでは、アルゴリズム名と分類を対応させる問題がよく出ます。
試験中のチェック手順
1. 公開鍵暗号方式を聞かれているか確認する
2. RSAやECCなら公開鍵暗号方式
3. AESやKCipher-2は共通鍵暗号なので除外
4. SHA-256はハッシュ関数なので除外
例えば、次のように整理できます。
| 用語 | 分類 |
|---|---|
| AES | 共通鍵暗号方式 |
| KCipher-2 | 共通鍵暗号方式 |
| RSA | 公開鍵暗号方式 |
| ECC | 公開鍵暗号方式 |
| SHA-256 | ハッシュ関数 |
ECCについてRSAとの違いまで問われたら、「同程度の安全性をより短い鍵長で実現しやすい」を判断材料にします。
どんな場面で使う?
共通鍵暗号
大量データの暗号化など、処理速度が重要な場面に向いています。
公開鍵暗号
鍵配送、電子署名、相手との安全な鍵交換などに利用されます。
実際の通信では、公開鍵暗号と共通鍵暗号を組み合わせるハイブリッド暗号方式も広く使われます。
ハッシュ関数
データの同一性確認や改ざん検知、電子署名で利用する要約値の生成などに使われます。
よくある誤解・混同
誤解1:AESは公開鍵暗号方式
誤りです。
AESは共通鍵暗号方式です。
AES
→ 同じ鍵で暗号化・復号
→ 共通鍵暗号
誤解2:RSAやECCは共通鍵暗号方式
誤りです。
RSAとECCは公開鍵暗号方式です。
RSA / ECC
→ 公開鍵と秘密鍵
→ 公開鍵暗号
ECCの特徴は、楕円曲線暗号(ECC)とは?RSAとの違いと短い鍵長の見方で整理しています。
詳しい鍵の使い分けは、公開鍵暗号方式とは?公開する鍵・秘密にする鍵と電子署名との違いで確認できます。
誤解3:SHA-256は暗号化アルゴリズム
誤りです。
SHA-256はハッシュ関数です。
暗号化のように、秘密鍵などを使って復号することを前提としていません。
詳しくは、ハッシュ関数とは?改ざん検知に使う一方向の要約値で確認できます。
誤解4:公開鍵暗号は常にデータ本体の暗号化に使う
必ずしもそうではありません。
実際のシステムでは、公開鍵暗号で共通鍵を安全に共有し、その共通鍵でデータ本体を高速に暗号化する使い方があります。
この組合せはハイブリッド暗号方式として整理できます。
試験では、「鍵を安全に共有する」と「大量データを高速に暗号化する」では役割が異なることを意識します。
確認問題(基本情報技術者試験対策)
次のうち、公開鍵暗号方式に分類される組合せとして最も適切なものはどれか。
- ア. AESとKCipher-2
- イ. RSAとECC
- ウ. SHA-256とAES
- エ. KCipher-2とSHA-256
▶ クリックして答えと解説を見る(ここを開く)
正解:イ
- AES、KCipher-2:共通鍵暗号方式
- RSA、ECC:公開鍵暗号方式
- SHA-256:ハッシュ関数
👉 判断ポイント
公開鍵と秘密鍵の組を使う代表例ならRSA・ECCと判断します。
まとめ(試験直前用)
- AES、KCipher-2 → 共通鍵暗号方式
- RSA、ECC → 公開鍵暗号方式
- SHA-256 → ハッシュ関数
- 同じ秘密鍵を使う → 共通鍵暗号
- 公開鍵と秘密鍵を使う → 公開鍵暗号
- ECCはRSAより短い鍵長で同程度の安全性を実現しやすい
- ハッシュ値を生成し、復号を目的としない → ハッシュ関数
AES / KCipher-2
→ 共通鍵
RSA / ECC
→ 公開鍵
SHA-256
→ ハッシュ
関連する仕組みとして、HTTPSではこれらの暗号技術が通信保護の中でどう使われるかを確認できます。