1 Verification Codes Michael Luby, Digital Fountain, Inc. Michael Mitzenmacher Harvard University and Digital Fountain, Inc.

Slides:



Advertisements
Similar presentations
Digital Fountains: Applications and Related Issues Michael Mitzenmacher.
Advertisements

Company LOGO F OUNTAIN C ODES, LT C ODES AND R APTOR C ODES Susmita Adhikari Eduard Mustafin Gökhan Gül.
Noise, Information Theory, and Entropy (cont.) CS414 – Spring 2007 By Karrie Karahalios, Roger Cheng, Brian Bailey.
Cyclic Code.
Foundations of Cryptography Lecture 10 Lecturer: Moni Naor.
Approximation, Chance and Networks Lecture Notes BISS 2005, Bertinoro March Alessandro Panconesi University La Sapienza of Rome.
Digital Fountain Codes V. S
15-853:Algorithms in the Real World
José Vieira Information Theory 2010 Information Theory MAP-Tele José Vieira IEETA Departamento de Electrónica, Telecomunicações e Informática Universidade.
(speaker) Fedor Groshev Vladimir Potapov Victor Zyablov IITP RAS, Moscow.
D.J.C MacKay IEE Proceedings Communications, Vol. 152, No. 6, December 2005.
Bounds on Code Length Theorem: Let l ∗ 1, l ∗ 2,..., l ∗ m be optimal codeword lengths for a source distribution p and a D-ary alphabet, and let L ∗ be.
Theoretical Program Checking Greg Bronevetsky. Background The field of Program Checking is about 13 years old. Pioneered by Manuel Blum, Hal Wasserman,
Complexity 26-1 Complexity Andrei Bulatov Interactive Proofs.
Cellular Communications
Lecture 40 CSE 331 Dec 11, Announcements Solutions to HW 10 and graded HW 9 at end of the lecture Review session on Monday: see blog for details.
Near Shannon Limit Performance of Low Density Parity Check Codes
Linear-time encodable and decodable error-correcting codes Daniel A. Spielman Presented by Tian Sang Jed Liu 2003 March 3rd.
Threshold Phenomena and Fountain Codes
Codes for Deletion and Insertion Channels with Segmented Errors Zhenming Liu Michael Mitzenmacher Harvard University, School of Engineering and Applied.
Erasure Correcting Codes
Parallel Routing Bruce, Chiu-Wing Sham. Overview Background Routing in parallel computers Routing in hypercube network –Bit-fixing routing algorithm –Randomized.
EXPANDER GRAPHS Properties & Applications. Things to cover ! Definitions Properties Combinatorial, Spectral properties Constructions “Explicit” constructions.
Message Passing for the Coloring Problem: Gallager Meets Alon and Kahale Sonny Ben-Shimon and Dan Vilenchik Tel Aviv University AofA June, 2007 TexPoint.
Low Density Parity Check Codes LDPC ( Low Density Parity Check ) codes are a class of linear bock code. The term “Low Density” refers to the characteristic.
Code and Decoder Design of LDPC Codes for Gbps Systems Jeremy Thorpe Presented to: Microsoft Research
RAPTOR CODES AMIN SHOKROLLAHI DF Digital Fountain Technical Report.
Forward Error Correction. FEC Basic Idea Send redundant data Receiver uses it to detect/correct errors Reduces retransmissions/NAKs Useful when RTT is.
Error Detection and Correction
The Role of Specialization in LDPC Codes Jeremy Thorpe Pizza Meeting Talk 2/12/03.
CS774. Markov Random Field : Theory and Application Lecture 10 Kyomin Jung KAIST Oct
Wireless Mobile Communication and Transmission Lab. Theory and Technology of Error Control Coding Chapter 7 Low Density Parity Check Codes.
Great Theoretical Ideas in Computer Science.
SPANISH CRYPTOGRAPHY DAYS (SCD 2011) A Search Algorithm Based on Syndrome Computation to Get Efficient Shortened Cyclic Codes Correcting either Random.
User Cooperation via Rateless Coding Mahyar Shirvanimoghaddam, Yonghui Li, and Branka Vucetic The University of Sydney, Australia IEEE GLOBECOM 2012 &
Threshold Phenomena and Fountain Codes Amin Shokrollahi EPFL Joint work with M. Luby, R. Karp, O. Etesami.
10.1 Chapter 10 Error Detection and Correction Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
1 Network Coding and its Applications in Communication Networks Alex Sprintson Computer Engineering Group Department of Electrical and Computer Engineering.
MIMO continued and Error Correction Code. 2 by 2 MIMO Now consider we have two transmitting antennas and two receiving antennas. A simple scheme called.
CprE 545 project proposal Long.  Introduction  Random linear code  LT-code  Application  Future work.
Andrea Montanari and Ruediger Urbanke TIFR Tuesday, January 6th, 2008 Phase Transitions in Coding, Communications, and Inference.
296.3Page :Algorithms in the Real World Error Correcting Codes III (expander based codes) – Expander graphs – Low density parity check (LDPC) codes.
Miss Insah Bhurtah Main Supervisor: Prof. K.M.S. Soyjaudah Associate Supervisor: Dr C Catherine.
Great Theoretical Ideas in Computer Science.
COSC 3213: Computer Networks I Instructor: Dr. Amir Asif Department of Computer Science York University Section M Topics: 1. Error Detection Techniques:
InterConnection Network Topologies to Minimize graph diameter: Low Diameter Regular graphs and Physical Wire Length Constrained networks Nilesh Choudhury.
15-853:Algorithms in the Real World
Interactive proof systems Section 10.4 Giorgi Japaridze Theory of Computability.
ADVANTAGE of GENERATOR MATRIX:
15-853Page :Algorithms in the Real World Error Correcting Codes III (expander based codes) – Expander graphs – Low density parity check (LDPC) codes.
Multi-Edge Framework for Unequal Error Protecting LT Codes H. V. Beltr˜ao Neto, W. Henkel, V. C. da Rocha Jr. Jacobs University Bremen, Germany IEEE ITW(Information.
Computer Science Division
Part 1: Overview of Low Density Parity Check(LDPC) codes.
Computer Communication & Networks Lecture 9 Datalink Layer: Error Detection Waleed Ejaz
Low Density Parity Check codes
10.1 Chapter 10 Error Detection and Correction Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
10.1 Chapter 10 Error Detection and Correction Data can be corrupted during transmission. Some applications require that errors be detected and.
Raptor Codes Amin Shokrollahi EPFL. BEC(p 1 ) BEC(p 2 ) BEC(p 3 ) BEC(p 4 ) BEC(p 5 ) BEC(p 6 ) Communication on Multiple Unknown Channels.
Complexity 24-1 Complexity Andrei Bulatov Interactive Proofs.
Hamming Distance & Hamming Code
Error-Correcting Code
10.1 Chapter 10 Error Detection and Correction Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
INRIA Rhône-Alpes - Planète project 1 Design and evaluation of a Low Density Generator Matrix (LDGM) large block FEC codec Vincent Roca, Zainab Khallouf,
Practical Session 10 Computer Architecture and Assembly Language.
1 Implementation and performance evaluation of LT and Raptor codes for multimedia applications Pasquale Cataldi, Miquel Pedros Shatarski, Marco Grangetto,
RS – Reed Solomon Error correcting code. Error-correcting codes are clever ways of representing data so that one can recover the original information.
Computer Architecture and Assembly Language
Advanced Computer Networks
Factor Graphs and the Sum-Product Algorithm
Computer Architecture and Assembly Language
Presentation transcript:

1 Verification Codes Michael Luby, Digital Fountain, Inc. Michael Mitzenmacher Harvard University and Digital Fountain, Inc.

2 Motivation LDPC (Low-Density Parity-Check) codes –Linear time and near optimal performance. –For erasures: Packet-level code, where basic op is XORing packets. Very fast. –For errors: Bit-level code, where basic op is probabilistic calculation or XORing bits. Slow. Bit level unsuitable for some applications. Packet-level codes useful as “outer codes.” Can we design packet-level LDPC codes for channels with errors?

3 Design Steps LDPC codes for symmetric q-ary channels, large q –Use that errors are random in a large space. –Tree analysis. Adversarial errors to random errors. –Code scrambling, independently discovered by [L94,GLD01]. Implementation details. –Packet numbers.

4 Setup View code as one layer bipartite graph. Variable nodes on left. Check nodes on right. Codewords satisfy: sum of all neighbors of a check node is 0. Note: sum allows general q. For bits/ packets, sum is XOR. D A B C H F E I J G K

5 Verification A message node is verified if it is believed to have the right value, with high probability. For symmetric q-ary channel, a check node verifies its neighbors if they sum to 0. A B C H If A + B + C = 0, then H verifies A, B, C.

6 Verification Argument Claim: If errors are random, probability of a false verification at each step is at most 1/(q-1). Proof: Consider the last erroneous message node. It must take on the precise value to cause a false verification. For large q, verifications are correct with high probability. A B C H

7 Correction Mechanism If B and C are verified, H can correct and verify value for A. Corrections possible when all but one neighbor of a check node has been verified. If verifications correct with high probability, so are corrections. A B C H

8 Message Passing Algorithm 1 Message nodes may be verified or unverified. –Initially all unverified. Message nodes have a value. –Initially received value. In parallel message nodes send value, state. If all neighbors of a check node sum to 0, check node verifies all neighbors. If all but one neighbor of a check node is verifed, the check node can correct and verify the value of the remaining node. In parallel check nodes send appropriate messages. Repeat.

9 Analysis Error probability from incorrect verification bounded by (#verification steps)/(q-1). Small for large q. –Ignored hereon in the analysis. End goal: all message nodes are verified. LDPC tree analysis yields equations.

10 Degree Sequence Functions Left Side – fraction of edges of degree i on the left. Right Side – fraction of edges of degree i on the right.

11 Tree Based Analysis Left Right Left Assume verified = correct. Pr[not verified, correct] Pr[not verified, incorrect] Pr[verified] After j rounds:

12 Tree Based Analysis Defining equations. English: to be correct and unverified after round j+1, must be: –Correct initially. –Each check node under you must have one incorrect node under it after round j. Probability, z = Pr[a check node has no incorrect neighbor after round j].

13 Tree Based Analysis Defining equations. To be incorrect after round j+1, must be: –Incorrect initially. –Each check node under you must have one unverified node under it after round j. Equivalently: Want

14 Bounds Finding good polynomials and  is difficult non-linear optimization problem. From previous work on LDPCs, for code rate R have and  such that Plugging in this and  yield codes that will handle fraction of errors up to: Good for low rate codes.

15 Proof Let x = b j. Then for Now use Suffices that

16 Improved algorithm D A B C H I E F Incorrect Verified

17 Improved Algorithm Each check node also sends a proposed value to each message node. –Equal to 0 - sum of other neighbors. If a message node receives two of the same proposed values, assumes it is the correct value and sets itself to verified. –Important: no cycles of length 4. Again, small probability of incorrect verification. Similar limiting equations derivable.

18 Reed-Solomon + Verification D A B C RS1 RS2 Tradeoff: RS check nodes yield more redundancy, for more powerful check nodes.

19 Reed-Solomon + Verification Check nodes consist of a Reed-Solomon code over the message nodes. Example: check nodes consists of two points. –So check node of degree d defines a degree d - 1 polynomial. Now check nodes can –Correct any single error among neighbors. –Correct two errors if all other neighbors are verified.

20 Bounds Equations in terms of and  derivable. Finding good polynomials and  is a difficult non-linear optimization problem. Consider case where check nodes can correct if at most 1 neighbor in error. LDPC erasure codes correct if 1 at most 1 neighbor erased. Equivalency implies can correct fraction of errors. Better using additional power of check nodes.

21 Comparison Point Standard Reed-Solomon codes can handle error rate of up to (1-R)/2. –Different model: worst case errors, not random. –Also additional techniques: List Decoding. Verification codes can provably handle higher error rates, with high probability. –Low rates using simple verification. –High rates using verification + 2 RS nodes.

22 Code Scrambling Using shared (pseudo)-randomness, errors can appear random instead of worst case. –Assume a suitably oblivious adversary. –Permute which data in which message packets, so adversary does not know where errors are introduced. –Replace jth packet data x with c j x + d j for random values c j and d j ; inversion causes adversarial error to look random. Symmetric q-ary code sufficient against a suitably oblivious channel.

23 Code Scrambling Example Consider modulo 61. If adversary does not know c, d the inverted values looks random. 7 Data c d Sent Error Inverted

24 Implementation Details Packets must have ID bits. If data can be corrupted so might ID bits. These errors can be absorbed in data errors. –Bad ID# will either be an erased packet (equivalent to an error) or will cause another data packet to be in error.

25 Additional Work Verification codes based on LT (Luby Transform) codes. Extended verification codes: unverified nodes send speculative list of values. To appear in the full paper.

26 Related Work Gallager mentions LDPC codes for symmetric q-ary channels back in 1960’s. –But did not see the possibilities of verification for large q. LDPC codes over GF(q), Davey and MacKay. –Meant for small q. Code scrambling. –Applied primarily to Reed-Solomon codes.

27 Conclusions Verification paradigm leads to simple codes for random errors over large alphabets. Potentially useful as an outer code. –Inner code say an LDPC code on a packet of bits. –Faulty decoding leads to arbitrary packet errors. Useful when avoiding bit-level calculations. –Codes in software vs. hardware.