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

回答編集履歴

9

読みやすく編集

2018/03/10 03:11

投稿

namnium1125
namnium1125

スコア2045

answer CHANGED
@@ -6,29 +6,44 @@
6
6
 
7
7
  以下、
8
8
 
9
+ ```plain
9
10
  暗号化された元の文書 : X
10
11
  送受信者しか知らないハッシュ関数 : H
11
12
  ハッシュ値 : x (← これをメッセージ認証コード[Message Authentication Code、MAC]と呼ぶそうです。)
12
13
 
13
14
  間違った値の時 : ○!
14
15
  間違っているかもしれない値の時 : ○?
16
+ ```
15
17
 
16
18
  とする。
17
19
 
18
20
  - 正常時
19
21
 
22
+ ```plain
20
- > 送信側 : X → H → x
23
+ 送信側 : X → H → x
24
+
21
- ↓ Xとxを同時に送る
25
+ ↓ Xとxを同時に送る
26
+
22
27
  受信側 : X → H → x → 合ってる
28
+ ```
23
29
 
24
30
  - 異常時
25
31
 
32
+ ```plain
26
- > 送信側 : X → H → x
33
+ 送信側 : X → H → x
34
+
27
- ↓Xとxを同時に送る
35
+ ↓Xとxを同時に送る
36
+
28
37
  イタズラ
38
+
29
- ↓X?、x?になる
39
+ ↓X?、x?になる
40
+
30
41
  受信側 : X? → H → x?となる時 → 多分合ってる(「ハッシュ関数が漏れた」か、「[X!,x]で偶々ハッシュ値の衝突が起きた」か、など。イタズラが起きたかは不明)
42
+
43
+ または
44
+
31
45
  受信側 : X? → H → y(≠x?)となる時 → X!であったか、x!であったか、またはその両方 → イタズラか障害が発生した
46
+ ```
32
47
 
33
48
  #
34
49
 

8

言葉の間違い修正

2018/03/10 03:11

投稿

namnium1125
namnium1125

スコア2045

answer CHANGED
@@ -34,4 +34,4 @@
34
34
 
