930 likes | 1.47k Views
Network Coding for Error Correction and Security. Raymond W. Yeung The Chinese University of Hong Kong. Introduction Network Coding vs Algebraic Coding Network Error Correction Secure Network Coding Applications of Random Network Coding in P2P Concluding Remarks . Outline. Introduction.
E N D
Network Coding forError Correction and Security Raymond W. Yeung The Chinese University of Hong Kong
Introduction Network Coding vs Algebraic Coding Network Error Correction Secure Network Coding Applications of Random Network Coding in P2P Concluding Remarks Outline
A Network Coding Example The Butterfly Network
b1 b2 b1 b2 b1 b2 b1 b2 b1 b2 b1 b2 b1 b1+b2 b2 b2 b1 b1+b2 b1+b2
A Network Coding Example with Two Sources
b1 b2 b1 b2 b1+b2 b2 b2 b2 b1 b1 b1 b1+b2 b1+b2 b2 b1
b1 b2 b1 t = 1 b2 t = 2 b1+b2 b1+b2 t = 3 Wireless/Satellite Application 50% saving for downlink bandwidth!
When there is 1 source to be multicast in a network, store-and-forward may fail to optimize bandwidth. When there are 2 or more independent sources to be transmitted in a network (even for unicast), store-and-forward may fail to optimize bandwidth. In short, Information is NOT a commodity! Two Themes of Network Coding
A network is represented by a graph G = (V,E) with node set V and edge (channel) set E. A symbol from an alphabet F can be transmitted on each channel. There can be multiple edges between a pair of nodes. Model of a Point-to-Point Network
The source node s generates an information vector x = (x1 x2 … xk) Fk. What is the condition for a node t to be able to receive the information vector x? Max-Flow Bound. If maxflow(t) < k, then node t cannot possibly receive x. Single-Source Network Coding
If network coding is allowed, a node t can receive the information vector x iff maxflow(t) ≥ k i.e., the max-flow bound can be achieved simultaneously by all such nodes t. (Ahlswede et al. 00) Moreover, this can be achieved by linear network coding for a sufficiently large base field. (Li, Y and Cai, Koetter and Medard, 03) The Basic Results
Recall that x = (x1 x2 … xk) is the multicast message. For each channel e, assign a column vector fe such that the symbol sent on channel e is x fe. The vector fe is called the global encoding kernel of channel e. The global encoding kernel of a channel is analogous to a column in the generator matrix of a classical block code. The global encoding kernel of an output channel at a node must be a linear combination of the global encoding kernels of the input channels. Global Encoding Kernels of a Linear Network Code
An Example k = 2, let x = (b1, b2)
b1 b2 b1 b2 b1 b1+b2 b2 b1+b2 b1+b2
A message of k symbols from a base field F is generated at the source node s. A k-dimensional linear multicast has the following property: A non-source node t can decode the message correctly if and only if maxflow(t) k. By the Max-flow bound, this is also a necessary condition for a node t to decode (for any given network code). Thus the tightness of the Max-flow bound is achieved by a linear multicast, which always exists for sufficiently large base fields. A Linear Multicast
Consider a (n,k) classical block code with minimum distance d. Regard it as a network code on an combination network. Since the (n,k) code can correct d-1 erasures, all the nodes at the bottom can decode. An (n,k) Code with dmin = d
The Combination Network s n n-d+1 n-d+1
For the nodes at the bottom, maxflow(t) = n-d+1. By the Max-flow bound, k maxflow(t) = n-d+1 or d n-k+1, the Singleton bound. Therefore, the Singleton bound is a special case of the Max-flow bound for network coding. An MDS code is a classical block code that achieves tightness of the Singleton bound. Since a linear multicast achieves tightness of the Max-flow bound, it is formally a network generalization of an MDS code.
The starting point of classical coding theory and information-theoretic cryptography is the existence of a conduit through which we can transmit information from Point A to Point B without error. Single-source network coding provides a new such conduit. Therefore, we expect that both classical coding theory and information-theoretic cryptography can be extended to networks. Two Ramifications of Single-Source Network Coding
Classical error-correcting codes are devised for point-to-point communications. Such codes are applied to networks on a link-by-link basis. Point-to-Point Error Correction in a Network
Channel Decoder Channel Decoder Network Encoder Channel Encoder
Observation Only the receiving nodes have to know the message transmitted; the immediate nodes don’t. In general, channel coding and network coding do not need to be separated Network Error Correction Network error correction generalizes classical point-to-point error correction. A Motivation for Network Error Correction
Network Codec
A distributed error-correcting scheme over the network. Does not explicitly decode at intermediate nodes as in point-to-point error correction. At a sink node t, if c errors can be corrected, it means that the transmitted message can be decoded correctly as long as the total number of errors, which can happen anywhere in the network, is at most c. What Does Network Error Correction Do?
Classical Algebraic Coding y = x + z error vector received vector codeword y, x, and z are all in the same space.
Hamming distance is the most natural distance measure. For a code C, dmin = min d(v1,v2), where v1,v2 C andv1 v2. If dmin = 2c+1, then C can Correct c errors Detect 2c errors Correct 2c erasures Minimum Distance: Classical Case
Sphere Packing dmin
Upper bounds Hamming bound Singleton bound Lower bound Gilbert-Varsharmov bound Coding Bounds: Classical Case
Network Coding t yt x yu u s yv v z
The network code is specified by the local encoding kernels at each non-source node. Fix a sink node t. The codeword x, the error vector z, and the received vectors yt are all in different spaces. In this tutorial, we consider only linear network codes. Then yt = xFs,t + zFt where Fs,t and Ftdepend on t. In the classical case, Fs,t = Ft are the identity matrix. Input/Output Relation
The network Hamming distance can be defined for linear network codes. Many concepts in algebra coding based on the Hamming distance can be extended to network coding. Distance Properties of Linear Network Codes (Yang, Y, Zhang 07)
Fix both the network code and the codebook C, i.e., the set of all possible codewords transmitted into the network. For a sink node t, yt(x,z) = x Fs,t + z Ft For two codewords x1, x2 C , define their distance by Dtmsg(x1,x2) = arg minzwH(z) where the minimum is taken over all error vectors z such that yt(x1,0) = yt(x2,z) , or yt(x1,z) = yt(x2,0) IdeaDtmsg(x1,x2) is the minimum Hamming weight of an error vector z that makes x1 and x2 indistinguishable at node t. Dtmsg defines a metric on the input space of the linear network code. How to Measure the Distance between Two Codewords?
For a sink node t, dmin,t= minx1x2Dtmsg(x1,x2) Each sink node has a different view of the codebook as each is associated with a different distance measure. dmin,tis the minimum distance as seen by sink node t. If the codebook C is linear, dmin,thas the following equivalent definition: dmin,t= min { wH(z) : z At } where At = { z : yt(x,z) = 0 for some x C }. Minimum Distance for a Sink Node
If dmin,t= 2c+1, then sink node t can Correct c errors Detect 2c errors Correct 2c erasures Some form of “sphere packing” is at work. Much more complicated when the network code is nonlinear. Error Correction/Detection and Erasure Correctionfor a Linear Network Code
Sphere Packing dmin
In network coding, some error patterns have no effect on the sink nodes. These are “invisible” error patterns that cannot be (or do not need to be) detected. Also called “Byzantine modification detection” (Ho et al, ISIT 04) Remark on Error Detection
In classical algebraic coding, erasure correction has three equivalent interpretation: A symbol is erased means that it is not available A symbol is erased means that the erasure symbol is received The error locations are known. In our context, erasure correction means that the locations of the errors are known by the sink nodes but not the intermediate nodes. Remark on Erasure Correction
Cai & Y (02, 06) obtained the Hamming bound, the Singleton bound and the Gilbert-Varshamov bound for network codes. These bounds are natural extension of the bounds for algebraic codes. Let the base field be GF(q), n = mint maxflow(t) and dmin = mint dmin,t Coding Bounds for Network Codes
Hamming bound where . Singleton bound The Singleton bound is asymptotically tight, i.e., when q is sufficiently large. Upper Bounds
Observation Sink nodes with larger maximum flow can have better error correction capability. For a given linear network code, refined Hamming bounds and Singleton bounds specific to the individual sink nodes can be obtained. Refined Coding Bounds
A network code with rank(Fs,t) = mt, codebook C, and dmin,t > 0, satisfies where , for all sink node t. Refined Hamming Bound
A network code with rank(Fs,t) = mt, codebook C, and dmin,t > 0, satisfies for all sink node t. Refined Singleton Bound
Note that mt maxflow(t) for all sink nodes t. Thus the refined Hamming bounds imply the Hamming bound, and the refined Singleton bounds imply the Singleton bound. Remark
These bounds are shown to be asymptotically tight for linear network codes by construction, i.e., it is possible to construct a codebook that achieves tightness of the individual bound at every sink node t for any given linear network code provided that q is sufficiently large. This implies that for large base fields, only linear transformations need to be performed at the intermediate nodes! No decoding needed. Tightness of the Refined Singleton Bounds
Deterministic algorithms Alg1: Yang, Ngai and Y (ISIT 07) Alg2: Matsumoto (IEICE, 07) obtained an algorithm based on robust network codes. Alg3: Yang and Y (ITW, Bergen 07) All these algorithms have almost the same complexity in terms of the field size requirement and time complexity. These algorithms imply that when q is very large, network codes satisfying these bounds can be constructed randomly with high probability. Construction of Network Codes that Achieve the Refined Singleton bounds
Gilbert Bound • Let ns be the outgoing degree of source node s. • Let be the d-ball about x with respect to the metric Dtmsg.
Given a network code, let |C|max be the maximum possible size of the codebook such that dmin,t ≥dt for each sink node t. Then, where Gilbert Bound