回答編集履歴
1
ちょっとだけ変えたんじゃ
answer
CHANGED
@@ -1,4 +1,5 @@
|
|
1
|
+
文章を読むだけでは分からないでしょうね。
|
1
|
-
ハッシュ化アルゴリズムの一つ、MD5を紹介します。
|
2
|
+
具体的な例としてハッシュ化アルゴリズムの一つ、MD5を紹介します。
|
2
3
|
|
3
4
|
- どんな文字列からでも、16進数32文字になる
|
4
5
|
- 同じ文字列に対して変換かければ必ず同じハッシュ値が生成出来る
|
@@ -24,9 +25,9 @@
|
|
24
25
|
1,024の2乗ですら100万分の1ですからね……
|
25
26
|
まぁ元のワードが分からない限り何度試そうが同じハッシュ値を作り出す事は不可能です。
|
26
27
|
|
28
|
+
要するに、私が「こんにちは」という文字列を友達に送りつつ、
|
27
|
-
|
29
|
+
MD5結果の「2316c3ccdb7049dc4b38bb8453e3f538」を送信したとします。
|
28
|
-
その場合、悪意の第三者が「こんにちは」を傍受して
|
30
|
+
その場合、悪意の第三者が「こんにちは」という文字列を傍受して改ざんしようとしてもすぐにバレます。
|
29
|
-
まぁ改ざんすることは不可能です。
|
30
31
|
|
31
32
|
---
|
32
33
|
|
@@ -34,12 +35,15 @@
|
|
34
35
|
例えば私がWordの文章で「こんにちは」と書いて渡したとしましょう。
|
35
36
|
|
36
37
|
全てのフォントが同じ文字列幅であるとは限りません。
|
37
|
-
変な値の文字列を挿入することで、不可視な文字を
|
38
|
+
変な値の文字列を挿入することで、不可視な文字を挿し込みつつ一見違和感のない文章を作る事も可能です。
|
38
39
|
|
39
40
|
それらを組み合わせて「さようなら」という文字列に改変し、
|
40
41
|
不可視の文字を大量に埋め込みながらMD5に変換して試して…を繰り返し、
|
41
|
-
見事
|
42
|
+
何万文字とゴミデータを差し込み続け見事「2316c3ccdb7049dc4b38bb8453e3f538」の生成に成功したとしましょう。
|
42
43
|
|
43
|
-
で
|
44
|
+
そこで私が「あっ、さっき送った文書は5文字だからね」と言えばおしまいです。
|
45
|
+
ファイルにはサイズがありますからね。
|
44
|
-
ファイル
|
46
|
+
ファイルサイズをピタリあわせつつ同じハッシュ値を生成することは極めて困難です。
|
47
|
+
|
45
|
-
|
48
|
+
複数の条件を組み合わせる事で、ハッシュの改ざんに対する牽制力は飛躍的に上がります。
|
49
|
+
こういった工夫を重ねながら改ざんしてもすぐに判明するという仕組みを構築しているのです。
|