Adaptive decoding for dense and sparse evaluation/interpolation codes

Size: px
Start display at page:

Download "Adaptive decoding for dense and sparse evaluation/interpolation codes"

Transcription

1 Adaptive decoding for dense and sparse evaluation/interpolation codes Clément PERNET INRIA/LIG-MOAIS, Grenoble Université joint work with M. Comer, E. Kaltofen, J-L. Roch, T. Roche Séminaire Calcul formel et Codes, IRMAR, Rennes 23 Novembre, 2012

2 Outline Introduction High performance exact computations Chinese remaindering Motivation Sparse Interpolation with errors Berlekamp/Massey algorithm with errors Sparse Polynomial Interpolation with errors Relations to Reed-Solomon decoding Dense interpolation with errors Decoding CRT codes: Mandelbaum algorithm Amplitude codes Adaptive decoding Experiments

3 Outline Introduction High performance exact computations Chinese remaindering Motivation Sparse Interpolation with errors Berlekamp/Massey algorithm with errors Sparse Polynomial Interpolation with errors Relations to Reed-Solomon decoding Dense interpolation with errors Decoding CRT codes: Mandelbaum algorithm Amplitude codes Adaptive decoding Experiments

4 High Performance Algebraic Computations (HPAC) Domain of Computation Z, Q variable size Z p, GF(p k ) specific arithmetic K[X] for K = Z p,...

5 High Performance Algebraic Computations (HPAC) Domain of Computation Z, Q Z p, GF(p k ) variable size K[X] for K = Z p,... Application domains: specific arithmetic Computational number theory: computing tables of elliptic curves, modular forms, testing conjectures Crypto: Algebraic attacks (Quadratic sieves, Groebner bases, index calculus,...) Graph theory: testing conjectures (graph isomorphism,...) Representation theory...

6 HPAC: rules of thumb Deal with size of arithmetic Evaluation/interpolation schemes: over Z: Chinese Remainder Algorithm: Z Z/mZ Z/m 1 Z Z/m k Z over K[X]: Evaluation/interpolation: K[X] K Embarassingly parallel Lifting schemes Z Z/p k Z Z/pZ Best sequential complexities Deal with complexity/efficiency: reduce to Linear algebra Matrix product over Z p, K Eliminations: Gauss, Gram-Schmidt (LLL),... Krylov iteration

7 HPAC: rules of thumb Deal with size of arithmetic Evaluation/interpolation schemes: over Z: Chinese Remainder Algorithm: Z Z/mZ Z/m 1 Z Z/m k Z over K[X]: Evaluation/interpolation: K[X] K Embarassingly parallel Lifting schemes Z Z/p k Z Z/pZ Best sequential complexities Deal with complexity/efficiency: reduce to Linear algebra Matrix product over Z p, K Eliminations: Gauss, Gram-Schmidt (LLL),... Krylov iteration

8 Chinese remainder algorithm If m 1,..., m k pariwise relatively prime: Z/(m 1... m k )Z Z/m 1 Z Z/m k Z Computation of y = f (x) for f Z[X], x Z m begin Compute an upper bound β on f (x) ; Pick m 1,... m k, pairwise prime, s.t. m 1... m k > β; for i = 1... k do Compute y i = f (x mod m i ) mod m i Compute y = CRT(y 1,..., y k ) CRT : Z/m 1 Z Z/m k Z Z/(m 1... m k )Z (x 1,..., x k ) k i=1 x iπ i Y i mod Π Π = k i=1 m i where Π i = Π/m i Y i = Π 1 i mod m i

9 Chinese remainder algorithm If m 1,..., m k pariwise relatively prime: Z/(m 1... m k )Z Z/m 1 Z Z/m k Z Computation of y = f (x) for f Z[X], x Z m begin Compute an upper bound β on f (x) ; Pick m 1,... m k, pairwise prime, s.t. m 1... m k > β; for i = 1... k do Compute y i = f (x mod m i ) mod m i ; /* Evaluation */ Compute y = CRT(y 1,..., y k ); /* Interpolation */ CRT : Z/m 1 Z Z/m k Z Z/(m 1... m k )Z (x 1,..., x k ) k i=1 x iπ i Y i mod Π Π = k i=1 m i where Π i = Π/m i Y i = Π 1 i mod m i

10 Chinese remaindering and evaluation/interpolation Evaluate P in a Reduce P modulo X a

11 Chinese remaindering and evaluation/interpolation Evaluate P in a Reduce P modulo X a Polynomials Evaluation: P mod X a Evaluate P in a Interpolation: P = k i=1 y i j i(x a j) j i (a i a j )

12 Chinese remaindering and evaluation/interpolation Evaluate P in a Reduce P modulo X a Polynomials Evaluation: P mod X a Evaluate P in a Interpolation: P = k i=1 y i j i(x a j) j i (a i a j ) Integers N mod m Evaluate N in m N = k i=1 y i j i m j( j i m j) 1[m i]

13 Early termination Classic Chinese remaindering Deterministic bound β on the result Choice of the m i : such that m 1... m k > β

14 Early termination Classic Chinese remaindering Deterministic bound β on the result Choice of the m i : such that m 1... m k > β Early termination Probabilistic Monte Carlo For each new modulo m i : reconstruct yi = f (x) mod m 1 m i If yi == y i 1 terminated Advantage: Adaptive number of moduli depending on the output value Interesting when pessimistic bound: sparse/structured matrices,... no bound available

15 Motivation ABFT: Algorithm Based Fault Tolerance HPC: clusters, grid, P2P, cloud computing Parallelization based on Evaluation/Interpolation scheme Need to tolerate: soft errors (cosmic rays,...) malicious corruption Signal processing Sparse polynomial interpolation Distinction between noise and outliers Symbolic-numeric methods

16 Dense/Sparse interpolation with errors Problem 1: Dense interpolation with errors over Z Given (y i, m i ) for i = 1... n, Find Y Z such that Y = y i mod m i except on e values. Problem 2: Sparse interpolation with errors over K[X] Given (y i, x i ) for i = 1... n, Find a t-sparse poly. f such that f (x i ) = y i except on e values.

17 State of the art Dense interpolation Interpolation Interpolation with errors over K[X] Lagrange Generalized Reed-Solomon codes over Z CRT CRT codes Sparse Interpolation Interpolation Interpolation with errors over K[X] Ben-Or & Tiwari? over Z??

18 State of the art Dense interpolation Interpolation Interpolation with errors over K[X] Lagrange Generalized Reed-Solomon codes over Z CRT CRT codes Sparse Interpolation Interpolation Interpolation with errors over K[X] Ben-Or & Tiwari? over Z??

19 Contribution Sparse interpolation code over K[X] lower bound on the necessary number of evaluations optimal unique decoding algorihtm list decoding variant Dense interpolation code over Z finer bounds on the correction capacity adaptive decoding using the best effective redundancy

20 Outline Introduction High performance exact computations Chinese remaindering Motivation Sparse Interpolation with errors Berlekamp/Massey algorithm with errors Sparse Polynomial Interpolation with errors Relations to Reed-Solomon decoding Dense interpolation with errors Decoding CRT codes: Mandelbaum algorithm Amplitude codes Adaptive decoding Experiments

21 Preliminaries Linear recurring sequences Sequence (a 0, a 1,..., a n,... ) such that t 1 j 0 a j+t = λ i a i+j generating polynomial: Λ(z) = z t t 1 i=0 λ iz i minimal generating polynomial: Λ(z) of minimal degree i=0 linear complexity of (a i ) i : the minimal degree of Λ Hamming weight: weight(x) = #{i x i 0} Hamming distance: d H (x, y) = weight(x y)

22 Berlekamp/Massey algorithm Input: (a 0,..., a n 1 ) a sequence of field elements. Output: Λ(z) = L n i=0 λ iz i a monic polynomial of minimal degree L n n such that L n i=0 λ ia i+j = 0 for j = 0,..., n L n 1. Guarantee : BMA finds Λ of degree t from 2t entries.

23 Problem Statement Berlkamp/Massey with errors Suppose (a 0, a 1,... ) is linearly generated by Λ(z) of degree t where Λ(0) 0. Given (b 0, b 1,... ) = (a 0, a 1,... ) + ε, where weight(ε) E: 1. How to recover Λ(z) and (a 0, a 1,... )? 2. How many entries required for a unique solution? a list of solutionse including (a0, a 1,... )?

24 Problem Statement Berlkamp/Massey with errors Suppose (a 0, a 1,... ) is linearly generated by Λ(z) of degree t where Λ(0) 0. Given (b 0, b 1,... ) = (a 0, a 1,... ) + ε, where weight(ε) E: 1. How to recover Λ(z) and (a 0, a 1,... )? 2. How many entries required for a unique solution? a list of solutionse including (a0, a 1,... )? Coding Theory formulation Let C be the set of all sequences of linear complexity t. 1. How to decode C? 2. What are the best correction capacities? for unique decoding list decoding

25 How many entries to guarantee uniqueness? Case E = 1, t = 2 (a i ) Λ(z) (0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0) 2 2z 2 + z 4 + z 6 Where is the error?

