180 likes | 286 Views
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
E N D
CSC 774 Advanced Network Security Topic 2.4 Rabin’s Information Dispersal Algorithm Slides by Sangwon Hyun Dr. Peng Ning
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. Dr. Peng Ning
Basic Idea of IDA Dr. Peng Ning
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. Dr. Peng Ning
Dispersal(F, 4, 8) F1 F2 F3 F4 F5 F6 F7 F8 Dispersal(F, m, n) – Example 1 • |F|=32 bytes, m=4, n=8 F • |Fi| = 32/4 = 8 bytes (1 ≤ i ≤ n) Dr. Peng Ning
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)) Dr. Peng Ning
F1 F3 F4 F7 Recovery({F1, F3, F4, F7}, 4, 8) 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. F Dr. Peng Ning
Detailed Operations Dr. Peng Ning
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] Dr. Peng Ning
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. Dr. Peng Ning
Dispersal(F, m, n) • The following Vandermonde matrix satisfies the property required for A. • 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. Dr. Peng Ning
Dispersal(F, m, n) • n pieces, Fi (1 ≤ i ≤ n), are computed as follows: • ai・Sk = (ai1b(k−1)m+1 + …+ aimbkm) Dr. Peng Ning
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) Dr. Peng Ning
Dispersal(F, m, n) – Example 3 • A (8×4) Dr. Peng Ning
Dispersal(F, m, n) – Example 3 • Fi (1 ≤ i ≤ 8) are computed as follows: Dr. Peng Ning
Recovery({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. Dr. Peng Ning
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. Dr. Peng Ning
Recovery({Fij |(1≤ j ≤m), (1≤ ij ≤n)}, m, n) – Example 4 • The original data M can be recovered by the following computation: Dr. Peng Ning