ハッシュ関数
形式化数学研究室
宮島啓一
ハッシュ関数とは?
「長いメッセージを短くする関数」
のことである。一般に、
と表す。ここで、 はメッセージで ある。
例えば、ハッシュ関数が
「 10 ビットのメッセージを 3 ビットに短縮す る」 とする。
「 1101111011 」
ハッシュ関 数
「 111 」 この部分がもっと長い!
逆向きに「元に戻 す」ことは考えな くてよい
メッセージ
ハッシュ値
ハッシュの特徴
今回の特集は、
暗号化技術がテ ーマです。
ハッシュ関数
acbd18db4cc2f85cedef654fccc4a4d8
元のメッセージ①
ハッシュ値から 元のメッセージ を推測できない
元のメッセージの長さに関 わらず、ハッシュ値の長さ は一定
今回の特集は、
暗号化技術がテ ーマですよ。
ハッシュ関数
d3b07f84d11fedec49eaf6238ad5ff00
元のメッセージ②
同じハッシュ値になるメッセー ジを導くのが困難
ソフトウェ ア
ソフトウェア
ハッシュ関 数
ハッシュ値 ミラーサイト
ソフトウェ ア
ハッシュ値 オリジナルサイト
比較 ユーザ
ハッシュ関 数
ソフトウェアの改ざん検 出!
・ミーラーサイトで入手したソ フトウェアから得られたハッシ ュ値と、オリジナルサイトで公 開しているハッシュ値を比較
・通信負荷の分散のため、ミ ラーサイトからソフトウェア を入手(ソフトウェアを配布するサ ーバは負荷軽減のため複数の サイトの助けを借りることが よくある。)
~ハッシュ値の利用例~
(ソフトウェアの改ざん検出の場
合)
~ハッシュ値の衝突による問題点~
(デジタル署名の場合)
契約書 A
(原本)
同じハッシュ値を出 力
契約書 B
(偽造)
契約書 A
(原本)
悪用!
署名
署名 圧縮版
圧縮版
署名部分のみを偽造 文書へ貼り付け!
ハッシュ関数によって圧 縮
契約書 B
(偽造)
破棄!
ハッシュ関数によって圧 縮
~ハッシュ関数の脆弱性~
・バースデーパラドックスの理論によると
、ハッシュ関数 SHA-1 の場合、約回の計算 を行えば、同じハッシュ値を発生するメッ セージの組みを少なくとも一つ作り出せる
。
•
~ハッシュ関数の脆弱性~
・
SHA-1 に対する攻撃法が 2005 年に発表される。
2 80