Simplified high-speed high-distance list decoding for alternant - - PDF document

simplified high speed high distance list decoding for
SMART_READER_LITE
LIVE PREVIEW

Simplified high-speed high-distance list decoding for alternant - - PDF document

Simplified high-speed high-distance list decoding for alternant codes cr.yp.to/papers.html #simplelist D. J. Bernstein University of Illinois at Chicago Thanks to: Cisco University Research Program And thanks to: NIST grant 60NANB10D263


slide-1
SLIDE 1

Simplified high-speed high-distance list decoding for alternant codes cr.yp.to/papers.html #simplelist

  • D. J. Bernstein

University of Illinois at Chicago Thanks to: Cisco University Research Program And thanks to: NIST grant 60NANB10D263

slide-2
SLIDE 2

Alternant codes Parameters: ✎ q: prime power. ✎ ♠❀ ♥❀ t: positive integers with ♠t ✔ ♥ ✔ q♠. ✎ Distinct ☛1❀ ✿ ✿ ✿ ❀ ☛♥ ✷ Fq♠. ✎ Nonzero ☞1❀ ✿ ✿ ✿ ❀ ☞♥ ✷ Fq♠. ❈ = F♥

q ❭ ❘ where ❘ =

✟ (☞1❢(☛1)❀ ✿ ✿ ✿ ❀ ☞♥❢(☛♥)) ✷ F♥

q♠ :

❢ ✷ Fq♠[①]; deg ❢ ❁ ♥ t ✠ . ❈ is an [♥❀ ✕ ♥ ♠t❀ ✕ t + 1] linear code over Fq. (1974 Helgert, 1975 Chien–Choy, 1975 Delsarte)

slide-3
SLIDE 3

Goal: Correct ✇ errors in ❈. Assume q(♥❂t) lg q♠ ✷ (lg ♥)❖(1). Any ✇ ✔ ❜t❂2❝, cost ♥❖(1): 1960 Peterson.

slide-4
SLIDE 4

Goal: Correct ✇ errors in ❈. Assume q(♥❂t) lg q♠ ✷ (lg ♥)❖(1). Any ✇ ✔ ❜t❂2❝, cost ♥❖(1): 1960 Peterson. Big speedups— ♥2(lg ♥)❖(1): 1968 Berlekamp; ♥(lg ♥)❖(1), using FFT etc.: 1976 Justesen, 1977 Sarwate.

slide-5
SLIDE 5

Goal: Correct ✇ errors in ❈. Assume q(♥❂t) lg q♠ ✷ (lg ♥)❖(1). Any ✇ ✔ ❜t❂2❝, cost ♥❖(1): 1960 Peterson. Big speedups— ♥2(lg ♥)❖(1): 1968 Berlekamp; ♥(lg ♥)❖(1), using FFT etc.: 1976 Justesen, 1977 Sarwate. Any ✇ ❁ ♥ ♣ ♥(♥ t 1), cost ♥❖(1): 1998 Guruswami– Sudan, improving on 1997 Sudan. Many subsequent speedups.

slide-6
SLIDE 6

Goal: Correct ✇ errors in ❈. Assume q(♥❂t) lg q♠ ✷ (lg ♥)❖(1). Any ✇ ✔ ❜t❂2❝, cost ♥❖(1): 1960 Peterson. Big speedups— ♥2(lg ♥)❖(1): 1968 Berlekamp; ♥(lg ♥)❖(1), using FFT etc.: 1976 Justesen, 1977 Sarwate. Any ✇ ❁ ♥ ♣ ♥(♥ t 1), cost ♥❖(1): 1998 Guruswami– Sudan, improving on 1997 Sudan. Many subsequent speedups. Any ✇ ❁ ♥✵ ♣ ♥✵(♥✵ t 1), cost ♥❖(1): 2000 Koetter–Vardy. Here ♥✵ = ♥(q 1)❂q.

slide-7
SLIDE 7

Example of recent speedups, JSC 2010 Beelen–Brander: any ✇ ❁ ♥ ♣ ♥(♥ t 1), cost ❵5♥(lg ♥)❖(1) for output list size ❵.

