CSC 774 Advanced Network Security

18
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

description

CSC 774 Advanced Network Security. Topic 2.4 Rabin’s Information Dispersal Algorithm. Slides by Sangwon Hyun. Motivation. IDA was developed to provide safe and reliable transmission of information in distributed systems. Inefficiency of retransmission of lost packets - PowerPoint PPT Presentation

Transcript of CSC 774 Advanced Network Security

Page 1: 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

Page 2: CSC 774 Advanced Network Security

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.

Page 3: CSC 774 Advanced Network Security

CSC 774 Dr. Peng Ning 3Computer Science

Basic Idea of IDA

Page 4: CSC 774 Advanced Network Security

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.

Page 5: CSC 774 Advanced Network Security

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)

Page 6: CSC 774 Advanced Network Security

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))

Page 7: CSC 774 Advanced Network Security

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

Page 8: CSC 774 Advanced Network Security

CSC 774 Dr. Peng Ning 8Computer Science

Detailed Operations

Page 9: CSC 774 Advanced Network Security

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 ]

Page 10: CSC 774 Advanced Network Security

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

Page 11: CSC 774 Advanced Network Security

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.

Page 12: CSC 774 Advanced Network Security

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)

Page 13: CSC 774 Advanced Network Security

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

Page 14: CSC 774 Advanced Network Security

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

Page 15: CSC 774 Advanced Network Security

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

Page 16: CSC 774 Advanced Network Security

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

=

⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢

⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢

⎡−

Page 17: CSC 774 Advanced Network Security

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

Page 18: CSC 774 Advanced Network Security

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