Decoding error-correcting codes with Grbner bases Ruud Pellikaan - - PowerPoint PPT Presentation

decoding error correcting codes with gr bner bases
SMART_READER_LITE
LIVE PREVIEW

Decoding error-correcting codes with Grbner bases Ruud Pellikaan - - PowerPoint PPT Presentation

12 Decoding error-correcting codes with Grbner bases Ruud Pellikaan joint work with Stanislav Bulygin EMS Joint Math Weekend, March 1, 2008 / department of mathematics and computer science 1/39 1/39


slide-1
SLIDE 1

12 / department of mathematics and computer science

◭ ◭ ◭ ◮ ◮ ◮

1/39

◭ ◭ ◭ ◮ ◮ ◮

1/39

Decoding error-correcting codes with Gröbner bases

Ruud Pellikaan

joint work with

Stanislav Bulygin

EMS Joint Math Weekend, March 1, 2008

slide-2
SLIDE 2

◭ ◭ ◭ ◮ ◮ ◮

2/39

◭ ◭ ◭ ◮ ◮ ◮

2/39

Outline

  • Introduction, motivation
  • Cyclic codes
  • Gröbner bases
  • Unknown syndromes and MDS bases
  • Decoding up to half the minimum distance
  • Simulations and experimental results
  • Conclusion
slide-3
SLIDE 3

◭ ◭ ◭ ◮ ◮ ◮

3/39

◭ ◭ ◭ ◮ ◮ ◮

3/39

Motivation

  • Nearest neighbor decoding is NP-hard

(Berlekamp-McEliece-Van Tilborg)

  • Decoding up to half the designed minimum distance has

polynomial complexity for BCH, Goppa, Reed-Solomon, Algebraic geometry codes.

  • Question: Is decoding up to half the minimum distance
  • f polynomial complexity?
  • McEliece-Niderreiter crypto system assumes the answer is no.
  • Application of Gröbner bases theory to Coding theory.
slide-4
SLIDE 4

◭ ◭ ◭ ◮ ◮ ◮

4/39

◭ ◭ ◭ ◮ ◮ ◮

4/39

Fq is the finite field with with q = pe elements, p a prime. A subspace of Fn

q of dimension k is a

linear code over Fq of length n and dimension k. The weight of y ∈ Fn

q is

wt(y) = |{i : yi = 0}|.

slide-5
SLIDE 5

◭ ◭ ◭ ◮ ◮ ◮

5/39

◭ ◭ ◭ ◮ ◮ ◮

5/39

The minimum distance d of a linear code C is d = min{wt(c) : 0 = c ∈ C}. Parameters of C are denoted by [n, k, d] length n, dimension k and minimum distance d. Redundancy is r = n − k. Error-correcting capacity is ⌊(d − 1)/2⌋.

slide-6
SLIDE 6

◭ ◭ ◭ ◮ ◮ ◮

6/39

◭ ◭ ◭ ◮ ◮ ◮

6/39

The code C can be constructed via a generator matrix G, which is any k × n matrix with as rows a basis of C. Alternatively, one can see C as a null-space of an (n − k) × n parity-check matrix H, so c ∈ C ⇔ HcT = 0.

slide-7
SLIDE 7

◭ ◭ ◭ ◮ ◮ ◮

7/39

◭ ◭ ◭ ◮ ◮ ◮

7/39

The code C is cyclic, if (cn−1, c0, . . . , cn−2) is in C for every codeword c = (c0, . . . , cn−1) in C. (c0, . . . , cn−1) is represented by the polynomial c(x) =

n−1

  • i=0

cixi with xn = 1. So c(x) is an element of the factor ring Fq[x]/xn − 1. Cyclic codes over Fq of length n correspond one-to-one to ideals in this factor ring.

slide-8
SLIDE 8

◭ ◭ ◭ ◮ ◮ ◮

8/39

◭ ◭ ◭ ◮ ◮ ◮

8/39

Assume (q, n) = 1. Let F = Fqm be the splitting field of Xn − 1 over Fq. Then F has a primitive n-th root of unity, denoted by a. Let I be a subset of Zn. The cyclic code with defining set I is given by c(x) ∈ C if c(ai) = 0 for all i ∈ I. The complete defining set of C is the set of all i ∈ Zn such that c(ai) = 0 for all c(x) ∈ C. If c(ai) = 0, then c(aqi) = (c(ai))q = 0.

