jet list decoding d j bernstein university of illinois at
play

Jet list decoding D. J. Bernstein University of Illinois at Chicago - PDF document

Jet list decoding D. J. Bernstein University of Illinois at Chicago Thanks to: NSF (1018836) NIST (60NANB10D263) Cisco (University Research Program) Interpolation Fix coprime 1 Z 0 . Remainder repn


  1. Jet list decoding D. J. Bernstein University of Illinois at Chicago Thanks to: NSF (1018836) NIST (60NANB10D263) Cisco (University Research Program)

  2. Interpolation Fix coprime ♣ 1 ❀ ✿ ✿ ✿ ❀ ♣ ♥ ✷ Z ❃ 0 . Remainder repn of t ✷ Z : ev t = ( t mod ♣ 1 ❀ ✿ ✿ ✿ ❀ t mod ♣ ♥ ). Chinese remainder theorem: ev t determines t mod ◆ where ◆ = ♣ 1 ✁ ✁ ✁ ♣ ♥ . Very fast computation: If 0 ✔ t ❁ ◆ then ✒❳ ✓ t tq ✐ mod ♣ ✐ ◆ = mod 1 ♣ ✐ ✐ where q ✐ = ( ◆❂♣ ✐ ) � 1 mod ♣ ✐ .

  3. Decoding Fix ❍ ❁ ◆ . Assume 0 ✔ t ❁ ❍ . Remainder repn is redundant. Given any vector ✈ ✙ ev t can reconstruct t . Traditional definition of “ ✙ ”: ♣ ◗ ✐ : ✈ ✐ ✻ =(ev t ) ✐ ♣ ✐ ✔ ◆❂❍ . Surprisingly fast ✈ ✼✦ t methods. Proof that ✈ determines t : if ✈ ✙ ev ✉ and ✈ ✙ ev t then ◗ ✐ :(ev ✉ ) ✐ ✻ =(ev t ) ✐ ♣ ✐ ✔ ◆❂❍ so ◗ ✐ :(ev ✉ ) ✐ =(ev t ) ✐ ♣ ✐ ✕ ❍ but ◗ ✐ :(ev ✉ ) ✐ =(ev t ) ✐ ♣ ✐ divides t � ✉ .

  4. List decoding What if we know ❥ ✈ � ev t ❥ ✔ ❲ ♣ where ❲ is above ◆❂❍ ? Traditional answer: Give up. No guarantee that t is unique. Modern answer: ❲ determines a list of possibilities for t . How quickly can we compute list? How does speed degrade with ❲ ? 1957 Elias, 1958 Wozencraft: bounds on list size, but no fast algorithms.

  5. Reed–Solomon decoding Fix prime power q , distinct ❛ 1 ❀ ✿ ✿ ✿ ❀ ❛ ♥ ✷ F q . Remainder repn of t ✷ F q [ ① ]: ev t = ( t ( ❛ 1 ) ❀ ✿ ✿ ✿ ❀ t ( ❛ ♥ )). Given any vector ✈ ✙ ev t can reconstruct t , assuming deg t ❁ ❤ . Traditional “ ✙ ”: # ❢ ✐ : ✈ ✐ ✻ = (ev t ) ✐ ❣ ✔ ( ♥ � ❤ ) ❂ 2. List decoding: compute list of possibilities for t given larger bound on ❥ ✈ � ev t ❥ .

  6. Jets The algebra of 1-jets over R is the quotient ring R [ ✎ ] ❂✎ 2 . Analogous to the set of complex numbers C = R [ ✐ ] ❂ ( ✐ 2 + 1), but ✎ 2 = 0 while ✐ 2 = � 1. Multiplication of jets: ( ❛ + ❜✎ )( ❝ + ❞✎ ) = ❛❝ + ( ❛❞ + ❜❝ ) ✎ . Typical construction of a jet: differentiable ❢ : R ✦ R induces jet ❢ ( ① + ✎ ) = ❢ ( ① ) + ❢ ✵ ( ① ) ✎ for each ① ✷ R . e.g. sin( ① + ✎ ) = sin ① + (cos ① ) ✎ .

  7. Lattice-basis reduction Define ▲ = (0 ❀ 24) Z + (1 ❀ 17) Z = ❢ ( ❜❀ 24 ❛ + 17 ❜ ) : ❛❀ ❜ ✷ Z ❣ . What is the shortest nonzero vector in ▲ ?

  8. Lattice-basis reduction Define ▲ = (0 ❀ 24) Z + (1 ❀ 17) Z = ❢ ( ❜❀ 24 ❛ + 17 ❜ ) : ❛❀ ❜ ✷ Z ❣ . What is the shortest nonzero vector in ▲ ? ▲ = (0 ❀ 24) Z + (1 ❀ 17) Z

  9. Lattice-basis reduction Define ▲ = (0 ❀ 24) Z + (1 ❀ 17) Z = ❢ ( ❜❀ 24 ❛ + 17 ❜ ) : ❛❀ ❜ ✷ Z ❣ . What is the shortest nonzero vector in ▲ ? ▲ = (0 ❀ 24) Z + (1 ❀ 17) Z = ( � 1 ❀ 7) Z + (1 ❀ 17) Z

  10. Lattice-basis reduction Define ▲ = (0 ❀ 24) Z + (1 ❀ 17) Z = ❢ ( ❜❀ 24 ❛ + 17 ❜ ) : ❛❀ ❜ ✷ Z ❣ . What is the shortest nonzero vector in ▲ ? ▲ = (0 ❀ 24) Z + (1 ❀ 17) Z = ( � 1 ❀ 7) Z + (1 ❀ 17) Z = ( � 1 ❀ 7) Z + (3 ❀ 3) Z

  11. Lattice-basis reduction Define ▲ = (0 ❀ 24) Z + (1 ❀ 17) Z = ❢ ( ❜❀ 24 ❛ + 17 ❜ ) : ❛❀ ❜ ✷ Z ❣ . What is the shortest nonzero vector in ▲ ? ▲ = (0 ❀ 24) Z + (1 ❀ 17) Z = ( � 1 ❀ 7) Z + (1 ❀ 17) Z = ( � 1 ❀ 7) Z + (3 ❀ 3) Z = ( � 4 ❀ 4) Z + (3 ❀ 3) Z .

  12. Lattice-basis reduction Define ▲ = (0 ❀ 24) Z + (1 ❀ 17) Z = ❢ ( ❜❀ 24 ❛ + 17 ❜ ) : ❛❀ ❜ ✷ Z ❣ . What is the shortest nonzero vector in ▲ ? ▲ = (0 ❀ 24) Z + (1 ❀ 17) Z = ( � 1 ❀ 7) Z + (1 ❀ 17) Z = ( � 1 ❀ 7) Z + (3 ❀ 3) Z = ( � 4 ❀ 4) Z + (3 ❀ 3) Z . ( � 4 ❀ 4) ❀ (3 ❀ 3) are orthogonal. Shortest vectors in ▲ are (0 ❀ 0), (3 ❀ 3), ( � 3 ❀ � 3).

  13. � � ✎ ✎

  14. � � ✎ ✎ ✎

  15. � � ✎ ✎ ✎ ✎

  16. � � ✎ ✎ ✎ ✎ ✎

  17. � � ✎ ✎ ✎ ✎ ✎ ✎ ✎ ✎ ✎ ✎ ✎ ✎ ✎ ✎ ✎ ✎ ✎ ✎ ✎ ✎ ✎ ✎ ✎ ✎ ✎ ✎ ✎ ✎ ✎ ✎ ✎ ✎ ✎ ✎ ✎ ✎ ✎ ✎ ✎ ✎ ✎ ✎ ✎

  18. Another example: Define ▲ = (0 ❀ 25) Z + (1 ❀ 17) Z . What is the shortest nonzero vector in ▲ ?

  19. Another example: Define ▲ = (0 ❀ 25) Z + (1 ❀ 17) Z . What is the shortest nonzero vector in ▲ ? ▲ = (0 ❀ 25) Z + (1 ❀ 17) Z

  20. Another example: Define ▲ = (0 ❀ 25) Z + (1 ❀ 17) Z . What is the shortest nonzero vector in ▲ ? ▲ = (0 ❀ 25) Z + (1 ❀ 17) Z = ( � 1 ❀ 8) Z + (1 ❀ 17) Z

  21. Another example: Define ▲ = (0 ❀ 25) Z + (1 ❀ 17) Z . What is the shortest nonzero vector in ▲ ? ▲ = (0 ❀ 25) Z + (1 ❀ 17) Z = ( � 1 ❀ 8) Z + (1 ❀ 17) Z = ( � 1 ❀ 8) Z + (3 ❀ 1) Z .

  22. Another example: Define ▲ = (0 ❀ 25) Z + (1 ❀ 17) Z . What is the shortest nonzero vector in ▲ ? ▲ = (0 ❀ 25) Z + (1 ❀ 17) Z = ( � 1 ❀ 8) Z + (1 ❀ 17) Z = ( � 1 ❀ 8) Z + (3 ❀ 1) Z . Nearly orthogonal. Shortest vectors in ▲ are (0 ❀ 0), (3 ❀ 1), ( � 3 ❀ � 1).

  23. � � ✎ ✎ ✎ ✎ ✎ ✎ ✎ ✎ ✎ ✎ ✎ ✎ ✎ ✎ ✎ ✎ ✎ ✎ ✎ ✎ ✎ ✎ ✎ ✎ ✎ ✎ ✎ ✎ ✎ ✎ ✎ ✎ ✎ ✎ ✎ ✎ ✎ ✎ ✎ ✎ ✎

  24. Polynomial lattices Define ❘ = F 2 [ ① ], r 0 = (101000) ① = ① 5 + ① 3 ✷ ❘ , r 1 = (10011) ① = ① 4 + ① + 1 ✷ ❘ , ▲ = (0 ❀ r 0 ) ❘ + (1 ❀ r 1 ) ❘ . What is the shortest nonzero vector in ▲ ?

  25. Polynomial lattices Define ❘ = F 2 [ ① ], r 0 = (101000) ① = ① 5 + ① 3 ✷ ❘ , r 1 = (10011) ① = ① 4 + ① + 1 ✷ ❘ , ▲ = (0 ❀ r 0 ) ❘ + (1 ❀ r 1 ) ❘ . What is the shortest nonzero vector in ▲ ? ▲ = (0 ❀ 101000) ❘ + (1 ❀ 10011) ❘

  26. Polynomial lattices Define ❘ = F 2 [ ① ], r 0 = (101000) ① = ① 5 + ① 3 ✷ ❘ , r 1 = (10011) ① = ① 4 + ① + 1 ✷ ❘ , ▲ = (0 ❀ r 0 ) ❘ + (1 ❀ r 1 ) ❘ . What is the shortest nonzero vector in ▲ ? ▲ = (0 ❀ 101000) ❘ + (1 ❀ 10011) ❘ = (10 ❀ 1110) ❘ + (1 ❀ 10011) ❘

  27. Polynomial lattices Define ❘ = F 2 [ ① ], r 0 = (101000) ① = ① 5 + ① 3 ✷ ❘ , r 1 = (10011) ① = ① 4 + ① + 1 ✷ ❘ , ▲ = (0 ❀ r 0 ) ❘ + (1 ❀ r 1 ) ❘ . What is the shortest nonzero vector in ▲ ? ▲ = (0 ❀ 101000) ❘ + (1 ❀ 10011) ❘ = (10 ❀ 1110) ❘ + (1 ❀ 10011) ❘ = (10 ❀ 1110) ❘ + (111 ❀ 1) ❘ .

  28. Polynomial lattices Define ❘ = F 2 [ ① ], r 0 = (101000) ① = ① 5 + ① 3 ✷ ❘ , r 1 = (10011) ① = ① 4 + ① + 1 ✷ ❘ , ▲ = (0 ❀ r 0 ) ❘ + (1 ❀ r 1 ) ❘ . What is the shortest nonzero vector in ▲ ? ▲ = (0 ❀ 101000) ❘ + (1 ❀ 10011) ❘ = (10 ❀ 1110) ❘ + (1 ❀ 10011) ❘ = (10 ❀ 1110) ❘ + (111 ❀ 1) ❘ . (111 ❀ 1): shortest nonzero vector. (10 ❀ 1110): shortest independent vector.

  29. Degree of ( q❀ r ) ✷ F 2 [ ① ] ✂ F 2 [ ① ] is defined as max ❢ deg q❀ deg r ❣ . Can use other metrics, or equivalently rescale ▲ . e.g. Define ▲ ✒ F 2 [ ♣ ① ] ✂ F 2 [ ♣ ① ] ♣ ① ) ❘ + (1 ❀ r 1 ♣ ① ) ❘ . as (0 ❀ r 0 Successive generators for ▲ : (0 ❀ 101000 ♣ ① ), degree 5 ✿ 5. (1 ❀ 10011 ♣ ① ), degree 4 ✿ 5. (10 ❀ 1110 ♣ ① ), degree 3 ✿ 5. (111 ❀ 1 ♣ ① ), degree 2.

  30. Warning: Sometimes shortest independent vector is after shortest nonzero vector. e.g. Define r 0 = 101000, r 1 = 10111, ♣ ① ) ❘ + (1 ❀ r 1 ♣ ① ) ❘ . ▲ = (0 ❀ r 0 Successive generators for ▲ : (0 ❀ 101000 ♣ ① ), degree 5 ✿ 5. (1 ❀ 10111 ♣ ① ), degree 4 ✿ 5. (10 ❀ 110 ♣ ① ), degree 2 ✿ 5. (1101 ❀ 11 ♣ ① ), degree 3.

  31. For any r 0 ❀ r 1 ✷ ❘ = F q [ ① ] with deg r 0 ❃ deg r 1 : Euclid/Stevin computation: Define r 2 = r 0 mod r 1 , r 3 = r 1 mod r 2 , etc. Extended: q 0 = 0; q 1 = 1; q ✐ +2 = q ✐ � ❜ r ✐ ❂r ✐ +1 ❝ q ✐ +1 . Then q ✐ r 1 ✑ r ✐ (mod r 0 ). Lattice view: Have ♣ ① ) ❘ + (1 ❀ r 1 ♣ ① ) ❘ = (0 ❀ r 0 ♣ ① ) ❘ + ( q ✐ +1 ❀ r ✐ +1 ♣ ① ) ❘ . ( q ✐ ❀ r ✐ Can continue until r ✐ +1 = 0. gcd ❢ r 0 ❀ r 1 ❣ = r ✐ ❂ leadcoeff r ✐ .

  32. Reducing lattice basis for ▲ is a “half gcd” computation, stopping halfway to the gcd. deg r ✐ decreases; deg q ✐ increases; deg q ✐ +1 + deg r ✐ = deg r 0 . Say ❥ is minimal with ♣ ① ✔ (deg r 0 ) ❂ 2. deg r ❥ Then deg q ❥ ✔ (deg r 0 ) ❂ 2 so ♣ ① ) ✔ (deg r 0 ) ❂ 2. deg( q ❥ ❀ r ❥ Shortest nonzero vector. ♣ ① ) has degree ( q ❥ + ✎ ❀ r ❥ + ✎ ♣ ① � deg( q ❥ ❀ r ❥ ♣ ① ) deg r 0 for some ✎ ✷ ❢� 1 ❀ 1 ❣ . Shortest independent vector.

  33. Proof of “shortest”: Take any ( q❀ r ♣ ① ) in lattice. ( q❀ r ♣ ① ) = ✉ ( q ❥ ❀ r ❥ ♣ ① ) ♣ ① ) + ✈ ( q ❥ + ✎ ❀ r ❥ + ✎ for some ✉❀ ✈ ✷ ❘ . q ❥ r ❥ + ✎ � q ❥ + ✎ r ❥ = ✝ r 0 so ✈ = ✝ ( rq ❥ � qr ❥ ) ❂r 0 and ✉ = ✝ ( qr ❥ + ✎ � rq ❥ + ✎ ) ❂r 0 . If deg( q❀ r ♣ ① ) ♣ ① ) ❁ deg( q ❥ + ✎ ❀ r ❥ + ✎ then deg ✈ ❁ 0 so ✈ = 0; i.e., any vector in lattice ♣ ① ) shorter than ( q ❥ + ✎ ❀ r ❥ + ✎ ♣ ① ). is a multiple of ( q ❥ ❀ r ❥

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend