回答編集履歴
9
読みやすく編集
test
CHANGED
@@ -14,6 +14,8 @@
|
|
14
14
|
|
15
15
|
|
16
16
|
|
17
|
+
```plain
|
18
|
+
|
17
19
|
暗号化された元の文書 : X
|
18
20
|
|
19
21
|
送受信者しか知らないハッシュ関数 : H
|
@@ -26,6 +28,8 @@
|
|
26
28
|
|
27
29
|
間違っているかもしれない値の時 : ○?
|
28
30
|
|
31
|
+
```
|
32
|
+
|
29
33
|
|
30
34
|
|
31
35
|
とする。
|
@@ -36,11 +40,19 @@
|
|
36
40
|
|
37
41
|
|
38
42
|
|
39
|
-
|
43
|
+
```plain
|
40
44
|
|
45
|
+
送信側 : X → H → x
|
46
|
+
|
47
|
+
|
48
|
+
|
41
|
-
↓ Xとxを同時に送る
|
49
|
+
↓ Xとxを同時に送る
|
50
|
+
|
51
|
+
|
42
52
|
|
43
53
|
受信側 : X → H → x → 合ってる
|
54
|
+
|
55
|
+
```
|
44
56
|
|
45
57
|
|
46
58
|
|
@@ -48,17 +60,35 @@
|
|
48
60
|
|
49
61
|
|
50
62
|
|
51
|
-
|
63
|
+
```plain
|
52
64
|
|
65
|
+
送信側 : X → H → x
|
66
|
+
|
67
|
+
|
68
|
+
|
53
|
-
↓Xとxを同時に送る
|
69
|
+
↓Xとxを同時に送る
|
70
|
+
|
71
|
+
|
54
72
|
|
55
73
|
イタズラ
|
56
74
|
|
75
|
+
|
76
|
+
|
57
|
-
↓X?、x?になる
|
77
|
+
↓X?、x?になる
|
78
|
+
|
79
|
+
|
58
80
|
|
59
81
|
受信側 : X? → H → x?となる時 → 多分合ってる(「ハッシュ関数が漏れた」か、「[X!,x]で偶々ハッシュ値の衝突が起きた」か、など。イタズラが起きたかは不明)
|
60
82
|
|
83
|
+
|
84
|
+
|
85
|
+
または
|
86
|
+
|
87
|
+
|
88
|
+
|
61
89
|
受信側 : X? → H → y(≠x?)となる時 → X!であったか、x!であったか、またはその両方 → イタズラか障害が発生した
|
90
|
+
|
91
|
+
```
|
62
92
|
|
63
93
|
|
64
94
|
|
8
言葉の間違い修正
test
CHANGED
@@ -70,4 +70,4 @@
|
|
70
70
|
|
71
71
|
|
72
72
|
|
73
|
-
事前にハッシュ関数(またはそれを生成するためのキー)自体も共
|
73
|
+
事前にハッシュ関数(またはそれを生成するためのキー)自体も共通鍵暗号方式等で共有する必要があるみたいですね。(これが割れているなら完全な書き換えやなりすましが可能ですから…)
|
7
一部追記
test
CHANGED
@@ -18,7 +18,7 @@
|
|
18
18
|
|
19
19
|
送受信者しか知らないハッシュ関数 : H
|
20
20
|
|
21
|
-
ハッシュ値 : x
|
21
|
+
ハッシュ値 : x (← これをメッセージ認証コード[Message Authentication Code、MAC]と呼ぶそうです。)
|
22
22
|
|
23
23
|
|
24
24
|
|
6
文言の編集…何度もすみません…
test
CHANGED
@@ -66,8 +66,8 @@
|
|
66
66
|
|
67
67
|
|
68
68
|
|
69
|
-
私
|
69
|
+
私は聞きかじっただけなので詳しいことはわからないですが…(^ ^;
|
70
70
|
|
71
71
|
|
72
72
|
|
73
|
-
|
73
|
+
事前にハッシュ関数(またはそれを生成するためのキー)自体も共有鍵暗号方式等で共有する必要があるみたいですね。(これが割れているなら完全な書き換えやなりすましが可能ですから…)
|
5
文言の追加等
test
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
|
4
4
|
|
5
|
-
「メッセージ認証コード」なるものがあるらしく、以下のような仕組みだそうです。
|
5
|
+
データをやり取りする方法に「メッセージ認証コード」なるものがあるらしく、以下のような仕組みだそうです。
|
6
6
|
|
7
7
|
|
8
8
|
|
@@ -40,7 +40,7 @@
|
|
40
40
|
|
41
41
|
↓ Xとxを同時に送る
|
42
42
|
|
43
|
-
受信側 : X → H → x
|
43
|
+
受信側 : X → H → x → 合ってる
|
44
44
|
|
45
45
|
|
46
46
|
|
4
編集
test
CHANGED
@@ -56,7 +56,7 @@
|
|
56
56
|
|
57
57
|
↓X?、x?になる
|
58
58
|
|
59
|
-
受信側 : X? → H → xとなる時 → 多分合ってる(ハッシュ値の衝突
|
59
|
+
受信側 : X? → H → x?となる時 → 多分合ってる(「ハッシュ関数が漏れた」か、「[X!,x]で偶々ハッシュ値の衝突が起きた」か、など。イタズラが起きたかは不明)
|
60
60
|
|
61
61
|
受信側 : X? → H → y(≠x?)となる時 → X!であったか、x!であったか、またはその両方 → イタズラか障害が発生した
|
62
62
|
|
3
文言の追加
test
CHANGED
@@ -56,7 +56,7 @@
|
|
56
56
|
|
57
57
|
↓X?、x?になる
|
58
58
|
|
59
|
-
受信側 : X? → H → xとなる時 → 多分合ってる
|
59
|
+
受信側 : X? → H → xとなる時 → 多分合ってる(ハッシュ値の衝突のせいで間違いかわからない)
|
60
60
|
|
61
61
|
受信側 : X? → H → y(≠x?)となる時 → X!であったか、x!であったか、またはその両方 → イタズラか障害が発生した
|
62
62
|
|
2
ちょっとした文言の編集
test
CHANGED
@@ -58,7 +58,7 @@
|
|
58
58
|
|
59
59
|
受信側 : X? → H → xとなる時 → 多分合ってる
|
60
60
|
|
61
|
-
受信側 : X? → H → y(≠x?)となる時 → X!であったか、x!であったか、その両方 → イタズラか障害が発生した
|
61
|
+
受信側 : X? → H → y(≠x?)となる時 → X!であったか、x!であったか、またはその両方 → イタズラか障害が発生した
|
62
62
|
|
63
63
|
|
64
64
|
|
@@ -70,4 +70,4 @@
|
|
70
70
|
|
71
71
|
|
72
72
|
|
73
|
-
ただ事前にハッシュ関数(またはそれを生成するためのキー)も共有鍵暗号方式等で共有する必要があるみたいですね。(これが割れているなら完全な書き換えやなりすましが可能ですから
|
73
|
+
ただ事前にハッシュ関数(またはそれを生成するためのキー)も共有鍵暗号方式等で共有する必要があるみたいですね。(これが割れているなら完全な書き換えやなりすましが可能ですから…)
|
1
ちょっとした編集
test
CHANGED
@@ -54,11 +54,11 @@
|
|
54
54
|
|
55
55
|
イタズラ
|
56
56
|
|
57
|
-
↓X
|
57
|
+
↓X?、x?になる
|
58
58
|
|
59
|
-
受信側 : X
|
59
|
+
受信側 : X? → H → xとなる時 → 多分合ってる
|
60
60
|
|
61
|
-
X? → H → y(≠x?)となる → X!で
|
61
|
+
受信側 : X? → H → y(≠x?)となる時 → X!であったか、x!であったか、その両方 → イタズラか障害が発生した
|
62
62
|
|
63
63
|
|
64
64
|
|
@@ -70,4 +70,4 @@
|
|
70
70
|
|
71
71
|
|
72
72
|
|
73
|
-
ただ事前にハッシュ関数(またはそれを生成するためのキー)も共有鍵暗号方式等で共有する必要があるみたいですね。(これが割れているなら完全な書き換えやなりすましが可能)
|
73
|
+
ただ事前にハッシュ関数(またはそれを生成するためのキー)も共有鍵暗号方式等で共有する必要があるみたいですね。(これが割れているなら完全な書き換えやなりすましが可能ですからね…)
|