slide-8
SLIDE 8

Example of recent speedups, JSC 2010 Beelen–Brander: any ✇ ❁ ♥ ♣ ♥(♥ t 1), cost ❵5♥(lg ♥)❖(1) for output list size ❵. 2011 Bernstein “Simplified high- speed high-distance list decoding for alternant codes”: any ✇ ❁ ♥✵ ♣ ♥✵(♥✵ t 1), cost ❵❁3✿5♥(lg ♥)❖(1) for output list size ❵. Cost ❖(♥❁4✿5) for any ✇ ❁ ♥✵ ♣ ♥✵(♥✵ t 1) + ♦((lg ♥)❂ lg lg ♥).

slide-9
SLIDE 9

CRT codes Fix distinct primes ♣1❀ ✿ ✿ ✿ ❀ ♣♥ and a positive integer ❍. For ❢ ✷ Z define ev(❢) = (❢ mod ♣1❀ ✿ ✿ ✿ ❀ ❢ mod ♣♥). The CRT code for ♣1❀ ✿ ✿ ✿ ❀ ♣♥❀ ❍ is ❈ = ❢ev(❢) : ❢ ✷ Z❀ ❥❢❥ ✔ ❍❣.

slide-10
SLIDE 10

CRT codes Fix distinct primes ♣1❀ ✿ ✿ ✿ ❀ ♣♥ and a positive integer ❍. For ❢ ✷ Z define ev(❢) = (❢ mod ♣1❀ ✿ ✿ ✿ ❀ ❢ mod ♣♥). The CRT code for ♣1❀ ✿ ✿ ✿ ❀ ♣♥❀ ❍ is ❈ = ❢ev(❢) : ❢ ✷ Z❀ ❥❢❥ ✔ ❍❣. What you’re probably thinking: “Yeah, I know this pointless number-theoretic analogue

  • f Reed–Solomon codes.

Anything you can do with these, you can do better with RS.”

slide-11
SLIDE 11

One standard multiplicity-2 CRT list-decoding algorithm: Receive word (r1❀ ✿ ✿ ✿ ❀ r♥). Find small nonzero ◗ ✷ Z[②] having multiplicity ✕ 2 at each (♣✐❀ r✐): i.e., ◗ ✷ (♣✐Z[②] + (② r✐)Z[②])2 = ♣2

✐ Z[②]+♣✐(②r✐)Z[②]+(②r✐)2Z[②].

Find all ❢ ✷ Z, ❥❢❥ ✔ ❍ such that ② ❢ divides ◗, i.e., ◗(❢) = 0. Fact: This finds all ❢ with ev(❢) close to (r1❀ ✿ ✿ ✿ ❀ r♥).

slide-12
SLIDE 12

List-size-3 definition of “small”: deg ◗ ✔ 3: i.e., ◗ = ◗0 + ◗1② + ◗2②2 + ◗3②3 for some ◗0❀ ◗1❀ ◗2❀ ◗3 ✷ Z; and coefficients are small: i.e., ❥◗0❥ ✔ 2P 3❂4❍3❂2, ❥◗1❥ ✔ 2P 3❂4❍1❂2, ❥◗2❥ ✔ 2P 3❂4❍1❂2, ❥◗3❥ ✔ 2P 3❂4❍3❂2, where P = ♣1 ✁ ✁ ✁ ♣♥. Then ❥◗(❢)❥ ✔ 8P 3❂4❍3❂2 but ◗(❢) ✷ ◗

✐:❢ mod ♣✐=r✐ ♣2 ✐ Z.

◗(❢) must be 0 if ◗

✐:❢ mod ♣✐=r✐ ♣2 ✐ ❃ 8P 3❂4❍3❂2.

slide-13
SLIDE 13

Can start with generators ♣2

✐ ❀ ♣✐(② r✐)❀ (② r✐)2❀ ②(② r✐)2