slide-9
SLIDE 9

◭ ◭ ◭ ◮ ◮ ◮

9/39

◭ ◭ ◭ ◮ ◮ ◮

9/39

If i is in a defining set of C, then (1, ai, . . . , a(n−1)i)cT = c0 + c1ai + · · · + cn−1a(n−1)i = c(ai) = 0. Hence (1, ai, . . . , a(n−1)i) is a parity check of C. Let {i1, . . . , ir} be a defining set of C. Then H =      1 ai1 a2i1 . . . a(n−1)i1 1 ai2 a2i2 . . . a(n−1)i2 . . . . . . . . . ... . . . 1 air a2ir . . . a(n−1)ir      . is a parity check matrix of C.

slide-10
SLIDE 10

◭ ◭ ◭ ◮ ◮ ◮

10/39

◭ ◭ ◭ ◮ ◮ ◮

10/39

Let y(x) = c(x) + e(x) c(x) the transmitted codeword, y(x) the received word, e(x) the error vector. Then s is the syndrome vector sT := HyT = H(cT + eT) = HcT + HeT = HeT, since HcT = 0.

slide-11
SLIDE 11

◭ ◭ ◭ ◮ ◮ ◮

11/39

◭ ◭ ◭ ◮ ◮ ◮

11/39

Define si = y(ai) for all i = 1, . . . , n. The vector s = yHT has entries (si1, . . . , sir). Then si = e(ai) for all i in the complete defining set. These si are called the known syndromes. The remaining si are called the unknown syndromes.

slide-12
SLIDE 12

◭ ◭ ◭ ◮ ◮ ◮

12/39

◭ ◭ ◭ ◮ ◮ ◮

12/39

If the error vector is of weight t, then e = (0, . . . , 0, ej1, 0, . . . , 0, ejl, 0, . . . , 0, ejt, 0, . . . , 0), where 1 ≤ j1 < · · · < jt ≤ n and ej = 0 if and only if j ∈ {j1, . . . , jt}. The error locations are z1 = aj1, . . . , zt = ajt

slide-13
SLIDE 13

◭ ◭ ◭ ◮ ◮ ◮

13/39

◭ ◭ ◭ ◮ ◮ ◮

13/39

The error-locator polynomial σ(Z) =

t

  • l=1

(Z − zl). Expanded σ(Z) = Zt + σ1Zt−1 + · · · + σt−1Z + σt, The coefficients σi are the elementary symmetric functions in the error locations z1, . . . , zt. σi = (−1)i

  • 1≤j1<j2<···<ji≤t

zj1zj2 . . . zji, 1 ≤ i ≤ t,

slide-14
SLIDE 14

◭ ◭ ◭ ◮ ◮ ◮

14/39

◭ ◭ ◭ ◮ ◮ ◮

14/39

The generalized Newton identities si + σ1si−1 + · · · + σtsi−t = 0 hold for all i. Suppose that the defining set of the cyclic code contains the 2t consecutive elements 1, 2, . . . , 2t. Algorithm by Peterson, Arimoto and Gorenstein-Zierler si + σ1si−1 + · · · + σtsi−t = 0, i = t + 1, . . . , 2t. are t linear equations in the variables σ1, . . . , σt with the known syndromes s1, . . . , s2t as coefficients.

slide-15
SLIDE 15

◭ ◭ ◭ ◮ ◮ ◮

15/39

◭ ◭ ◭ ◮ ◮ ◮

15/39

Generalized Newton identities in matrix form:      s1 s2 . . . st s2 s3 . . . st+1 . . . . . . ... . . . st st+1 . . . s2t−1           σt σt−1 . . . σ1      +      st+1 st+2 . . . s2t      = 0 s1, s2, . . . , s2t are known. σ1, σ2, . . . , σt are variables.

slide-16
SLIDE 16

◭ ◭ ◭ ◮ ◮ ◮

16/39

◭ ◭ ◭ ◮ ◮ ◮

16/39

