teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

ちょっとだけ変えたんじゃ

2018/03/09 13:43

投稿

miyabi-sun
miyabi-sun

スコア21472

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
- 要するに、私が「こんにちは」という文字列を友達に送りつつ、MD5結果の「2316c3ccdb7049dc4b38bb8453e3f538」を送信したとします。
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
- 見事同じハッシュ値である「2316c3ccdb7049dc4b38bb8453e3f538」生成するこが可能です
42
+ 何万文字とゴミデータを差し込み続け見事「2316c3ccdb7049dc4b38bb8453e3f538」生成に成功したしましょう
42
43
 
43
- も、私が「あっ、さっき送った文書は5文字だからね」ってった瞬間おしまいです。
44
+ そこで私が「あっ、さっき送った文書は5文字だからね」えばおしまいです。
45
+ ファイルにはサイズがありますからね。
44
- ファイルにはサイズがありますからね、ファイルサイズをピタリあわせつつ同じハッシュ値を生成することは極めて困難です。
46
+ ファイルサイズをピタリあわせつつ同じハッシュ値を生成することは極めて困難です。
47
+
45
- 様に別の条件を組み合わせる事で改ざんの可能性を極限まで引き下げ可能です。
48
+ 複数の条件を組み合わせる事で、ハッシュの改ざんに対す牽制力は飛躍的に上ります。
49
+ こういった工夫を重ねながら改ざんしてもすぐに判明するという仕組みを構築しているのです。