Adaptive decoding for dense and sparse evaluation/interpolation codes
|
|
- Louisa Clark
- 5 years ago
- Views:
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] Clément PERNET M2-MIA Calcul Exact Outline Introduction Chinese Remainder Theorem Rational reconstruction Problem Statement Algorithms Applications Dense CRT codes Extension to
More informationSparse 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 informationOn 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 informationCryptographic 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 information4F5: 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 informationFast 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 informationChinese 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 informationOutput-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 informationOn 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 informationPublic-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 informationLecture 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 informationGreat 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 informationError 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 informationExact 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 informationChapter 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 informationComputing 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 informationSolving 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 informationTowards 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 informationAn 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 informationTowards 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 informationax 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 informationChapter 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 informationBerlekamp-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 informationReverse 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 informationFast 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 informationError 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 informationCoding 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 informationBasic 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 informationThe 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 informationBinary 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 informationComputing 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 informationIdentifying 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 informationLocal 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 informationReed-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 informationAlgebra 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 informationChapter 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 informationCongruences 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 informationProgressive 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 informationNOTES 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 informationECEN 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 informationAlgebraic 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 informationReed-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 informationFast 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
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 informationg(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 informationLecture 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 informationSkew 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 informationCPSC 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 informationHigh 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 informationFast 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 informationAlgebra 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 informationComputing 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 informationLecture 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 informationFast 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 informationOn 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 informationMATH 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 informationThe 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 informationPart 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 informationSpatial 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 informationA 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 informationDiscrete 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 informationOn 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 informationList 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 informationPolynomials, 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 informationSolving 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 informationError 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 informationOn 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 informationAlgorithms 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 informationCHAPMAN & 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 informationA 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 informationLECTURE 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 informationHOMEWORK 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 informationSummary 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 informationCoding 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 informationFactoring 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 informationDoubleSparseCompressedSensingProblem 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
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) [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 informationfor 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 informationCoding 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 informationRON 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 informationNotes 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 informationSecret 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 information3x + 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 informationFast 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 informationQuasi-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 informationAlgorithms 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 informationChapter 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 information1 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 informationToward 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 informationParallel 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 information18. 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 informationA 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 informationIrreducible 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 informationA 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 informationMathematics 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 informationReal 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 informationChapter 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 informationBounding 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 informationPolynomials. 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