26 How many entries to guarantee uniqueness? Case E = 1, t = 2 (a i ) Λ(z) (0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0) 2 2z 2 + z 4 + z 6 (0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0) 1 + z 2 Where is the error?

27 How many entries to guarantee uniqueness? Case E = 1, t = 2 (a i ) Λ(z) (0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0) 2 2z 2 + z 4 + z 6 (0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0) 1 + z 2 (0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0) 1 + z 2 Where is the error?

28 How many entries to guarantee uniqueness? Case E = 1, t = 2 (a i ) Λ(z) (0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0) 2 2z 2 + z 4 + z 6 (0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0) 1 + z 2 (0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0) 1 + z 2 Where is the error? A unique solution is not guaranteed with t = 2, E = 1 and n = 11

29 Generalization to any E 1 t 1 times {}}{ Let 0 = ( 0,..., 0). Then s = (0, 1, 0, 1, 0, 1, 0, 1) is generated by z t 1 or z t + 1 up to E = 1 error. Then E times {}}{ ( s, s,..., s, 0, 1, 0) is generated by z t 1 or z t + 1 up to E errors. ambiguity with n = 2t(2E + 1) 1 values.

30 Generalization to any E 1 t 1 times {}}{ Let 0 = ( 0,..., 0). Then s = (0, 1, 0, 1, 0, 1, 0, 1) is generated by z t 1 or z t + 1 up to E = 1 error. Then E times {}}{ ( s, s,..., s, 0, 1, 0) is generated by z t 1 or z t + 1 up to E errors. ambiguity with n = 2t(2E + 1) 1 values. Theorem Necessary condition for unique decoding: n 2t(2E + 1)

31 The Majority Rule Berlekamp/Massey algorithm 2t E=2 n=2t(2e+1) Λ Λ Λ Λ Λ

32 The Majority Rule Berlekamp/Massey algorithm 2t E=2 n=2t(2e+1) Λ Λ Λ Λ Λ Input: (a 0,..., a n 1 ) + ε, where n = 2t(2E + 1), weight(ε) E, and (a 0,..., a n 1 ) minimally generated by Λ of degree t, where Λ(0) 0. Output: Λ(z) and (a 0,..., a n 1 ). begin Run BMA on 2E + 1 segments of 2t entries and record Λ i (z) on each segment; Perform majority vote to find Λ(z);

33 The Majority Rule Berlekamp/Massey algorithm 2t E=2 n=2t(2e+1) Λ Λ Λ Λ Λ Input: (a 0,..., a n 1 ) + ε, where n = 2t(2E + 1), weight(ε) E, and (a 0,..., a n 1 ) minimally generated by Λ of degree t, where Λ(0) 0. Output: Λ(z) and (a 0,..., a n 1 ). begin Run BMA on 2E + 1 segments of 2t entries and record Λ i (z) on each segment; Perform majority vote to find Λ(z); Use a clean segment to clean-up the sequence ; return Λ(z) and (a 0, a 1,... );

34 Algorithm SequenceCleanUp Input: Λ(z) = z t + t 1 i=0 λ ix i where Λ(0) 0 Input: (a 0,..., a n 1 ), where n t + 1 Input: E, the maximum number of corrections to make Input: k, such that (a k, a k+2t 1 ) is clean Output: (b 0,..., b n 1 ) generated by Λ at distance E to (a 0,..., a n 1 )

35 Algorithm SequenceCleanUp Input: Λ(z) = z t + t 1 i=0 λ ix i where Λ(0) 0 Input: (a 0,..., a n 1 ), where n t + 1 Input: E, the maximum number of corrections to make Input: k, such that (a k, a k+2t 1 ) is clean Output: (b 0,..., b n 1 ) generated by Λ at distance E to (a 0,..., a n 1 ) begin (b 0,..., b n 1 ) (a 0,..., a n 1 ); e, j 0; i k + 2t; while i n 1 and e E do if Λ does not satisfy (b i t+1,..., b i ) then Fix b i using Λ(z) as a LFSR; e e + 1; return (b 0,..., b n 1 ), e

36 Algorithm SequenceCleanUp Input: Λ(z) = z t + t 1 i=0 λ ix i where Λ(0) 0 Input: (a 0,..., a n 1 ), where n t + 1 Input: E, the maximum number of corrections to make Input: k, such that (a k, a k+2t 1 ) is clean Output: (b 0,..., b n 1 ) generated by Λ at distance E to (a 0,..., a n 1 ) begin (b 0,..., b n 1 ) (a 0,..., a n 1 ); e, j 0; i k + 2t; while i n 1 and e E do if Λ does not satisfy (b i t+1,..., b i ) then Fix b i using Λ(z) as a LFSR; e e + 1; i k 1; while i 0 and e E do if Λ does not satisfy (b i,..., b i+t 1 ) then Fix b i using z t Λ(1/z) as a LFSR; e e + 1; return (b 0,..., b n 1 ), e

37 Algorithm SequenceCleanUp Input: Λ(z) = z t + t 1 i=0 λ ix i where Λ(0) 0 Input: (a 0,..., a n 1 ), where n t + 1 Input: E, the maximum number of corrections to make Input: k, such that (a k, a k+2t 1 ) is clean Output: (b 0,..., b n 1 ) generated by Λ at distance E to (a 0,..., a n 1 ) begin (b 0,..., b n 1 ) (a 0,..., a n 1 ); e, j 0; i k + 2t; while i n 1 and e E do if Λ does not satisfy (b i t+1,..., b i ) then Fix b i using Λ(z) as a LFSR; e e + 1; i k 1; while i 0 and e E do if Λ does not satisfy (b i,..., b i+t 1 ) then Fix b i using z t Λ(1/z) as a LFSR; e e + 1; return (b 0,..., b n 1 ), e

38 Finding a clean segment: case E = 1 only one error (a 0,..., a k 2, b k 1 a k 1, a k, a k+1, a 2t 1 ) will be identified by the majority vote (2-to-1 majority).

39 Finding a clean segment: case E 2 Multiple errors on one segment can still be generated by Λ(z) deceptive segments: not good for SequenceCleanUp Example E = 3: (0, 1, 0, 2, 0, 4, 0, 8,... ) Λ(z) = z 2 2

40 Finding a clean segment: case E 2 Multiple errors on one segment can still be generated by Λ(z) deceptive segments: not good for SequenceCleanUp Example E = 3: (0, 1, 0, 2, 0, 4, 0, 8,... ) Λ(z) = z 2 2 (1, 1, 2, 2, 4, 4, 0, 8, 0, 16, 0, 32,... )

41 Finding a clean segment: case E 2 Multiple errors on one segment can still be generated by Λ(z) deceptive segments: not good for SequenceCleanUp Example E = 3: (0, 1, 0, 2, 0, 4, 0, 8,... ) Λ(z) = z 2 2 ( 1, 1, 2, 2, 4, 4, 0, 8, 0, 16, 0, 32,... ) }{{}}{{}}{{} z 2 2 z 2 +2z 2 z 2 2

42 Finding a clean segment: case E 2 Multiple errors on one segment can still be generated by Λ(z) deceptive segments: not good for SequenceCleanUp Example E = 3: (0, 1, 0, 2, 0, 4, 0, 8,... ) Λ(z) = z 2 2 ( 1, 1, 2, 2, 4, 4, 0, 8, 0, 16, 0, 32,... ) }{{}}{{}}{{} z 2 2 z 2 +2z 2 z 2 2 (1, 1, 2, 2) is deceptive. Applying SequenceCleanUp with this clean segment produces (1, 1, 2, 2, 4, 4, 8, 8, 16, 16, 32, 32, 64,... )

43 Finding a clean segment: case E 2 Multiple errors on one segment can still be generated by Λ(z) deceptive segments: not good for SequenceCleanUp Example E = 3: (0, 1, 0, 2, 0, 4, 0, 8,... ) Λ(z) = z 2 2 ( 1, 1, 2, 2, 4, 4, 0, 8, 0, 16, 0, 32,... ) }{{}}{{}}{{} z 2 2 z 2 +2z 2 z 2 2 (1, 1, 2, 2) is deceptive. Applying SequenceCleanUp with this clean segment produces (1, 1, 2, 2, 4, 4, 8, 8, 16, 16, 32, 32, 64,... ) E > 3? contradiction. Try (0, 16, 0, 32) as a clean segment instead.

44 Success of the sequence clean-up Theorem If n t(2e + 1), then a deceptive segment will necessarily be exposed by a failure of the condition e E in algorithm SequenceCleanUp.

45 Success of the sequence clean-up Theorem If n t(2e + 1), then a deceptive segment will necessarily be exposed by a failure of the condition e E in algorithm SequenceCleanUp. Corollary n 2t(2E + 1) is a necessary and sufficient condition for unique decoding of Λ and the corresponding sequence. Remark Also works with an upper bound t T on deg Λ.

46 List decoding for n 2t(E + 1) 2t E=2 n=2t(e+1) Λ Λ Λ 1 2 3

47 List decoding for n 2t(E + 1) 2t E=2 n=2t(e+1) Λ Λ Λ Input: (a 0,..., a n 1 ) + ε, where n = 2t(E + 1), weight(ε) E, and (a 0,..., a n 1 ) minimally generated by Λ of degree t, where Λ(0) 0. Output: (Λ i (z), s i = (a (i) 0,..., a(i) n 1 )) i a list of E candidates begin Run BMA on E + 1 segments of 2t entries and record Λ i (z) on each segment;

48 List decoding for n 2t(E + 1) 2t E=2 n=2t(e+1) Λ Λ Λ Input: (a 0,..., a n 1 ) + ε, where n = 2t(E + 1), weight(ε) E, and (a 0,..., a n 1 ) minimally generated by Λ of degree t, where Λ(0) 0. Output: (Λ i (z), s i = (a (i) 0,..., a(i) n 1 )) i a list of E candidates begin Run BMA on E + 1 segments of 2t entries and record Λ i (z) on each segment; foreach Λ i (z) do Use a clean segment to clean-up the sequence; Withdraw Λ i if no clean segment can be found. return the list (Λ i (z), (a (i) 0,..., a(i) n 1 )) i;

49 Properties The list contains the right solution (Λ, (a 0,..., a n 1 ))

50 Properties The list contains the right solution (Λ, (a 0,..., a n 1 )) n 2t(E + 1) is the tightest bound to ensure to enable syndrome decoding (BMA on a clean sequence of length 2t). Example n = 2t(E + 1) 1 and ε = (0,..., 0, 1, 0,..., 0, 1..., 1, 0,..., 0). }{{}}{{}}{{} 2t 1 2t 1 2t 1 Then (a 0,..., a n 1 ) + ε has no length 2t clean segment.

51 Sparse Polynomial Interpolation x F f (x) Problem f = t i=1 c ix e i Recover a t-sparse polynomial f given a black-box computing evaluations of it.

52 Sparse Polynomial Interpolation x F f (x) Problem f = t i=1 c ix e i Recover a t-sparse polynomial f given a black-box computing evaluations of it. Ben-Or/Tiwari 1988: Let a i = f (p i ) for p a primitive element, and let Λ(z) = t i=1 (z pe i ). Then Λ(z) is the minimal generator of (a 0, a 1,... ). only need 2t entries to find Λ(z) (using BMA)

53 Sparse Polynomial Interpolation x F f (x)+ε Problem f = t i=1 c ix e i Recover a t-sparse polynomial f given a black-box computing evaluations of it. Ben-Or/Tiwari 1988: Let a i = f (p i ) for p a primitive element, and let Λ(z) = t i=1 (z pe i ). Then Λ(z) is the minimal generator of (a 0, a 1,... ). only need 2t entries to find Λ(z) (using BMA) only need 2T(2E + 1) with e E errors and t T.

54 Ben-Or & Tiwari s Algorithm Input: (a 0,..., a 2t 1 ) where a i = f (p i ) Input: t, the numvber of (non-zero) terms of f (x) = t j=1 c jx e j Output: f (x) begin Run BMA on (a 0,..., a 2t 1 ) to find Λ(z) Find roots of Λ(z) (polynomial factorization) Recover e j by repeated division (by p) Recover c j by solving the transposed Vandermonde system (p 0 ) e 1 (p 0 ) e 2... (p 0 ) et c 1 (p 1 ) e 1 (p 1 ) e 2... (p 1 ) et c = (p t ) e 1 (p t ) e 2... (p t ) et c t a 0 a 1. a t 1

55 Blahut s theorem Theorem (Blahut) The D.F.T of a vector of weight t has linear complexity at most t DFT ω (v) = Vandemonde(ω 0, ω 1, ω 2,... )v = Eval ω 0,ω 1,ω 2,...(v)

56 Blahut s theorem Theorem (Blahut) The D.F.T of a vector of weight t has linear complexity at most t DFT ω (v) = Vandemonde(ω 0, ω 1, ω 2,... )v = Eval ω 0,ω 1,ω 2,...(v) Univariate Ben-Or & Tiwari as a corollary

57 Blahut s theorem Theorem (Blahut) The D.F.T of a vector of weight t has linear complexity at most t DFT ω (v) = Vandemonde(ω 0, ω 1, ω 2,... )v = Eval ω 0,ω 1,ω 2,...(v) Univariate Ben-Or & Tiwari as a corollary Reed-Solomon codes: evaluation of a sparse error BMA

58 Reed-Solomon codes as Evaluation codes C = {(f (ω 1 ),..., f (ω n )) deg f < k} Evaluation f m=f(x), deg f < k 0 c = Eval(f), c = f(w i i ) error ε g g = f + Interp ( ε) Interpolation y = c + ε g

59 Reed-Solomon codes as Evaluation codes C = {(f (ω 1 ),..., f (ω n )) deg f < k} Evaluation f m=f(x), deg f < k 0 c = Eval(f), c i = f(w i ) error ε g g = f + Interp ( ε) BMA Interpolation y = c + ε f

60 Sparse interpolation with errors Find f from (f (w 1 ),..., f (w n )) + ε Interpolation error ε ε 0 c = Interp ( ε ) sparse polynomial f g g = Eval (f) + ε Evaluation y = c + f f

61 Sparse interpolation with errors Find f from (f (w 1 ),..., f (w n )) + ε Interpolation error ε ε 0 c = Interp ( ε ) sparse polynomial f g g = Eval (f) + ε Evaluation BMA y = c + f f

62 Same problems? Interchanging Evaluation and Interpolation Let V ω = Vandermonde(ω, ω 2,..., ω n ). Then (V ω ) 1 = 1 n V ω 1 Given g, find f, t-sparse and an error ε such that g = V ω f + ε V ω 1g = nf + V ω 1ɛ

63 Same problems? Interchanging Evaluation and Interpolation Let V ω = Vandermonde(ω, ω 2,..., ω n ). Then (V ω ) 1 = 1 n V ω 1 Given g, find f, t-sparse and an error ε such that g = V ω f + ε V ω 1g = nf }{{} + V ω 1ɛ }{{} weight t error RS code word Reed-Solomon decoding: unique solution provided ε has 2t consecutive trailing 0 s clean segment of length 2t n 2t(E + 1)

64 Same problems? Interchanging Evaluation and Interpolation Let V ω = Vandermonde(ω, ω 2,..., ω n ). Then (V ω ) 1 = 1 n V ω 1 Given g, find f, t-sparse and an error ε such that g = V ω f + ε V ω 1g = nf }{{} + V ω 1ɛ }{{} weight t error RS code word Reed-Solomon decoding: unique solution provided ε has 2t consecutive trailing 0 s clean segment of length 2t n 2t(E + 1) BUT: location of the syndrome, is a priori unknown no uniqueness

65 Numeric Sparse Interpolation numerical evaluations (with noise) of a sparse polynomial and outliers Symbolic numeric approach [Giesbrecht, Labahn &Lee 06] [Kaltofen, Lee, Yang 11]: Interpolation/correction using Berlekamp-Massey Termination (zero-discrepancy) is ill-conditioned

66 Numeric Sparse Interpolation numerical evaluations (with noise) of a sparse polynomial and outliers Symbolic numeric approach [Giesbrecht, Labahn &Lee 06] [Kaltofen, Lee, Yang 11]: Interpolation/correction using Berlekamp-Massey Termination (zero-discrepancy) is ill-conditioned But the conditioning is the termination criteria

67 Numeric Sparse Interpolation numerical evaluations (with noise) of a sparse polynomial and outliers Symbolic numeric approach [Giesbrecht, Labahn &Lee 06] [Kaltofen, Lee, Yang 11]: Interpolation/correction using Berlekamp-Massey Termination (zero-discrepancy) is ill-conditioned But the conditioning is the termination criteria Better: track two perturbed executions divergence = termination

68 Outline Introduction High performance exact computations Chinese remaindering Motivation Sparse Interpolation with errors Berlekamp/Massey algorithm with errors Sparse Polynomial Interpolation with errors Relations to Reed-Solomon decoding Dense interpolation with errors Decoding CRT codes: Mandelbaum algorithm Amplitude codes Adaptive decoding Experiments

69 CRT codes : Mandelbaum algorithm over Z Chinese Remainder Theorem x Z x 1 x 2... x k where m 1 m k > x and x i = x mod m i i

70 CRT codes : Mandelbaum algorithm over Z Chinese Remainder Theorem x Z x 1 x 2... x k x k+1... x n where m 1 m n > x and x i = x mod m i i

71 CRT codes : Mandelbaum algorithm over Z Chinese Remainder Theorem x Z x 1 x 2... x k x k+1... x n where m 1 m n > x and x i = x mod m i i Definition { (n, k)-code: C = { x < m1... m (x 1,..., x n ) Z m1 Z mn s.t. x, k x i = x mod m i i }

72 Principle Property X C iff X < Π k. Π n = p 1 p n p 1 p 2... p k p k+1... p n Π k = p 1 p k Redundancy : r = n k

73 ABFT with Chinese remainder algorithm Input A Encoding A = (A 1,... A n) Computation Solution x < Π n x < Π k x = (r 1,..., r n) Correction x = (x 1,..., x n) Decoding

74 Properties of the code Error model: Error: E = X X Error support: I = {i 1... n, E 0 mod m i } Impact of the error: Π F = i I m i

75 Properties of the code Error model: Error: E = X X Error support: I = {i 1... n, E 0 mod m i } Impact of the error: Π F = i I m i Detects up to r errors: If X = X + E with X C, #I r, then X > Π k. Redundancy r = n k, distance: r + 1 can correct up to r 2 errors in theory More complicated in practice...

76 Correction i / I : E mod m i = 0 E is a multiple of Π V : E = ZΠ V = Z i/ I m i gcd(e, Π) = Π V Property The Extended Euclidean Algorithm, applied to (Π, E) and to (X = X + E, Π), performs the same first iterations until r i < Π V. Π X X E + = u 0 Π + v 0 E = Π u 0 Π + v 0 X = X.. u i 1 Π + v i 1 E = Π v u i 1 Π + v i 1 X = r i 1 u i Π + v i E = 0 u i Π + v i X = r i v i X = r i

77 Correction capacity Mandelbaum 78: 1 symbol = 1 residue Polynomial time algorithm if e (n k) log m min log 2 log m max+log m min worst case: exponential (random perturbation) Goldreich Ron Sudan 99 weighted residues equivalent Guruswami Sahai Sudan 00 invariably polynomial time

78 Correction capacity Mandelbaum 78: 1 symbol = 1 residue Polynomial time algorithm if e (n k) log m min log 2 log m max+log m min worst case: exponential (random perturbation) Goldreich Ron Sudan 99 weighted residues equivalent Guruswami Sahai Sudan 00 invariably polynomial time Interpretation: Errors have variable weights depending on their impact i I m i Example: m 1 = 3, m 2 = 5, m 3 = 3001 Mandelbaum: only corrects 1 error provided X < 3 Adaptive: also corrects 1 error mod 3 if X < error mod 5 if X < errors mod 2 and 3 if X < 13

79 Generalized point of view: amplitude code Over a Euclidean ring A with a Euclidean function ν, multiplicative and sub-additive, ie such that ν(ab) = ν(a)ν(b) ν(a + b) ν(a) + ν(b) eg. over Z: ν(x) = x over K[X]: ν(p) = 2 deg(p) Definition Error impact between x and y: Π F = i x y[m i ] m i Error amplitude: ν(π F )

80 Amplitude codes Distance : A A R + (x, y) i x y[m i ] log 2 ν (m i ) (x, y) = log 2 ν(π F )

81 Definition ((n, k)-amplitude code) Given {m i } i m pairwise rel. prime, and κ R + The set C = {x A : ν(x) < κ}, n = log 2 i m m i, k = log 2 κ. is a (n, k)-amplitude code.

82 Definition ((n, k)-amplitude code) Given {m i } i m pairwise rel. prime, and κ R + The set C = {x A : ν(x) < κ}, n = log 2 i m m i, k = log 2 κ. is a (n, k)-amplitude code. Property (Quasi MDS) (x, y) C (x, y) > n k 1 correction capacity = maximal amplitude of an error that can be corrected

83 Definition ((n, k)-amplitude code) Given {m i } i m pairwise rel. prime, and κ R + The set C = {x A : ν(x) < κ}, n = log 2 i m m i, k = log 2 κ. is a (n, k)-amplitude code. Property (Quasi MDS) (x, y) C, A = K[X] Singleton bound (x, y) n k + 1 correction capacity = maximal amplitude of an error that can be corrected

84 Advantages Generalization over any Euclidean ring Natural representation of the amount of information No need to sort moduli Finer correction capacities

85 Advantages Generalization over any Euclidean ring Natural representation of the amount of information No need to sort moduli Finer correction capacities Adaptive decoding: taking advantage of all the available redundancy Early termination: with no a priori knowledge of a bound on the result

86 Amplitude decoding, with static correction capacity Amplitude based decoder over R Input: Π, X Input: τ R + τ < ν(π) 2 : bound on the maximal error amplitude Output: X R: corrected message s.t. ν(x)4τ 2 ν(π) begin u 0 = 1, v 0 = 0, r 0 = Π; u 1 = 0, v 1 = 1, r 1 = X ; i = 1; while (ν(r i ) > ν(π)/2τ) do Let r i 1 = q i r i + r i+1 be the Euclidean division of r i 1 by r i ; u i+1 = u i 1 q i u i ; v i+1 = v i 1 q i v i ; i = i + 1; return X = ri v i reaches the quasi-maximal correction capacity

87 Amplitude decoding, with static correction capacity Amplitude based decoder over R Input: Π, X Input: τ R + τ < ν(π) 2 : bound on the maximal error amplitude Output: X R: corrected message s.t. ν(x)4τ 2 ν(π) begin u 0 = 1, v 0 = 0, r 0 = Π; u 1 = 0, v 1 = 1, r 1 = X ; i = 1; while (ν(r i ) > ν(π)/2τ) do Let r i 1 = q i r i + r i+1 be the Euclidean division of r i 1 by r i ; u i+1 = u i 1 q i u i ; v i+1 = v i 1 q i v i ; i = i + 1; return X = ri v i reaches the quasi-maximal correction capacity requires an a priori knowledge of τ How to make the correction capacity adaptive?

88 Adaptive approach Multiple goals: With a fixed n, the correction capacity depends on a bound on ν(x) pessimistic estimate how to take advantage of all the available redundancy? redundancy effectively available X bound on v(x) redundancy being used

89 A first adaptive approach: divisibility check Termination criterion in the Extended Euclidean alg.: u i+1 Π + v i+1 E = 0 E = u i+1 Π/v i+1 test if v j divides Π check if X satisfies: ν(x) ν(π) 4ν(v j ) 2 But several candidates are possible discrimination by a post-condition on the result

90 A first adaptive approach: divisibility check Termination criterion in the Extended Euclidean alg.: u i+1 Π + v i+1 E = 0 E = u i+1 Π/v i+1 test if v j divides Π check if X satisfies: ν(x) ν(π) 4ν(v j ) 2 But several candidates are possible discrimination by a post-condition on the result Example x = 23 with 0 error x = 2 with 1 error m i x i 2 3 2

91 Detecting a gap u i Π + v i (X + E) = r i u i Π + v i E = r i v i X r i v ix

92 Detecting a gap u i Π + v i (X + E) = r i u i Π + v i E = r i v i X r i v ix

93 Detecting a gap u i Π + v i (X + E) = r i u i Π + v i E = r i v i X r i v ix

94 Detecting a gap u i Π + v i (X + E) = r i u i Π + v i E = r i v i X r i v ix X = r i /v i At the final iteration: ν(r i ) = ν(v i X) If necessary, a gap appears between r i 1 and r i.

95 Detecting a gap u i Π + v i (X + E) = r i u i Π + v i E = r i v i X r i v ix 2 g X = r i /v i At the final iteration: ν(r i ) = ν(v i X) If necessary, a gap appears between r i 1 and r i. Introduce a blank 2 g in order to detect a gap > 2 g

96 Detecting a gap u i Π + v i (X + E) = r i u i Π + v i E = r i v i X r i v ix 2 g X = r i /v i At the final iteration: ν(r i ) = ν(v i X) If necessary, a gap appears between r i 1 and r i. Introduce a blank 2 g in order to detect a gap > 2 g

97 Detecting a gap u i Π + v i (X + E) = r i u i Π + v i E = r i v i X r i v ix 2 g X = r i /v i At the final iteration: ν(r i ) = ν(v i X) If necessary, a gap appears between r i 1 and r i. Introduce a blank 2 g in order to detect a gap > 2 g

98 Detecting a gap u i Π + v i (X + E) = r i u i Π + v i E = r i v i X r i v ix 2 g X = r i /v i At the final iteration: ν(r i ) = ν(v i X) If necessary, a gap appears between r i 1 and r i. Introduce a blank 2 g in order to detect a gap > 2 g

99 Detecting a gap u i Π + v i (X + E) = r i u i Π + v i E = r i v i X r i v ix 2 g X = r i /v i At the final iteration: ν(r i ) = ν(v i X) If necessary, a gap appears between r i 1 and r i. Introduce a blank 2 g in order to detect a gap > 2 g Property Loss of correction capacity: very small in practice Test of the divisibility for the remaining candidates Strongly reduces the number of divisibility tests

100 Experiments Size of the error g = 2 1/446 1/765 1/1118 2/1183 2/4165 1/7907 g = 3 1/244 1/414 1/576 2/1002 2/2164 1/4117 g = 5 1/53 1/97 1/153 2/262 1/575 1/1106 g = 10 1/1 1/3 1/9 1/14 1/26 1/35 g = 20 1/1 1/1 1/1 1/1 1/1 1/1 Table: Number of remaining candidates after the gap detection: c /d means d candidates with a gap > 2 g, and c of them passed the divisibility test. n 6001 (3000 moduli), κ 201 (100 moduli).

101 Experiments Divisibility Gap g=2 Gap g=5 Gap g=10 Threshold T= Time (s) Size of the errors Figure: Comparison for n (m = 1300 moduli of 20 bits), κ 6001 (300 moduli) and τ (about 500 moduli).

102 Conclusion Adaptive decoding of CRT codes finer bounds on the correction capacity adaptive decoding using the best effective redundancy efficient termination heuristics Sparse interpolation code over K[X] lower bound on the necessary number of evaluations optimal unique decoding algorihtm list decoding variant Perspectives Generalization to adaptive list decoding of CRT codes Tight bound on the size of the list when n 2t(E + 1), Sparse Cauchy interpolation with errors.

103 Bonus : Dense rational function interpolation with errors (Cauchy interpolation) y i = f (x i) g(x i ) Rational function interpolation: Pade approximant Find h K[X] s.t. h(x i ) = y i (interpolation) Find f, g s.t. hg = f mod (X x i ) (Pade approx)

104 Bonus : Dense rational function interpolation with errors (Cauchy interpolation) y i = f (x i) g(x i ) Rational function interpolation: Pade approximant Find h K[X] s.t. h(x i ) = y i (interpolation) Find f, g s.t. hg = f mod (X x i ) (Pade approx) Introducing an error of impact Π F = i I (X x i): hgπ F = f Π F mod (X x i ) Property If n deg f + deg g + 2e, one can interpolate with at most e errors

Computing over Z, Q, K[X]

Computing over Z, Q, K[X] Computing over Z, Q, K[X] Clément PERNET M2-MIA Calcul Exact Outline Introduction Chinese Remainder Theorem Rational reconstruction Problem Statement Algorithms Applications Dense CRT codes Extension to

More information

Sparse Polynomial Interpolation and Berlekamp/Massey algorithms that correct Outlier Errors in Input Values

Sparse Polynomial Interpolation and Berlekamp/Massey algorithms that correct Outlier Errors in Input Values Sparse Polynomial Interpolation and Berlekamp/Massey algorithms that correct Outlier Errors in Input Values Clément PERNET joint work with Matthew T. COMER and Erich L. KALTOFEN : LIG/INRIA-MOAIS, Grenoble

More information

On Irreducible Polynomial Remainder Codes

On Irreducible Polynomial Remainder Codes 2011 IEEE International Symposium on Information Theory Proceedings On Irreducible Polynomial Remainder Codes Jiun-Hung Yu and Hans-Andrea Loeliger Department of Information Technology and Electrical Engineering

More information

Cryptographic Engineering

Cryptographic Engineering Cryptographic Engineering Clément PERNET M2 Cyber Security, UFR-IM 2 AG, Univ. Grenoble-Alpes ENSIMAG, Grenoble INP Outline Coding Theory Introduction Linear Codes Reed-Solomon codes Application: Mc Eliece

More information

4F5: Advanced Communications and Coding

4F5: Advanced Communications and Coding 4F5: Advanced Communications and Coding Coding Handout 4: Reed Solomon Codes Jossy Sayir Signal Processing and Communications Lab Department of Engineering University of Cambridge jossy.sayir@eng.cam.ac.uk

More information

Fast algorithms for factoring polynomials A selection. Erich Kaltofen North Carolina State University google->kaltofen google->han lu

Fast algorithms for factoring polynomials A selection. Erich Kaltofen North Carolina State University google->kaltofen google->han lu Fast algorithms for factoring polynomials A selection Erich Kaltofen North Carolina State University google->kaltofen google->han lu Overview of my work 1 Theorem. Factorization in K[x] is undecidable

More information

Chinese Remainder Theorem

Chinese Remainder Theorem Chinese Remainder Theorem Theorem Let R be a Euclidean domain with m 1, m 2,..., m k R. If gcd(m i, m j ) = 1 for 1 i < j k then m = m 1 m 2 m k = lcm(m 1, m 2,..., m k ) and R/m = R/m 1 R/m 2 R/m k ;

More information

Output-sensitive algorithms for sumset and sparse polynomial multiplication

Output-sensitive algorithms for sumset and sparse polynomial multiplication Output-sensitive algorithms for sumset and sparse polynomial multiplication Andrew Arnold Cheriton School of Computer Science University of Waterloo Waterloo, Ontario, Canada Daniel S. Roche Computer Science

More information

On Syndrome Decoding of Chinese Remainder Codes

On Syndrome Decoding of Chinese Remainder Codes On Syndrome Decoding of Chinese Remainder Codes Wenhui Li Institute of, June 16, 2012 Thirteenth International Workshop on Algebraic and Combinatorial Coding Theory (ACCT 2012) Pomorie, Bulgaria Wenhui

More information

Public-key Cryptography: Theory and Practice

Public-key Cryptography: Theory and Practice Public-key Cryptography Theory and Practice Department of Computer Science and Engineering Indian Institute of Technology Kharagpur Chapter 2: Mathematical Concepts Divisibility Congruence Quadratic Residues

More information

Lecture 3: Error Correcting Codes

Lecture 3: Error Correcting Codes CS 880: Pseudorandomness and Derandomization 1/30/2013 Lecture 3: Error Correcting Codes Instructors: Holger Dell and Dieter van Melkebeek Scribe: Xi Wu In this lecture we review some background on error

More information

Great Theoretical Ideas in Computer Science

Great Theoretical Ideas in Computer Science 15-251 Great Theoretical Ideas in Computer Science Polynomials, Lagrange, and Error-correction Lecture 23 (November 10, 2009) P(X) = X 3 X 2 + + X 1 + Definition: Recall: Fields A field F is a set together

More information

Error Correcting Codes Questions Pool

Error Correcting Codes Questions Pool Error Correcting Codes Questions Pool Amnon Ta-Shma and Dean Doron January 3, 018 General guidelines The questions fall into several categories: (Know). (Mandatory). (Bonus). Make sure you know how to

More information

Exact Arithmetic on a Computer

Exact Arithmetic on a Computer Exact Arithmetic on a Computer Symbolic Computation and Computer Algebra William J. Turner Department of Mathematics & Computer Science Wabash College Crawfordsville, IN 47933 Tuesday 21 September 2010

More information

Chapter 6 Reed-Solomon Codes. 6.1 Finite Field Algebra 6.2 Reed-Solomon Codes 6.3 Syndrome Based Decoding 6.4 Curve-Fitting Based Decoding

Chapter 6 Reed-Solomon Codes. 6.1 Finite Field Algebra 6.2 Reed-Solomon Codes 6.3 Syndrome Based Decoding 6.4 Curve-Fitting Based Decoding Chapter 6 Reed-Solomon Codes 6. Finite Field Algebra 6. Reed-Solomon Codes 6.3 Syndrome Based Decoding 6.4 Curve-Fitting Based Decoding 6. Finite Field Algebra Nonbinary codes: message and codeword symbols

More information

Computing with polynomials: Hensel constructions

Computing with polynomials: Hensel constructions Course Polynomials: Their Power and How to Use Them, JASS 07 Computing with polynomials: Hensel constructions Lukas Bulwahn March 28, 2007 Abstract To solve GCD calculations and factorization of polynomials

More information

Solving Sparse Rational Linear Systems. Pascal Giorgi. University of Waterloo (Canada) / University of Perpignan (France) joint work with

Solving Sparse Rational Linear Systems. Pascal Giorgi. University of Waterloo (Canada) / University of Perpignan (France) joint work with Solving Sparse Rational Linear Systems Pascal Giorgi University of Waterloo (Canada) / University of Perpignan (France) joint work with A. Storjohann, M. Giesbrecht (University of Waterloo), W. Eberly

More information

Towards High Performance Multivariate Factorization. Michael Monagan. This is joint work with Baris Tuncer.

Towards High Performance Multivariate Factorization. Michael Monagan. This is joint work with Baris Tuncer. Towards High Performance Multivariate Factorization Michael Monagan Center for Experimental and Constructive Mathematics Simon Fraser University British Columbia This is joint work with Baris Tuncer. The

More information

An Interpolation Algorithm for List Decoding of Reed-Solomon Codes

An Interpolation Algorithm for List Decoding of Reed-Solomon Codes An Interpolation Algorithm for List Decoding of Reed-Solomon Codes Kwankyu Lee Department of Mathematics San Diego State University San Diego, USA Email: kwankyu@sogangackr Michael E O Sullivan Department

More information

Towards High Performance Multivariate Factorization. Michael Monagan. This is joint work with Baris Tuncer.

Towards High Performance Multivariate Factorization. Michael Monagan. This is joint work with Baris Tuncer. Towards High Performance Multivariate Factorization Michael Monagan Center for Experimental and Constructive Mathematics Simon Fraser University British Columbia This is joint work with Baris Tuncer. To

More information

ax b mod m. has a solution if and only if d b. In this case, there is one solution, call it x 0, to the equation and there are d solutions x m d

ax b mod m. has a solution if and only if d b. In this case, there is one solution, call it x 0, to the equation and there are d solutions x m d 10. Linear congruences In general we are going to be interested in the problem of solving polynomial equations modulo an integer m. Following Gauss, we can work in the ring Z m and find all solutions to

More information

Chapter 6. BCH Codes

Chapter 6. BCH Codes Chapter 6 BCH Codes Description of the Codes Decoding of the BCH Codes Outline Implementation of Galois Field Arithmetic Implementation of Error Correction Nonbinary BCH Codes and Reed-Solomon Codes Weight

More information

Berlekamp-Massey decoding of RS code

Berlekamp-Massey decoding of RS code IERG60 Coding for Distributed Storage Systems Lecture - 05//06 Berlekamp-Massey decoding of RS code Lecturer: Kenneth Shum Scribe: Bowen Zhang Berlekamp-Massey algorithm We recall some notations from lecture

More information

Reverse Berlekamp-Massey Decoding

Reverse Berlekamp-Massey Decoding Reverse Berlekamp-Massey Decoding Jiun-Hung Yu and Hans-Andrea Loeliger Department of Information Technology and Electrical Engineering ETH Zurich, Switzerland Email: {yu, loeliger}@isi.ee.ethz.ch arxiv:1301.736v

More information

Fast algorithms for multivariate interpolation problems

Fast algorithms for multivariate interpolation problems Fast algorithms for multivariate interpolation problems Vincent Neiger,, Claude-Pierre Jeannerod Éric Schost Gilles Villard AriC, LIP, École Normale Supérieure de Lyon, France ORCCA, Computer Science Department,

More information

Error Detection, Correction and Erasure Codes for Implementation in a Cluster File-system

Error Detection, Correction and Erasure Codes for Implementation in a Cluster File-system Error Detection, Correction and Erasure Codes for Implementation in a Cluster File-system Steve Baker December 6, 2011 Abstract. The evaluation of various error detection and correction algorithms and

More information

Coding Theory. Ruud Pellikaan MasterMath 2MMC30. Lecture 11.1 May

Coding Theory. Ruud Pellikaan MasterMath 2MMC30. Lecture 11.1 May Coding Theory Ruud Pellikaan g.r.pellikaan@tue.nl MasterMath 2MMC30 /k Lecture 11.1 May 12-2016 Content lecture 11 2/31 In Lecture 8.2 we introduced the Key equation Now we introduce two algorithms which

More information

Basic Algorithms in Number Theory

Basic Algorithms in Number Theory Basic Algorithms in Number Theory Algorithmic Complexity... 1 Basic Algorithms in Number Theory Francesco Pappalardi Discrete Logs, Modular Square Roots & Euclidean Algorithm. July 20 th 2010 Basic Algorithms

More information

The BCH Bound. Background. Parity Check Matrix for BCH Code. Minimum Distance of Cyclic Codes

The BCH Bound. Background. Parity Check Matrix for BCH Code. Minimum Distance of Cyclic Codes S-723410 BCH and Reed-Solomon Codes 1 S-723410 BCH and Reed-Solomon Codes 3 Background The algebraic structure of linear codes and, in particular, cyclic linear codes, enables efficient encoding and decoding

More information

Binary Primitive BCH Codes. Decoding of the BCH Codes. Implementation of Galois Field Arithmetic. Implementation of Error Correction

Binary Primitive BCH Codes. Decoding of the BCH Codes. Implementation of Galois Field Arithmetic. Implementation of Error Correction BCH Codes Outline Binary Primitive BCH Codes Decoding of the BCH Codes Implementation of Galois Field Arithmetic Implementation of Error Correction Nonbinary BCH Codes and Reed-Solomon Codes Preface The

More information

Computing Error Distance of Reed-Solomon Codes

Computing Error Distance of Reed-Solomon Codes Computing Error Distance of Reed-Solomon Codes Guizhen Zhu Institute For Advanced Study Tsinghua University, Beijing, 100084, PR China Email:zhugz08@mailstsinghuaeducn Daqing Wan Department of Mathematics

More information

Identifying supersingular elliptic curves

Identifying supersingular elliptic curves Identifying supersingular elliptic curves Andrew V. Sutherland Massachusetts Institute of Technology January 6, 2012 http://arxiv.org/abs/1107.1140 Andrew V. Sutherland (MIT) Identifying supersingular

More information

Local Fields. Chapter Absolute Values and Discrete Valuations Definitions and Comments

Local Fields. Chapter Absolute Values and Discrete Valuations Definitions and Comments Chapter 9 Local Fields The definition of global field varies in the literature, but all definitions include our primary source of examples, number fields. The other fields that are of interest in algebraic

More information

Reed-Solomon codes. Chapter Linear codes over finite fields

Reed-Solomon codes. Chapter Linear codes over finite fields Chapter 8 Reed-Solomon codes In the previous chapter we discussed the properties of finite fields, and showed that there exists an essentially unique finite field F q with q = p m elements for any prime

More information

Algebra for error control codes

Algebra for error control codes Algebra for error control codes EE 387, Notes 5, Handout #7 EE 387 concentrates on block codes that are linear: Codewords components are linear combinations of message symbols. g 11 g 12 g 1n g 21 g 22

More information

Chapter 9 Factorisation and Discrete Logarithms Using a Factor Base

Chapter 9 Factorisation and Discrete Logarithms Using a Factor Base Chapter 9 Factorisation and Discrete Logarithms Using a Factor Base February 15, 2010 9 The two intractable problems which are at the heart of public key cryptosystems, are the infeasibility of factorising

More information

Congruences and Residue Class Rings

Congruences and Residue Class Rings Congruences and Residue Class Rings (Chapter 2 of J. A. Buchmann, Introduction to Cryptography, 2nd Ed., 2004) Shoichi Hirose Faculty of Engineering, University of Fukui S. Hirose (U. Fukui) Congruences

More information

Progressive Algebraic Soft-Decision Decoding of Reed-Solomon Codes

Progressive Algebraic Soft-Decision Decoding of Reed-Solomon Codes Progressive Algebraic Soft-Decision Decoding of Reed-Solomon Codes Li Chen ( 陈立 ), PhD, MIEEE Associate Professor, School of Information Science and Technology Sun Yat-sen University, China Joint work

More information

NOTES ON FINITE FIELDS

NOTES ON FINITE FIELDS NOTES ON FINITE FIELDS AARON LANDESMAN CONTENTS 1. Introduction to finite fields 2 2. Definition and constructions of fields 3 2.1. The definition of a field 3 2.2. Constructing field extensions by adjoining

More information

ECEN 5022 Cryptography

ECEN 5022 Cryptography Elementary Algebra and Number Theory University of Colorado Spring 2008 Divisibility, Primes Definition. N denotes the set {1, 2, 3,...} of natural numbers and Z denotes the set of integers {..., 2, 1,

More information

Algebraic Codes for Error Control

Algebraic Codes for Error Control little -at- mathcs -dot- holycross -dot- edu Department of Mathematics and Computer Science College of the Holy Cross SACNAS National Conference An Abstract Look at Algebra October 16, 2009 Outline Coding

More information

Reed-Solomon Error-correcting Codes

Reed-Solomon Error-correcting Codes The Deep Hole Problem Matt Keti (Advisor: Professor Daqing Wan) Department of Mathematics University of California, Irvine November 8, 2012 Humble Beginnings Preview of Topics 1 Humble Beginnings Problems

More information

Fast Estimates of Hankel Matrix Condition Numbers and Numeric Sparse Interpolation*

Fast Estimates of Hankel Matrix Condition Numbers and Numeric Sparse Interpolation* Fast Estimates of Hankel Matrix Condition Numbers and Numeric Sparse Interpolation* Erich L Kaltofen Department of Mathematics North Carolina State University Raleigh, NC 769-80, USA kaltofen@mathncsuedu

More information

: Error Correcting Codes. October 2017 Lecture 1

: Error Correcting Codes. October 2017 Lecture 1 03683072: Error Correcting Codes. October 2017 Lecture 1 First Definitions and Basic Codes Amnon Ta-Shma and Dean Doron 1 Error Correcting Codes Basics Definition 1. An (n, K, d) q code is a subset of

More information

g(x) = 1 1 x = 1 + x + x2 + x 3 + is not a polynomial, since it doesn t have finite degree. g(x) is an example of a power series.

g(x) = 1 1 x = 1 + x + x2 + x 3 + is not a polynomial, since it doesn t have finite degree. g(x) is an example of a power series. 6 Polynomial Rings We introduce a class of rings called the polynomial rings, describing computation, factorization and divisibility in such rings For the case where the coefficients come from an integral

More information

Lecture 12: November 6, 2017

Lecture 12: November 6, 2017 Information and Coding Theory Autumn 017 Lecturer: Madhur Tulsiani Lecture 1: November 6, 017 Recall: We were looking at codes of the form C : F k p F n p, where p is prime, k is the message length, and

More information

Skew cyclic codes: Hamming distance and decoding algorithms 1

Skew cyclic codes: Hamming distance and decoding algorithms 1 Skew cyclic codes: Hamming distance and decoding algorithms 1 J. Gómez-Torrecillas, F. J. Lobillo, G. Navarro Department of Algebra and CITIC, University of Granada Department of Computer Sciences and

More information

CPSC 467: Cryptography and Computer Security

CPSC 467: Cryptography and Computer Security CPSC 467: Cryptography and Computer Security Michael J. Fischer Lecture 22 November 27, 2017 CPSC 467, Lecture 22 1/43 BBS Pseudorandom Sequence Generator Secret Splitting Shamir s Secret Splitting Scheme

More information

High Performance and Reliable Algebraic Computing

High Performance and Reliable Algebraic Computing High Performance and Reliable Algebraic Computing Soutenance d habilitation à diriger des recherches Clément Pernet Université Joseph Fourier (Grenoble 1) November 25, 2014 Rapporteurs : Daniel Augot,

More information

Fast computation of normal forms of polynomial matrices

Fast computation of normal forms of polynomial matrices 1/25 Fast computation of normal forms of polynomial matrices Vincent Neiger Inria AriC, École Normale Supérieure de Lyon, France University of Waterloo, Ontario, Canada Partially supported by the mobility

More information

Algebra Review. Instructor: Laszlo Babai Notes by Vincent Lucarelli and the instructor. June 15, 2001

Algebra Review. Instructor: Laszlo Babai Notes by Vincent Lucarelli and the instructor. June 15, 2001 Algebra Review Instructor: Laszlo Babai Notes by Vincent Lucarelli and the instructor June 15, 2001 1 Groups Definition 1.1 A semigroup (G, ) is a set G with a binary operation such that: Axiom 1 ( a,

More information

Computing minimal interpolation bases

Computing minimal interpolation bases Computing minimal interpolation bases Vincent Neiger,, Claude-Pierre Jeannerod Éric Schost Gilles Villard AriC, LIP, École Normale Supérieure de Lyon, France University of Waterloo, Ontario, Canada Supported

More information

Lecture Introduction. 2 Formal Definition. CS CTT Current Topics in Theoretical CS Oct 30, 2012

Lecture Introduction. 2 Formal Definition. CS CTT Current Topics in Theoretical CS Oct 30, 2012 CS 59000 CTT Current Topics in Theoretical CS Oct 30, 0 Lecturer: Elena Grigorescu Lecture 9 Scribe: Vivek Patel Introduction In this lecture we study locally decodable codes. Locally decodable codes are

More information

Fast Polynomial Multiplication

Fast Polynomial Multiplication Fast Polynomial Multiplication Marc Moreno Maza CS 9652, October 4, 2017 Plan Primitive roots of unity The discrete Fourier transform Convolution of polynomials The fast Fourier transform Fast convolution

More information

On the use of polynomial matrix approximant in the block Wiedemann algorithm

On the use of polynomial matrix approximant in the block Wiedemann algorithm On the use of polynomial matrix approximant in the block Wiedemann algorithm ECOLE NORMALE SUPERIEURE DE LYON Laboratoire LIP, ENS Lyon, France Pascal Giorgi Symbolic Computation Group, School of Computer

More information

MATH 431 PART 2: POLYNOMIAL RINGS AND FACTORIZATION

MATH 431 PART 2: POLYNOMIAL RINGS AND FACTORIZATION MATH 431 PART 2: POLYNOMIAL RINGS AND FACTORIZATION 1. Polynomial rings (review) Definition 1. A polynomial f(x) with coefficients in a ring R is n f(x) = a i x i = a 0 + a 1 x + a 2 x 2 + + a n x n i=0

More information

The number of message symbols encoded into a

The number of message symbols encoded into a L.R.Welch THE ORIGINAL VIEW OF REED-SOLOMON CODES THE ORIGINAL VIEW [Polynomial Codes over Certain Finite Fields, I.S.Reed and G. Solomon, Journal of SIAM, June 1960] Parameters: Let GF(2 n ) be the eld

More information

Part II. Number Theory. Year

Part II. Number Theory. Year Part II Year 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2007 2006 2005 2017 Paper 3, Section I 1G 70 Explain what is meant by an Euler pseudoprime and a strong pseudoprime. Show that 65 is an Euler

More information

Spatial Navigation. Zaneta Navratilova and Mei Yin. March 6, Theoretical Neuroscience Journal Club University of Arizona

Spatial Navigation. Zaneta Navratilova and Mei Yin. March 6, Theoretical Neuroscience Journal Club University of Arizona Theoretical Neuroscience Journal Club University of Arizona March 6, 2008 Based on the observation that dmec stores only modulo information about rat position, we suggest that dmec may be encoding and

More information

A Course in Computational Algebraic Number Theory

A Course in Computational Algebraic Number Theory Henri Cohen 2008 AGI-Information Management Consultants May be used for personal purporses only or by libraries associated to dandelon.com network. A Course in Computational Algebraic Number Theory Springer

More information

Discrete Math, Fourteenth Problem Set (July 18)

Discrete Math, Fourteenth Problem Set (July 18) Discrete Math, Fourteenth Problem Set (July 18) REU 2003 Instructor: László Babai Scribe: Ivona Bezakova 0.1 Repeated Squaring For the primality test we need to compute a X 1 (mod X). There are two problems

More information

On the Construction and Decoding of Cyclic LDPC Codes

On the Construction and Decoding of Cyclic LDPC Codes On the Construction and Decoding of Cyclic LDPC Codes Chao Chen Joint work with Prof. Baoming Bai from Xidian University April 30, 2014 Outline 1. Introduction 2. Construction based on Idempotents and

More information

List decoding of binary Goppa codes and key reduction for McEliece s cryptosystem

List decoding of binary Goppa codes and key reduction for McEliece s cryptosystem List decoding of binary Goppa codes and key reduction for McEliece s cryptosystem Morgan Barbier morgan.barbier@lix.polytechnique.fr École Polytechnique INRIA Saclay - Île de France 14 April 2011 University

More information

Polynomials, Ideals, and Gröbner Bases

Polynomials, Ideals, and Gröbner Bases Polynomials, Ideals, and Gröbner Bases Notes by Bernd Sturmfels for the lecture on April 10, 2018, in the IMPRS Ringvorlesung Introduction to Nonlinear Algebra We fix a field K. Some examples of fields

More information

Solving Systems of Modular Equations in One Variable: How Many RSA-Encrypted Messages Does Eve Need to Know?

Solving Systems of Modular Equations in One Variable: How Many RSA-Encrypted Messages Does Eve Need to Know? Solving Systems of Modular Equations in One Variable: How Many RSA-Encrypted Messages Does Eve Need to Know? Alexander May, Maike Ritzenhofen Faculty of Mathematics Ruhr-Universität Bochum, 44780 Bochum,

More information

Error Detection & Correction

Error Detection & Correction Error Detection & Correction Error detection & correction noisy channels techniques in networking error detection error detection capability retransmition error correction reconstruction checksums redundancy

More information

On Solving Ambiguity Resolution with Robust Chinese Remainder Theorem for Multiple Numbers

On Solving Ambiguity Resolution with Robust Chinese Remainder Theorem for Multiple Numbers 1 On Solving Ambiguity Resolution with Robust Chinese Remainder Theorem for Multiple Numbers Hanshen Xiao and Guoqiang Xiao arxiv:1807.000v1 [cs.it] 9 Jun 018 Abstract Chinese Remainder Theorem (CRT) is

More information

Algorithms for exact (dense) linear algebra

Algorithms for exact (dense) linear algebra Algorithms for exact (dense) linear algebra Gilles Villard CNRS, Laboratoire LIP ENS Lyon Montagnac-Montpezat, June 3, 2005 Introduction Problem: Study of complexity estimates for basic problems in exact

More information

CHAPMAN & HALL/CRC CRYPTOGRAPHY AND NETWORK SECURITY ALGORITHMIC CR YPTAN ALY51S. Ant nine J aux

CHAPMAN & HALL/CRC CRYPTOGRAPHY AND NETWORK SECURITY ALGORITHMIC CR YPTAN ALY51S. Ant nine J aux CHAPMAN & HALL/CRC CRYPTOGRAPHY AND NETWORK SECURITY ALGORITHMIC CR YPTAN ALY51S Ant nine J aux (g) CRC Press Taylor 8* Francis Croup Boca Raton London New York CRC Press is an imprint of the Taylor &

More information

A Fast Las Vegas Algorithm for Computing the Smith Normal Form of a Polynomial Matrix

A Fast Las Vegas Algorithm for Computing the Smith Normal Form of a Polynomial Matrix A Fast Las Vegas Algorithm for Computing the Smith Normal Form of a Polynomial Matrix Arne Storjohann and George Labahn Department of Computer Science University of Waterloo Waterloo, Ontario, Canada N2L

More information

LECTURE NOTES IN CRYPTOGRAPHY

LECTURE NOTES IN CRYPTOGRAPHY 1 LECTURE NOTES IN CRYPTOGRAPHY Thomas Johansson 2005/2006 c Thomas Johansson 2006 2 Chapter 1 Abstract algebra and Number theory Before we start the treatment of cryptography we need to review some basic

More information

HOMEWORK 11 MATH 4753

HOMEWORK 11 MATH 4753 HOMEWORK 11 MATH 4753 Recall that R = Z[x]/(x N 1) where N > 1. For p > 1 any modulus (not necessarily prime), R p = (Z/pZ)[x]/(x N 1). We do not assume p, q are prime below unless otherwise stated. Question

More information

Summary Slides for MATH 342 June 25, 2018

Summary Slides for MATH 342 June 25, 2018 Summary Slides for MATH 342 June 25, 2018 Summary slides based on Elementary Number Theory and its applications by Kenneth Rosen and The Theory of Numbers by Ivan Niven, Herbert Zuckerman, and Hugh Montgomery.

More information

Coding Theory and Applications. Solved Exercises and Problems of Cyclic Codes. Enes Pasalic University of Primorska Koper, 2013

Coding Theory and Applications. Solved Exercises and Problems of Cyclic Codes. Enes Pasalic University of Primorska Koper, 2013 Coding Theory and Applications Solved Exercises and Problems of Cyclic Codes Enes Pasalic University of Primorska Koper, 2013 Contents 1 Preface 3 2 Problems 4 2 1 Preface This is a collection of solved

More information

Factoring Polynomials with Rational Coecients. Kenneth Giuliani

Factoring Polynomials with Rational Coecients. Kenneth Giuliani Factoring Polynomials with Rational Coecients Kenneth Giuliani 17 April 1998 1 Introduction Factorization is a problem well-studied in mathematics. Of particular focus is factorization within unique factorization

More information

DoubleSparseCompressedSensingProblem 1

DoubleSparseCompressedSensingProblem 1 Fourteenth International Workshop on Algebraic and Combinatorial Coding Theory September 7 13, 2014, Svetlogorsk (Kaliningrad region), Russia pp. 181 185 DoubleSparseCompressedSensingProblem 1 Grigory

More information

: Error Correcting Codes. November 2017 Lecture 2

: Error Correcting Codes. November 2017 Lecture 2 03683072: Error Correcting Codes. November 2017 Lecture 2 Polynomial Codes and Cyclic Codes Amnon Ta-Shma and Dean Doron 1 Polynomial Codes Fix a finite field F q. For the purpose of constructing polynomial

More information

(January 14, 2009) q n 1 q d 1. D = q n = q + d

(January 14, 2009) q n 1 q d 1. D = q n = q + d (January 14, 2009) [10.1] Prove that a finite division ring D (a not-necessarily commutative ring with 1 in which any non-zero element has a multiplicative inverse) is commutative. (This is due to Wedderburn.)

More information

for some error exponent E( R) as a function R,

for some error exponent E( R) as a function R, . Capacity-achieving codes via Forney concatenation Shannon s Noisy Channel Theorem assures us the existence of capacity-achieving codes. However, exhaustive search for the code has double-exponential

More information

Coding Theory: Linear-Error Correcting Codes Anna Dovzhik Math 420: Advanced Linear Algebra Spring 2014

Coding Theory: Linear-Error Correcting Codes Anna Dovzhik Math 420: Advanced Linear Algebra Spring 2014 Anna Dovzhik 1 Coding Theory: Linear-Error Correcting Codes Anna Dovzhik Math 420: Advanced Linear Algebra Spring 2014 Sharing data across channels, such as satellite, television, or compact disc, often

More information

RON M. ROTH * GADIEL SEROUSSI **

RON M. ROTH * GADIEL SEROUSSI ** ENCODING AND DECODING OF BCH CODES USING LIGHT AND SHORT CODEWORDS RON M. ROTH * AND GADIEL SEROUSSI ** ABSTRACT It is shown that every q-ary primitive BCH code of designed distance δ and sufficiently

More information

Notes 10: List Decoding Reed-Solomon Codes and Concatenated codes

Notes 10: List Decoding Reed-Solomon Codes and Concatenated codes Introduction to Coding Theory CMU: Spring 010 Notes 10: List Decoding Reed-Solomon Codes and Concatenated codes April 010 Lecturer: Venkatesan Guruswami Scribe: Venkat Guruswami & Ali Kemal Sinop DRAFT

More information

Secret sharing schemes

Secret sharing schemes Secret sharing schemes Martin Stanek Department of Computer Science Comenius University stanek@dcs.fmph.uniba.sk Cryptology 1 (2017/18) Content Introduction Shamir s secret sharing scheme perfect secret

More information

3x + 1 (mod 5) x + 2 (mod 5)

3x + 1 (mod 5) x + 2 (mod 5) Today. Secret Sharing. Polynomials Polynomials. Secret Sharing. Share secret among n people. Secrecy: Any k 1 knows nothing. Roubustness: Any k knows secret. Efficient: minimize storage. A polynomial P(x)

More information

Fast computation of normal forms of polynomial matrices

Fast computation of normal forms of polynomial matrices 1/25 Fast computation of normal forms of polynomial matrices Vincent Neiger Inria AriC, École Normale Supérieure de Lyon, France University of Waterloo, Ontario, Canada Partially supported by the mobility

More information

Quasi-reducible Polynomials

Quasi-reducible Polynomials Quasi-reducible Polynomials Jacques Willekens 06-Dec-2008 Abstract In this article, we investigate polynomials that are irreducible over Q, but are reducible modulo any prime number. 1 Introduction Let

More information

Algorithms for ray class groups and Hilbert class fields

Algorithms for ray class groups and Hilbert class fields (Quantum) Algorithms for ray class groups and Hilbert class fields Sean Hallgren joint with Kirsten Eisentraeger Penn State 1 Quantum Algorithms Quantum algorithms for number theoretic problems: Factoring

More information

Chapter 5. Modular arithmetic. 5.1 The modular ring

Chapter 5. Modular arithmetic. 5.1 The modular ring Chapter 5 Modular arithmetic 5.1 The modular ring Definition 5.1. Suppose n N and x, y Z. Then we say that x, y are equivalent modulo n, and we write x y mod n if n x y. It is evident that equivalence

More information

1 The Fundamental Theorem of Arithmetic. A positive integer N has a unique prime power decomposition. Primality Testing. and. Integer Factorisation

1 The Fundamental Theorem of Arithmetic. A positive integer N has a unique prime power decomposition. Primality Testing. and. Integer Factorisation 1 The Fundamental Theorem of Arithmetic A positive integer N has a unique prime power decomposition 2 Primality Testing Integer Factorisation (Gauss 1801, but probably known to Euclid) The Computational

More information

Toward High Performance Matrix Multiplication for Exact Computation

Toward High Performance Matrix Multiplication for Exact Computation Toward High Performance Matrix Multiplication for Exact Computation Pascal Giorgi Joint work with Romain Lebreton (U. Waterloo) Funded by the French ANR project HPAC Séminaire CASYS - LJK, April 2014 Motivations

More information

Parallel Sparse Polynomial Interpolation over Finite Fields

Parallel Sparse Polynomial Interpolation over Finite Fields Parallel Sparse Polynomial Interpolation over Finite Fields Seyed Mohammad Mahdi Javadi School of Computing Science, Simon Fraser University, Burnaby, B.C. Canada Michael Monagan Department of Mathematics,

More information

18. Cyclotomic polynomials II

18. Cyclotomic polynomials II 18. Cyclotomic polynomials II 18.1 Cyclotomic polynomials over Z 18.2 Worked examples Now that we have Gauss lemma in hand we can look at cyclotomic polynomials again, not as polynomials with coefficients

More information

A Generalization of Wilson s Theorem

A Generalization of Wilson s Theorem A Generalization of Wilson s Theorem R. Andrew Ohana June 3, 2009 Contents 1 Introduction 2 2 Background Algebra 2 2.1 Groups................................. 2 2.2 Rings.................................

More information

Irreducible Polynomials over Finite Fields

Irreducible Polynomials over Finite Fields Chapter 4 Irreducible Polynomials over Finite Fields 4.1 Construction of Finite Fields As we will see, modular arithmetic aids in testing the irreducibility of polynomials and even in completely factoring

More information

A Public Key Encryption Scheme Based on the Polynomial Reconstruction Problem

A Public Key Encryption Scheme Based on the Polynomial Reconstruction Problem A Public Key Encryption Scheme Based on the Polynomial Reconstruction Problem Daniel Augot and Matthieu Finiasz INRIA, Domaine de Voluceau F-78153 Le Chesnay CEDEX Abstract. The Polynomial Reconstruction

More information

Mathematics for Cryptography

Mathematics for Cryptography Mathematics for Cryptography Douglas R. Stinson David R. Cheriton School of Computer Science University of Waterloo Waterloo, Ontario, N2L 3G1, Canada March 15, 2016 1 Groups and Modular Arithmetic 1.1

More information

Real Solving on Algebraic Systems of Small Dimension

Real Solving on Algebraic Systems of Small Dimension Real Solving on Algebraic Systems of Small Dimension Master s Thesis Presentation Dimitrios I. Diochnos University of Athens March 8, 2007 D. I. Diochnos (Univ. of Athens, µ Q λ ) Real Solving on Bivariate

More information

Chapter 4 Finite Fields

Chapter 4 Finite Fields Chapter 4 Finite Fields Introduction will now introduce finite fields of increasing importance in cryptography AES, Elliptic Curve, IDEA, Public Key concern operations on numbers what constitutes a number

More information

Bounding the number of affine roots

Bounding the number of affine roots with applications in reliable and secure communication Inaugural Lecture, Aalborg University, August 11110, 11111100000 with applications in reliable and secure communication Polynomials: F (X ) = 2X 2

More information

Polynomials. Chapter 4

Polynomials. Chapter 4 Chapter 4 Polynomials In this Chapter we shall see that everything we did with integers in the last Chapter we can also do with polynomials. Fix a field F (e.g. F = Q, R, C or Z/(p) for a prime p). Notation

More information