Gaussian elimination solves this system of linear equations with complexity O(n3). This complexity was improved by the algorithm of Berlekamp-Massey and a variant of the Euclidean algorithm due to Sugiyama et al. Both these algorithms are more efficient and are basically equivalent, but they decode up to the BCH error-correcting capacity, which is often strictly smaller than the true capacity. They do not correct up to the true error-correcting capacity.

slide-17
SLIDE 17

◭ ◭ ◭ ◮ ◮ ◮

17/39

◭ ◭ ◭ ◮ ◮ ◮

17/39

Gröbner bases techniques were addressed to remedy this problem. These methods can be divided into the following categories:

  • Unknown syndromes by Berlekamp, Tzeng-Hartmann-Chien

and Augot-Charpin-Sendrier

  • Power sums by Cooper and Chen-Reed-Helleseth-Truong,

Orsini-Sala Our method is a generalization of the first one.

slide-18
SLIDE 18

◭ ◭ ◭ ◮ ◮ ◮

18/39

◭ ◭ ◭ ◮ ◮ ◮

18/39

Generalized Newton identities with unknown syndromes si + σ1si−1 + · · · + σtsi−t = 0, i = 1, . . . , n. σ1, σ2, . . . , σt are variables, si are known for i in the complete defining set, and the remaining si are unknown, these are treated as variables. It is a set of n quadratic equations in k + t variables.

slide-19
SLIDE 19

◭ ◭ ◭ ◮ ◮ ◮

19/39

◭ ◭ ◭ ◮ ◮ ◮

19/39

The theory of Gröbner basis is about solving systems of polynomial equations in several variables with coefficients in a field. It is as a common generalization of

  • Linear Algebra,

linear systems of equations in several variables,

  • Euclidean Algorithm,

polynomial equations of arbitrary degree in one variable.

slide-20
SLIDE 20

◭ ◭ ◭ ◮ ◮ ◮

20/39

◭ ◭ ◭ ◮ ◮ ◮

20/39

The polynomial equations are linearized by treating the monomials as new variables. The number of variables grows exponentially in the degree of the polynomials. The complexity of computing a Gröbner basis is doubly exponential in general, and exponential in our case of a finite set of solutions. The complexity of our algorithm is exponential. The complexity coefficient is measured under the assumption that the over-determined system of quadratic equations is semi-regular using the results of Bardet et al. applied to algorithm F5 of Faugère.

slide-21
SLIDE 21

◭ ◭ ◭ ◮ ◮ ◮

21/39

◭ ◭ ◭ ◮ ◮ ◮

21/39

Let b1, . . . , bn be a basis of Fn

q.

B is the n × n matrix with b1, . . . , bn as rows. The (unknown) syndrome of a word e with respect to B is the column vector u(e) = u(B, e) = BeT. with entries ui(e) = ui(B, e) = bi · e for i = 1, . . . , n. The matrix B is invertible. So the syndrome u(B, e) determines the error vector e uniquely: B−1u(B, e) = B−1BeT = eT.

slide-22
SLIDE 22

◭ ◭ ◭ ◮ ◮ ◮

22/39

◭ ◭ ◭ ◮ ◮ ◮

22/39

The coordinatewise star product of x, y ∈ Fn

q by

x ∗ y = (x1y1, . . . , xnyn). Then bi ∗ bj is a linear combination of the basis b1, . . . , bn. There are structure constants µijl ∈ Fq such that bi ∗ bj =

n

  • l=1

µijlbl.

slide-23
SLIDE 23

◭ ◭ ◭ ◮ ◮ ◮

23/39

◭ ◭ ◭ ◮ ◮ ◮

23/39

U(e) is the n × n matrix of (unknown) syndromes of a word e with entries uij(e) = (bi ∗ bj) · e. The entries of U(e) and u(e) are related by uij(e) =

n

  • l=1

µijlul(e). Lemma The rank of U(e) is equal to the weight of e.

slide-24
SLIDE 24

◭ ◭ ◭ ◮ ◮ ◮

24/39

◭ ◭ ◭ ◮ ◮ ◮

24/39

Let Br be the r × n sub matrix of B with b1, . . . , br as rows. b1, . . . , bn is called an MDS basis and B an MDS matrix if all the t × t sub matrices of Bt have rank t for all t = 1, . . . , n. Let Ct be the code with Bt as parity check matrix. Proposition B is an MDS matrix if and only if Ct is an [n,n-t,t+1] code for all t.

