ハッシュ関数
luagate/hash-functionハッシュ関数20 枚セキュリティ
上から下へ、全 20 枚そのまま並べています。
発表モードで開くハッシュ関数
目次
今日のゴール
この時間で身につけてほしいことです。
- ハッシュ関数が「データの指紋を作る仕組み」だと分かる
- 一方向(元に戻せない)という性質をつかむ
- 暗号化との違いを説明できる
- パスワード保存や改ざん検知での使い方が分かる
- 身近にどう使われているかイメージできる
ハッシュ関数とは
どんなデータも、決まった長さの短い値(指紋)に変換する関数です。
同じ入力は同じ指紋、少し違えば全く別物
ハッシュ = 指紋やシュレッダーに似ている
人ごとに違う指紋のように一意で、シュレッダーのように元へは戻せません。
第2部 性質
3つの大事な性質
安全なハッシュ関数が満たすべき性質です。
ハッシュ化の流れ
入力を放り込むと、決まった長さの指紋が出てきます。戻る矢印はありません。
代表的なハッシュ関数(名前だけ)
今広く使われているハッシュ関数の代表格です。名前だけ知っておきましょう。
第3部 暗号化との違い
ハッシュ と 暗号化のちがい
一番の違いは「元に戻せるかどうか」です。目的がそもそも違います。
「戻せない」が役に立つ
元に戻せないことは欠点ではなく、むしろ安全のための長所です。
- パスワードそのものを保存しなくて済む
- データの中身を持たずに「同じか」だけ確認できる
- 指紋だけ比べれば改ざんが分かる
- 漏れてもハッシュ値からは元が分からない
- だから保存や照合に向いている
第4部 使いどころ
パスワードはハッシュで保存する
パスワードそのものは保存せず、ハッシュ値だけを保存します。ログイン時はハッシュ同士を比べます。
どこで使われている?
ハッシュ関数は、安全と信頼が必要な場面で広く働いています。
振り返りクイズ
振り返りクイズ 解答
質疑・まとめ
今日のまとめです。セキュリティ編はここで一区切りです。質問があればここで受け付けます。
"
ハッシュ関数は「どんなデータも、戻せない固定長の指紋に変える」。戻せないことこそが安全の鍵。パスワード保存も改ざん検知も署名も、この指紋の上に成り立っています。