35
35
  私は聞きかじっただけなので詳しいことはわからないですが…(^ ^;
36
36
 
37
- 事前にハッシュ関数(またはそれを生成するためのキー)自体も共鍵暗号方式等で共有する必要があるみたいですね。(これが割れているなら完全な書き換えやなりすましが可能ですから…)
37
+ 事前にハッシュ関数(またはそれを生成するためのキー)自体も共鍵暗号方式等で共有する必要があるみたいですね。(これが割れているなら完全な書き換えやなりすましが可能ですから…)

7

一部追記

2018/03/09 14:15

投稿

namnium1125
namnium1125

スコア2045

answer CHANGED
@@ -8,7 +8,7 @@
8
8
 
9
9
  暗号化された元の文書 : X
10
10
  送受信者しか知らないハッシュ関数 : H
11
- ハッシュ値 : x
11
+ ハッシュ値 : x (← これをメッセージ認証コード[Message Authentication Code、MAC]と呼ぶそうです。)
12
12
 
13
13
  間違った値の時 : ○!
14
14
  間違っているかもしれない値の時 : ○?

6

文言の編集…何度もすみません…

2018/03/09 13:12

投稿

namnium1125
namnium1125

スコア2045

answer CHANGED
@@ -32,6 +32,6 @@
32
32
 
33
33
  #
34
34
 
35
- 聞きかじっただけなので詳しいことはわからないですが…(^ ^;
35
+ 聞きかじっただけなので詳しいことはわからないですが…(^ ^;
36
36
 
37
- ただ事前にハッシュ関数(またはそれを生成するためのキー)も共有鍵暗号方式等で共有する必要があるみたいですね。(これが割れているなら完全な書き換えやなりすましが可能ですから…)
37
+ 事前にハッシュ関数(またはそれを生成するためのキー)自体も共有鍵暗号方式等で共有する必要があるみたいですね。(これが割れているなら完全な書き換えやなりすましが可能ですから…)

5

文言の追加等

2018/03/09 13:06

投稿

namnium1125
namnium1125

スコア2045

answer CHANGED
@@ -1,6 +1,6 @@
1
1
  ハッシュ関数、ハッシュ値については他の回答者様方が答えられているので、別なアプローチで。
2
2
 
3
- 「メッセージ認証コード」なるものがあるらしく、以下のような仕組みだそうです。
3
+ データをやり取りする方法に「メッセージ認証コード」なるものがあるらしく、以下のような仕組みだそうです。
4
4
 
5
5
  #
6
6
 
@@ -19,7 +19,7 @@
19
19
 
20
20
  > 送信側 : X → H → x
21
21
  ↓ Xとxを同時に送る
22
- 受信側 : X → H → x
22
+ 受信側 : X → H → x → 合ってる
23
23
 
24
24
  - 異常時
25
25
 

4

編集

2018/03/09 13:05

投稿

namnium1125
namnium1125

スコア2045

answer CHANGED
@@ -27,7 +27,7 @@
27
27
  ↓Xとxを同時に送る
28
28
  イタズラ
29
29
  ↓X?、x?になる
30
- 受信側 : X? → H → xとなる時 → 多分合ってる(ハッシュ値の衝突のせいで間違いわから)
30
+ 受信側 : X? → H → x?となる時 → 多分合ってる(ハッシュ関数が漏れた」か、「[X!,x]で偶々ハッシュ値の衝突が起きた」ど。イタズラが起きたかは不明)
31
31
  受信側 : X? → H → y(≠x?)となる時 → X!であったか、x!であったか、またはその両方 → イタズラか障害が発生した
32
32
 
33
33
  #

3

文言の追加

2018/03/09 13:02

投稿

namnium1125
namnium1125

スコア2045

answer CHANGED
@@ -27,7 +27,7 @@
27
27
  ↓Xとxを同時に送る
28
28
  イタズラ
29
29
  ↓X?、x?になる
30
- 受信側 : X? → H → xとなる時 → 多分合ってる
30
+ 受信側 : X? → H → xとなる時 → 多分合ってる(ハッシュ値の衝突のせいで間違いかわからない)
31
31
  受信側 : X? → H → y(≠x?)となる時 → X!であったか、x!であったか、またはその両方 → イタズラか障害が発生した
32
32
 
33
33
  #

2

ちょっとした文言の編集

2018/03/09 12:59

投稿

namnium1125
namnium1125

スコア2045

answer CHANGED
@@ -28,10 +28,10 @@
28
28
  イタズラ
29
29
  ↓X?、x?になる
30
30
  受信側 : X? → H → xとなる時 → 多分合ってる
31
- 受信側 : X? → H → y(≠x?)となる時 → X!であったか、x!であったか、その両方 → イタズラか障害が発生した
31
+ 受信側 : X? → H → y(≠x?)となる時 → X!であったか、x!であったか、またはその両方 → イタズラか障害が発生した
32
32
 
33
33
  #
34
34
 
35
35
  私も聞きかじっただけなので詳しいことはわからないですが…(^ ^;
36
36
 
37
- ただ事前にハッシュ関数(またはそれを生成するためのキー)も共有鍵暗号方式等で共有する必要があるみたいですね。(これが割れているなら完全な書き換えやなりすましが可能ですから…)
37
+ ただ事前にハッシュ関数(またはそれを生成するためのキー)も共有鍵暗号方式等で共有する必要があるみたいですね。(これが割れているなら完全な書き換えやなりすましが可能ですから…)

1

ちょっとした編集

2018/03/09 12:57

投稿

namnium1125
namnium1125

スコア2045

answer CHANGED
@@ -26,12 +26,12 @@
26
26
  > 送信側 : X → H → x
27
27
  ↓Xとxを同時に送る
28
28
  イタズラ
29
- ↓X、xになる
29
+ ↓X?、x?になる
30
- 受信側 : X → H → xとなる → 多分合ってる
30
+ 受信側 : X? → H → xとなる → 多分合ってる
31
- X? → H → y(≠x?)となる → X!でったか、x!であったか、その両方 → イタズラか障害が発生した
31
+ 受信側 : X? → H → y(≠x?)となる → X!でったか、x!であったか、その両方 → イタズラか障害が発生した
32
32
 
33
33
  #
34
34
 
35
35
  私も聞きかじっただけなので詳しいことはわからないですが…(^ ^;
36
36
 
37
- ただ事前にハッシュ関数(またはそれを生成するためのキー)も共有鍵暗号方式等で共有する必要があるみたいですね。(これが割れているなら完全な書き換えやなりすましが可能)
37
+ ただ事前にハッシュ関数(またはそれを生成するためのキー)も共有鍵暗号方式等で共有する必要があるみたいですね。(これが割れているなら完全な書き換えやなりすましが可能ですからね…)