sg cryptography hash_function security_measures authentication
まず結論
暗号化とハッシュの違いは、元に戻せるかどうかで整理すると分かりやすいです。
- 暗号化:データを読めない形にして、あとで復号して元に戻す
- ハッシュ:データから固定長の値を作り、原則として元には戻せない
SG試験では、内容を隠すなら暗号化、改ざんを確認するならハッシュと考えると、選択肢を切り分けやすくなります。
直感的な説明
暗号化は、データを「鍵付きの箱」に入れるイメージです。
中身は見えなくなりますが、正しい鍵があれば箱を開けて、元のデータを取り出せます。
つまり、暗号化は安全に隠して、必要な人だけが読めるようにする技術です。
一方、ハッシュは、データの「指紋」を作るイメージです。
同じデータなら同じ指紋になります。
少しでもデータが変わると、指紋も変わります。
ただし、指紋から元のデータを復元することはできません。
そのため、ハッシュは中身を隠す技術ではなく、同じ内容かどうかを確認する技術です。
定義・仕組み
暗号化は、平文を暗号文に変換する処理です。
復号によって、暗号文を元の平文に戻せます。
ハッシュは、入力データから固定長のハッシュ値を作る処理です。
代表例には、SHA-1、SHA-256などがあります。
| 観点 | 暗号化 | ハッシュ |
|---|---|---|
| 主な目的 | 内容を隠す | 内容が同じか確認する |
| 元に戻せるか | 復号できる | 原則戻せない |
| 出力 | 暗号文 | ハッシュ値、メッセージダイジェスト |
| 代表例 | AES、RSA | SHA-1、SHA-256 |
| 試験のキーワード | 秘匿、盗聴対策、復号 | 改ざん検知、要約値、衝突 |
ここで注意したいのは、どちらもセキュリティで使われる技術ですが、目的が違うことです。
暗号化は、第三者に内容を読ませないために使います。
ハッシュは、データが変わっていないかを確認するために使います。
どんな場面で使う?
暗号化は、通信や保存データを守る場面で使われます。
| 場面 | 使う技術 | 目的 |
|---|---|---|
| 通信内容を盗聴から守る | 暗号化 | 内容を読めなくする |
| 保存データを守る | 暗号化 | 漏えい時の被害を抑える |
| ファイルの改ざん確認 | ハッシュ | 内容が変わっていないか確認する |
| 電子署名 | ハッシュ | 署名対象の要約値を作る |
| パスワード保存 | ハッシュ | パスワードそのものを保存しない |
たとえば、HTTPSでは通信内容を暗号化して盗聴を防ぎます。
一方、ファイルのダウンロード確認では、公開されているハッシュ値と自分が取得したファイルのハッシュ値を比べて、ファイルが改ざんされていないかを確認します。
よくある誤解・混同
誤解1:SHA-1は暗号化方式である
SHA-1は暗号化方式ではありません。
SHA-1は、入力データから固定長のハッシュ値を作るハッシュ関数です。
暗号化のように、鍵を使って元のデータに戻すものではありません。
SG試験では、SHA-1、SHA-256、メッセージダイジェストという言葉が出たら、まずハッシュ関数を疑うとよいです。
誤解2:ハッシュは中身を隠すための技術である
ハッシュ値だけを見ても元データは分かりませんが、目的は「秘匿」ではありません。
ハッシュの主な目的は、データが同じかどうかを確認することです。
「盗聴されても内容を読めないようにする」という説明なら、ハッシュではなく暗号化の話です。
誤解3:暗号化すれば改ざん検知も完全にできる
暗号化は内容を読めなくする技術です。
それだけで改ざん検知まで必ず保証できるわけではありません。
改ざんを確認するには、ハッシュ、メッセージ認証コード、電子署名などの仕組みが関係します。
そのため、試験では「何を守りたいのか」を見ることが大切です。
| 守りたいこと | 関係しやすい技術 |
|---|---|
| 内容を読まれたくない | 暗号化 |
| 内容が変わっていないか確認したい | ハッシュ |
| 送信者が本人か確認したい | 電子署名、認証 |
| 改ざんと送信元を確認したい | 電子署名、MAC |
試験での切り分けポイント
暗号化とハッシュで迷ったら、次の順に確認します。
1. 元に戻す話か
「復号」「元のデータに戻す」「鍵で読む」という話なら、暗号化です。
ハッシュは、原則として元に戻せません。
2. 目的は秘匿か、確認か
「盗聴されても読めないようにする」「内容を隠す」なら暗号化です。
「改ざんされていないか確認する」「同じ内容か確認する」ならハッシュです。
3. 出てくる用語を見る
次のように用語で判断できることも多いです。
| 出てくる用語 | 判断 |
|---|---|
| AES | 暗号化 |
| RSA | 公開鍵暗号、電子署名にも関係 |
| SHA-1 | ハッシュ |
| SHA-256 | ハッシュ |
| メッセージダイジェスト | ハッシュ |
| 復号 | 暗号化 |
| 改ざん検知 | ハッシュ |
特に、SHA-1を見て「Secure」とあるため暗号化のように感じることがあります。
しかし、SHA-1の正式名称はSecure Hash Algorithm 1であり、分類はハッシュ関数です。
確認問題
暗号化とハッシュの違いとして、最も適切なものはどれか。
ア. 暗号化は元に戻せるが、ハッシュは原則として元に戻せない。
イ. 暗号化は改ざん検知専用で、ハッシュは盗聴対策専用である。
ウ. SHA-1は代表的な暗号化方式であり、復号して元データを取り出せる。
エ. ハッシュは鍵を使って平文を暗号文に変換する技術である。
回答と解説
正解は、**ア**です。 暗号化は、暗号文を復号して元のデータに戻すことを前提にした技術です。 一方、ハッシュは入力データからハッシュ値を作る処理であり、原則として元データには戻せません。 イは目的が逆です。 ウはSHA-1を暗号化方式と誤解しています。 エは暗号化の説明であり、ハッシュの説明ではありません。まとめ(試験直前用)
暗号化とハッシュは、どちらもセキュリティで重要ですが、目的が違います。
試験直前は、次の3点だけ押さえましょう。
- 暗号化は、内容を隠して復号できる
- ハッシュは、要約値を作って原則戻せない
- 秘匿なら暗号化、改ざん検知ならハッシュ
SHA-1、SHA-256、メッセージダイジェストが出てきたら、暗号化ではなくハッシュ関数として判断します。
「元に戻すか」「何を守るのか」を見ると、選択肢を切りやすくなります。