slide-25
SLIDE 25

◭ ◭ ◭ ◮ ◮ ◮

25/39

◭ ◭ ◭ ◮ ◮ ◮

25/39

MDS bases are known to exist if n ≤ q. Let x = (x1, . . . , xn) be n mutually distinct elements in Fq. Define bi = (xi−1

1

, . . . , xi−1

n ).

Then b1, . . . , bn with matrix B(x) are MDS and are called a Vandermonde basis and matrix, resp. If α ∈ F∗

q is an element of order n and xj = αj−1,

then we get a Reed-Solomon (RS) basis and matrix with bi ∗ bj = bi+j−1 and uij(e) = ui+j−1(e).

slide-26
SLIDE 26

◭ ◭ ◭ ◮ ◮ ◮

26/39

◭ ◭ ◭ ◮ ◮ ◮

26/39

Proposition Suppose that B is an MDS matrix. Let Uu,v(e) be the u × v sub matrix of U(e) consisting of the first u rows and v columns. Then rank(Unv(e)) = v if v ≤ wt(e), wt(e) if v > wt(e).

slide-27
SLIDE 27

◭ ◭ ◭ ◮ ◮ ◮

27/39

◭ ◭ ◭ ◮ ◮ ◮

27/39

Let C be an Fq-linear code of length n, dimension k, minimum distance d, and redundancy r = n − k. Choose a parity check matrix H of C. Let h1, . . . , hr be the rows of H. There are constants aij ∈ Fq such that hi =

n

  • j=1

aijbj. Let A be the r × n matrix with entries aij. Then H = AB.

slide-28
SLIDE 28

◭ ◭ ◭ ◮ ◮ ◮

28/39

◭ ◭ ◭ ◮ ◮ ◮

28/39

Let y = c + e be a received word with c ∈ C a code word and e an error vector. The syndromes of y and e with respect to H are equal and known si(y) := hi · y = hi · e = si(e) Expressed in the unknown syndromes of e with respect to B: si(y) =

n

  • j=1

aijuj(e).

slide-29
SLIDE 29

◭ ◭ ◭ ◮ ◮ ◮

29/39

◭ ◭ ◭ ◮ ◮ ◮

29/39

The system E(y) of equations in the variables U1, . . . , Un: n

l=1 ajlUl = sj(y) for j = 1, . . . , r.

It consists of r = n − k independent linear equations in n variables.

slide-30
SLIDE 30

◭ ◭ ◭ ◮ ◮ ◮

30/39

◭ ◭ ◭ ◮ ◮ ◮

30/39

Let Uij =

n

  • l=1

µijlUl The system E(t) in the variables U1, . . . , Un and V1, . . . , Vt: t

j=1 UijVj = Uit+1 for i = 1, . . . , n.

It consists of n quadratic equations in n + t variables.

slide-31
SLIDE 31

◭ ◭ ◭ ◮ ◮ ◮

31/39

◭ ◭ ◭ ◮ ◮ ◮

31/39

The system of equations E(t, y) is the union of E(t) and E(y). It consists of n − k linear equations in n variables and n quadratic equations in n + t variables. The linear equations are independent and used to eliminate n − k variables. Thus we get a system of n quadratic equations in k + t variables.

slide-32
SLIDE 32

◭ ◭ ◭ ◮ ◮ ◮

32/39

◭ ◭ ◭ ◮ ◮ ◮

32/39

Linear equations n

l=1 ajlUl = sj(y) for j = 1, . . . , r.

Quadratic equations in matrix form with B Reed-Solomon            U1 U2 . . . Ut U2 U3 . . . Ut+1 . . . . . . ... . . . Ut Ut+1 . . . U2t−1 Ut+1 Ut+2 . . . U2t . . . . . . ... . . . Un U1 . . . Ut                 V1 V2 . . . Vt      =            Ut+1 Ut+2 . . . U2t U2t+1 . . . Ut−1           

slide-33
SLIDE 33

◭ ◭ ◭ ◮ ◮ ◮

33/39

◭ ◭ ◭ ◮ ◮ ◮

33/39

