セキュリティ
第1章 - 1節
約15分
暗号化の基礎
暗号化技術
暗号化の基礎
暗号化は、情報セキュリティの根幹をなす技術です。平文(読める状態のデータ)を暗号文(読めない状態のデータ)に変換し、第三者による不正なアクセスから情報を保護します。
暗号化の種類
1. 共通鍵暗号方式(対称鍵暗号)
暗号化と復号に同じ鍵を使用する方式です。
特徴:
- 処理速度が速い
- 鍵の配送問題がある(安全に相手に鍵を渡す必要がある)
- 通信相手の数だけ鍵が必要(n人で n(n-1)/2 個)
代表的なアルゴリズム:
| アルゴリズム | 鍵長 | 特徴 |
|---|---|---|
| AES | 128/192/256ビット | 現在の標準、高速・安全 |
| DES | 56ビット | 旧標準、現在は非推奨 |
| 3DES | 112/168ビット | DESを3回適用 |
2. 公開鍵暗号方式(非対称鍵暗号)
暗号化と復号に異なる鍵(公開鍵・秘密鍵のペア)を使用する方式です。
特徴:
- 鍵配送問題を解決
- 処理速度は共通鍵暗号より遅い
- デジタル署名にも使用可能
代表的なアルゴリズム:
| アルゴリズム | 安全性の根拠 | 用途 |
|---|---|---|
| RSA | 素因数分解の困難性 | 暗号化、署名 |
| 楕円曲線暗号(ECC) | 離散対数問題 | 暗号化、署名(短い鍵長で高い安全性) |
| DSA | 離散対数問題 | 署名のみ |
3. ハイブリッド暗号方式
実際のシステムでは、両方式の長所を組み合わせたハイブリッド暗号方式がよく使われます。
1. 送信者が共通鍵(セッション鍵)をランダム生成
2. データは共通鍵で暗号化(高速)
3. 共通鍵は受信者の公開鍵で暗号化(安全な鍵配送)
4. 暗号化されたデータと鍵を送信
ハッシュ関数
ハッシュ関数は、任意長のデータから固定長のハッシュ値(ダイジェスト)を生成する一方向関数です。
特徴:
- 同じ入力からは常に同じ出力
- 出力から入力を逆算できない(一方向性)
- 異なる入力から同じ出力が生成されにくい(衝突耐性)
代表的なアルゴリズム:
| アルゴリズム | 出力長 | 安全性 |
|---|---|---|
| MD5 | 128ビット | 脆弱(非推奨) |
| SHA-1 | 160ビット | 脆弱(非推奨) |
| SHA-256 | 256ビット | 安全(推奨) |
| SHA-3 | 可変 | 安全(最新) |
重要ポイント
- 共通鍵暗号: 高速だが鍵配送が課題
- 公開鍵暗号: 鍵配送は解決するが低速
- ハイブリッド方式: 実用的なバランス
- ハッシュ関数: 完全性検証、パスワード保存に使用
確認問題
この内容に関連する過去問で理解を深めましょう。