Title: Information Dispersal Algorithm
1Information Dispersal Algorithm
2Motivation
- 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.
3 4Dispersal(F, m, n)
- Let F be a data of size N in byte (FN).
- 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). - FiF/m
- Thus, the size of F, N, should be a multiple of m.
5Dispersal(F, m, n) Example 1
F
6Recovery(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))
7Recovery(Fij (1 j m), (1 ij n), m, n)
Example 2
- F32 bytes, m4, n8, Fi8 bytes (1 i 8)
- Let us assume that the following 4(m) pieces are
received.
F
8 9Dispersal(F, m, n)
- F b1,b2,,bN
- FN, and bi represents each byte in F (0 bi
255(28-1)). - 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),(bm1,,b2m),,(bN-m1,,bN)
- Si (b(i-1)m1,,bim) (1 i N/m)
- The matrix, M (m N/m), is constructed as
follows - M S1 S2 SN/m
10Dispersal(F, m, n)
- The matrix, A (nm), is constructed as follows
- ai (ai1, ,aim) (1 i n)
- chosen such that every subset of m different
vectors are linearly independent.
11Dispersal(F, m, n)
- The following Vandermonde matrix satisfies the
property required for A.
- m n, and all xis 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.
12Dispersal(F, m, n)
- n pieces, Fi (1 i n), are computed as
follows
- aiSk (ai1b(k-1)m1 aimbkm)
13Dispersal(F, m, n) Example 3
- F32 bytes, m4, n8
- F b1,b2,,b32
- F (b1,,b4),(b5,,b8),,(b29,,b32)
- M (48)
14Dispersal(F, m, n) Example 3
15Dispersal(F, m, n) Example 3
- Fi (1 i 8) are computed as follows
16Recovery(Fij (1 j m), (1 ij n), m, n)
- Given m pieces Fij ( (1 j m), (1 ij n) ),
- M can be recovered from the given m pieces Fij (
(1 j m), (1 ij n) ) because A is invertible.
17Recovery(Fij (1 j m), (1 ij n), m, n)
Example 4
- F32 bytes, m4, n8
- In example 3, Fi (1 i 8) pieces of 8 bytes
are resulted. - Assume that F1,F3,F4,F7 are received among
them.
18Recovery(Fij (1 j m), (1 ij n), m, n)
Example 4
- The original data M can be recovered by the
following computation
19Reference
- Michael O. Rabin. Efficient Dispersal of
Information for Security, Load Balancing, and
Fault Tolerance. Journal of ACM, 1989. - Jung Min Park, Edwin K. P. Chong, and Howard Jay
Siegel. Efficient Multicast Packet Authentication
Using Signature Amortization. IEEE Security and
Privacy, 2002.