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

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

  • View
    221

  • Download
    3

Embed Size (px)

Citation preview

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

1

Verification Codes

Michael Luby, Digital Fountain, Inc.

Michael Mitzenmacher

Harvard University and Digital Fountain, Inc.

Page 2: 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?

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

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.

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

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

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

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, thenH verifies A, B, C.

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

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

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

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

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

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.

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

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.

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

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.

( ): .x i xi 1

( ): .x i xi 1

i

i

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

11

Tree Based Analysis

Left

Right

Left

jj

j

j

ba

b

a

1

Assume verified = correct.

Pr[not verified, correct]

Pr[not verified, incorrect]

Pr[verified]

After j rounds:

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

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]

• .

))1(1(01 jj baa

)1( z

)1( jbz

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

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

))1(1(01 jj baa ))1(1(01 jjj babb

))1(1( 101 jjj babb

)))1(1()1(1(1( 001 jjj bbbbb

0jb

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

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.

)1/())1(1( Rxx

234

212RRR

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

15

Proof)))1(1()1(1(1( 001 jjj bbbbb

)))1(1()1(1(1( 00 xxbb

Let x = bj. Then for 0jb

)1/())1(1( RxxNow use

)1/()))1(1()(1( 00 Rxxbbx

)1/())1/()(1( 00 RxRxbb

)1/()))1(1()(1( 00 Rxxbb

Suffices that 1)1/()1)1/(1)(1( 00 RRbb

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

16

Improved algorithm

D

A

B

C

H

I

E

F

Incorrect

Verified

Verified

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

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.

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

18

Reed-Solomon + Verification

D

A

B

C

RS1

RS2

Tradeoff: RS check nodes yield more redundancy,for more powerful check nodes.

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

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.

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

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 R

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

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.

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

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 cjx + dj for random values cj

and dj ; inversion causes adversarial error to look random.

• Symmetric q-ary code sufficient against a suitably oblivious channel.

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

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

11 23 39 38 18

11 55 5 0 13 8

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

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.

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

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.

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

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.

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

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.