CSC 774 Advanced Network Security
-
Upload
seth-mendez -
Category
Documents
-
view
22 -
download
0
description
Transcript of CSC 774 Advanced Network Security
CSC 774 Dr. Peng Ning 1
Computer Science
CSC 774 Advanced Network Security
Topic 2.4 Rabin’s Information Dispersal Algorithm
Slides by Sangwon Hyun
CSC 774 Dr. Peng Ning 2Computer Science
Motivation
• IDA was developed to provide safe and reliable transmission of information in distributed systems.
• Inefficiency of retransmission of lost packets– In multicast transmission, different receivers lose
different sets of packets.
– Re-request and retransmission increases delays.
• Forward error correction technique might be desirable in distributed systems.
CSC 774 Dr. Peng Ning 3Computer Science
Basic Idea of IDA
CSC 774 Dr. Peng Ning 4Computer Science
Dispersal(F, m, n)
• Let F be a data of size N in byte (|F|=N).
• m should be less than or equal to n (m ≤ n).
• Dispersal(F, m, n):– splitting the data F with some amount of
redundancy resulting in n pieces Fi (1 ≤ i ≤ n).
– |Fi|=|F|/m• Thus, the size of F, N, should be a multiple of m.
CSC 774 Dr. Peng Ning 5Computer Science
Dispersal(F, m, n) – Example 1
• |F|=32 bytes, m=4, n=8
F
Dispersal(F, 4, 8)
F1 F2 F3 F4 F5 F6 F7 F8
– |Fi| = 32/4 = 8 bytes (1 ≤ i ≤ n)
CSC 774 Dr. Peng Ning 6Computer Science
Recovery({Fij |(1≤ j ≤m), (1≤ ij ≤n)}, m, n)
• Recovery({Fij |(1≤ j ≤m), (1≤ ij ≤n)}, m, n):
– reconstructing the original data F from any m pieces among n pieces (Fi (1 ≤ i ≤ n))
CSC 774 Dr. Peng Ning 7Computer Science
Recovery({Fij |(1≤ j ≤m), (1≤ ij ≤n)}, m, n) – Example 2• |F|=32 bytes, m=4, n=8, |Fi|=8 bytes (1 ≤ i ≤ 8)• Let us assume that the following 4(=m) pieces are
received.
Recovery({F1, F3, F4, F7}, 4, 8)
F
F1 F3 F4 F7
CSC 774 Dr. Peng Ning 8Computer Science
Detailed Operations
CSC 774 Dr. Peng Ning 9Computer Science
Dispersal(F, m, n)
• F = b1,b2,…,bN
– |F|=N, and bi represents each byte in F (0 ≤ bi ≤ 255).
– All computations should be done in GF(28).• GF(28) is closed under addition and multiplication.• Every nonzero element in GF(28) has a multiplicative inverse.
• F = (b1,…,bm),(bm+1,…,b2m),…,(bN-m+1,…,bN)
– Si = (b(i-1)m+1,…,bim) T(1 ≤ i ≤ N/m)
• The matrix, M (m × N/m), is constructed as follows:– M = [ S1 S2 … SN/m ]
CSC 774 Dr. Peng Ning 10Computer Science
Dispersal(F, m, n)
• The matrix, A (n×m), is constructed as follows:
– ai = (ai1, …,aim) (1 ≤ i ≤ n)• chosen such that every subset of m different vectors are linearly
independent.
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
=
n
2
1
a
...
a
a
A
CSC 774 Dr. Peng Ning 11Computer Science
Dispersal(F, m, n)
• The following Vandermonde matrix satisfies the property required for A.
⎥⎥⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢⎢⎢
⎣
⎡
−
−−−−
−
−
−
12
11
211
13
233
12
222
11
211
...1
...1
...............
...1
...1
...1
mnnn
mnnn
m
m
m
xxx
xxx
xxx
xxx
xxx
– m ≤ n, and all xi’s are nonzero elements in GF(28) and pairwise different.
– Any m different rows are linearly independent, so any matrix composed of a set of any m different rows is invertible.
CSC 774 Dr. Peng Ning 12Computer Science
Dispersal(F, m, n)
• n pieces, Fi (1 ≤ i ≤ n), are computed as follows:
[ ]
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
=
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
⋅⋅⋅
⋅⋅⋅⋅⋅⋅
=
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
=⋅
nF
F
F
...
Sa...SaSa
............
Sa...SaSa
Sa...SaSa
S...SS
a
...
a
a
M A
2
1
N/mn2n1n
N/m22212
N/m12111
N/m21
n
2
1
– ai ・ Sk = (ai1b(k−1)m+1 + … + aimbkm)
CSC 774 Dr. Peng Ning 13Computer Science
Dispersal(F, m, n) – Example 3
• |F|=32 bytes, m=4, n=8– F = b1,b2,…,b32
– F = (b1,…,b4),(b5,…,b8),…,(b29,…,b32)
– M (4×8)
[ ]⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
==
3284
3173
3062
2951
821
b...bb
b...bb
b...bb
b...bb
S...SS M
CSC 774 Dr. Peng Ning 14Computer Science
Dispersal(F, m, n) – Example 3
– A (8×4)
⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢
⎣
⎡
=
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
=
38
288
32
222
31
211
8
2
1
1
............
1
1
a
...
a
a
A
xxx
xxx
xxx
CSC 774 Dr. Peng Ning 15Computer Science
Dispersal(F, m, n) – Example 3
• Fi (1 ≤ i ≤ 8) are computed as follows:
[ ]
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
=
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
⋅⋅⋅
⋅⋅⋅⋅⋅⋅
=
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
=⋅
8
2
1
882818
822212
812111
821
8
2
1
...
Sa...SaSa
............
Sa...SaSa
Sa...SaSa
S...SS
a
...
a
a
M A
F
F
F
CSC 774 Dr. Peng Ning 16Computer Science
Recovery({Fij |(1≤ j ≤m), (1≤ ij ≤n)}, m, n)
• Given m pieces Fij ( (1≤ j ≤m), (1≤ ij ≤n) ),
M A' M
a
...
a
a
F
...
F
F
m
2
1
m
2
1
i
i
i
i
i
i
⋅=⋅
⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢
⎣
⎡
=
⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢
⎣
⎡
• M can be recovered from the given m pieces Fij ( (1≤ j ≤m), (1≤ ij ≤n) ) because A’ is invertible.
M
F
...
F
F
a
...
a
a
m
2
1
m
2
1
i
i
i
1
i
i
i
=
⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢
⎣
⎡
⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢
⎣
⎡−
CSC 774 Dr. Peng Ning 17Computer Science
Recovery({Fij |(1≤ j ≤m), (1≤ ij ≤n)}, m, n) – Example 4• |F|=32 bytes, m=4, n=8• In example 3, Fi (1 ≤ i ≤ 8) pieces of 8 bytes are
resulted.• Assume that {F1,F3,F4,F7} are received among them.
M
a
a
a
a
Sa...SaSa
Sa...SaSa
Sa...SaSa
Sa...SaSa
7
4
3
1
872717
842414
832313
812111
7
4
3
1
⋅
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
=
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅
=
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
FFFF
CSC 774 Dr. Peng Ning 18Computer Science
Recovery({Fij |(1≤ j ≤m), (1≤ ij ≤n)}, m, n) – Example 4• The original data M can be recovered by the following
computation:
M
a
a
a
a
7
4
3
1
1
7
4
3
1
=
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡−
FFFF