for the lattice ▲✐ = ❢◗ ✷ Z + Z② + Z②2 + Z②3 : ◗ ✷ (♣✐Z[②] + (② r✐)Z[②])2❣. Obtain generators for lattice ▲ = ❢◗ ✷ Z + Z② + Z②2 + Z②3 : ✽✐ : ◗ ✷ (♣✐Z[②] + (② r✐)Z[②])2❣ = ❚

✐ ▲✐ using standard methods.

Find small nonzero ◗ ✷ ▲ by lattice-basis reduction (LLL). FOCS 2000 Guruswami–Sahai– Sudan: this algorithm (for arbitrary multiplicities, list size).

slide-14
SLIDE 14

Simpler, faster, more streamlined construction of same lattice: Start with 0-error interpolation— i.e., compute ❘ ✷ Z such that ❘ mod ♣✐ = r✐ for all ✐. Write down generators for ▲❄: ▲ is exactly the set of ◗0 + ◗1② + ◗2②2 + ◗3②3 ✷ Z[②] such that ◗0 + ◗1❘ + ◗2❘2 + ◗3❘3 ✷ P 2Z and ◗1 + 2◗2❘ + 3◗3❘2 ✷ PZ. From these linear equations find generators for ▲ using standard methods.

slide-15
SLIDE 15

Even simpler, even faster, even more streamlined: Write down generators for ▲. ▲ = P 2Z + P(② ❘)Z + (② ❘)2Z + ②(② ❘)2Z. Find small nonzero ◗ ✷ ▲. Find all ❢ ✷ Z with ◗(❢) = 0.

slide-16
SLIDE 16

Even simpler, even faster, even more streamlined: Write down generators for ▲. ▲ = P 2Z + P(② ❘)Z + (② ❘)2Z + ②(② ❘)2Z. Find small nonzero ◗ ✷ ▲. Find all ❢ ✷ Z with ◗(❢) = 0. 1997 Howgrave-Graham: exactly this algorithm (for arbitrary multiplicity, list size) to find all big ❢ ❘ dividing P. STOC 2000 Boneh: This finds all big gcd❢P❀ ❢ ❘❣. Use for CRT list decoding.

slide-17
SLIDE 17

Sensible alternant list decoding Use fast multiplication: 1866 Gauss, 1963 Karatsuba, etc. Use fast root-finding for ◗: 1969 Zassenhaus. Use fast lattice-basis reduction: 2003 Giorgi–Jeannerod–Villard. Increase multiplicity as needed: 1996 Coppersmith. Write down lattice generators directly: 1997 Howgrave-Graham. Tweak lattice to correct more errors: 2000 Koetter–Vardy.

slide-18
SLIDE 18

Main contribution of this paper: writing down generators directly for the Koetter–Vardy lattice. Brings the Howgrave-Graham simplicity and speed up to ♥✵ ♣ ♥✵(♥✵ t 1) errors. For “wild Goppa codes”: correct more errors via 1975 Sugiyama– Kasahara–Hirasawa–Namekawa.

slide-19
SLIDE 19

Main contribution of this paper: writing down generators directly for the Koetter–Vardy lattice. Brings the Howgrave-Graham simplicity and speed up to ♥✵ ♣ ♥✵(♥✵ t 1) errors. For “wild Goppa codes”: correct more errors via 1975 Sugiyama– Kasahara–Hirasawa–Namekawa. Is this the end? No! Want “rational” list decoding— reuse partial information from attempted unique decoding; reduces multiplicities; faster!

slide-20
SLIDE 20

2003 Bernstein: rational curve-fitting algorithm with multiplicities, but no applications. Rational list-decoding algorithms: 2007 Wu: ♥ ♣ ♥(♥ t 1) for Reed–Solomon. BCH: more. 2008 Bernstein “List decoding for binary Goppa codes”: ♥ ♣ ♥(♥ 2t 1) for classical degree-t irreducible binary Goppa. 2011 Bernstein “Jet list decoding”: ♥✵ ♣ ♥✵(♥✵ 2t 1) for the same Goppa codes. Jets should also work for AG.