Special case of cyclic code with defining set {1, 2, . . . , 2t} Uj = sj(y) for j = 1, . . . , 2t. Quadratic equations in matrix form with B Reed-Solomon              s1 s2 . . . st s2 s3 . . . st+1 . . . . . . ... . . . st st+1 . . . s2t−1 st+1 st+2 . . . s2t st+2 st+3 . . . U2t+1 . . . . . . ... . . . Un s1 . . . st                   V1 V2 . . . Vt      =              st+1 st+2 . . . s2t U2t+1 U2t+2 . . . st−1             

slide-34
SLIDE 34

◭ ◭ ◭ ◮ ◮ ◮

34/39

◭ ◭ ◭ ◮ ◮ ◮

34/39

Theorem Let B be an MDS matrix with structure constants µijl. Let H be a parity check matrix of the code C such that H = AB. Let y = c + e be a received word with c in C the codeword sent and e the error vector. Suppose that the weight of e is not zero and at most (d − 1)/2. Let t be the smallest positive integer such that E(t, y) has a solution (u, v) over some extension Fqm of Fq. Then wt(e) = t and the solution is unique satisfying u = u(e).

slide-35
SLIDE 35

◭ ◭ ◭ ◮ ◮ ◮

35/39

◭ ◭ ◭ ◮ ◮ ◮

35/39

Let J(t, y) be the ideal generated by E(t, y). Let 0 < wt(e) ≤ (d − 1)/2 and and let (u, v) be the unique solution of E(t, y). Then J(t, y) has multiplicity one and the Gröbner basis of J(t, y) is Ui − ui, i = 1, . . . , n, Vj − vj, j = 1, . . . , t.

slide-36
SLIDE 36

◭ ◭ ◭ ◮ ◮ ◮

36/39

◭ ◭ ◭ ◮ ◮ ◮

36/39

Experiments were done on an AMD Opteron Processor 242 (1.6MHz), 8GB RAM under Linux. The computations of Gröbner bases were realized in SINGULAR 3-0-1. Download the SINGULAR library Err.lib to experiment. Also MAGMA was used.

slide-37
SLIDE 37

◭ ◭ ◭ ◮ ◮ ◮

37/39

◭ ◭ ◭ ◮ ◮ ◮

37/39

Code

  • err. cap. mindist. GB dec. no. of rec. average

[25,11,4] 1 2.99 1.10 300 0.0037 [25,11,5] 2 21.58 2.89 300 0.0096 [25,8,5] 2 0.99 1.84 300 0.0061 [25,8,6] 2 3.38 1.79 300 0.0060 [25,8,7] 3 12.26 6.94 300 0.0231 [31,15] 2

  • 10.76

300 0.0359 [31,15] 3

  • 11.19

10 1.119

slide-38
SLIDE 38

◭ ◭ ◭ ◮ ◮ ◮

38/39

◭ ◭ ◭ ◮ ◮ ◮

38/39

  • no. of err.

[120,40] [120,30] [120,20] [120,10] [150,10] 2 1 1 1 1 1 1 1 1 1 1 3 22 7 1 1 1 1 1 1 1 1 4 172 64 5 14 1 1 1 1 1 1 5 804 228 31 36 1 1 1 1 1 1 6

  • 98

63 3 9 1 1 2 1 7

  • 471 144

7 15 1 1 2 1 8

  • 17

25 1 1 2 1 9

  • 43

38 1 1 2 1 10

  • 109

51 1 1 2 1 11

  • 392

84 1 1 3 1 12

  • 630

2 8 3 1 13

  • 2

9 4 1 14

  • 3

11 4 1 15

  • 7

13 5 20 16

  • 10

16 5 22 17

  • 22

19 8 26 18

  • 38

23 8 30

slide-39
SLIDE 39

◭ ◭ ◭ ◮ ◮ ◮

39/39

◭ ◭ ◭ ◮ ◮ ◮

39/39

Conclusion

  • Our method is a generalization of the decoding of cyclic codes.
  • Complexity of decoding with quadratic equations depends

very much on how well the MDS matrix B matches the code C.

  • Over-determined system of

n quadratic equations in k + t variables.

  • The complexity is O(n3) for a random code and n ≥ (k + 1)(t + 1).
  • Future research: semi-regular sequences and Faugère F5.
  • Gröbner bases theory ⇄ Coding theory.