BCH Codes Hsin-Lung Wu NTPU.

Slides:



Advertisements
Similar presentations
Finite Fields Rong-Jaye Chen. p2. Finite fields 1. Irreducible polynomial f(x)  K[x], f(x) has no proper divisors in K[x] Eg. f(x)=1+x+x 2 is irreducible.
Advertisements

Mathematics of Cryptography Part II: Algebraic Structures
Cryptography and Network Security, Finite Fields From Third Edition by William Stallings Lecture slides by Mustafa Sakalli so much modified..
Cryptography and Network Security
Chapter 4 Finite Fields. Introduction of increasing importance in cryptography –AES, Elliptic Curve, IDEA, Public Key concern operations on “numbers”
Cryptography and Network Security Chapter 4 Fourth Edition by William Stallings.
Chapter 4 – Finite Fields. Introduction will now introduce finite fields of increasing importance in cryptography –AES, Elliptic Curve, IDEA, Public Key.
Information and Coding Theory Finite fields. Juris Viksna, 2015.
1 Chapter 7– Introduction to Number Theory Instructor: 孫宏民 Room: EECS 6402, Tel: , Fax :
Cryptography and Network Security Chapter 4
Cryptography and Network Security Chapter 4 Fourth Edition by William Stallings.
DIGITAL COMMUNICATION Coding
6/20/2015 5:05 AMNumerical Algorithms1 x x1x
Chapter 11 Algebraic Coding Theory. Single Error Detection M = (1, 1, …, 1) is the m  1 parity check matrix for single error detection. If c = (0, 1,
Forward Error Correction Steven Marx CSC45712/04/2001.
Introduction Polynomials
Chapter 4 – Finite Fields Introduction  will now introduce finite fields  of increasing importance in cryptography AES, Elliptic Curve, IDEA, Public.
Finite fields.
M. Khalily Dermany Islamic Azad University.  finite number of element  important in number theory, algebraic geometry, Galois theory, cryptography,
Number Theory and Advanced Cryptography 1. Finite Fields and AES
FINITE FIELDS 7/30 陳柏誠.
Cyclic codes 1 CHAPTER 3: Cyclic and convolution codes Cyclic codes are of interest and importance because They posses rich algebraic structure that can.
CPSC 3730 Cryptography and Network Security
1 Cryptography and Network Security Third Edition by William Stallings Lecture slides by Lawrie Brown Chapter 4 – Finite Fields.
Information Security and Management 4. Finite Fields 8
Cryptography and Network Security Introduction to Finite Fields.
By: Hector L Contreras SSGT / USMC
Prelude to Public-Key Cryptography Rocky K. C. Chang, February
Monoids, Groups, Rings, Fields
Basic Number Theory Divisibility Let a,b be integers with a≠0. if there exists an integer k such that b=ka, we say a divides b which is denoted by a|b.
Chapter 4 – Finite Fields
Data Security and Encryption (CSE348) 1. Lecture # 12 2.
Linear Feedback Shift Register. 2 Linear Feedback Shift Registers (LFSRs) These are n-bit counters exhibiting pseudo-random behavior. Built from simple.
Great Theoretical Ideas in Computer Science.
Information Security Lab. Dept. of Computer Engineering 87/121 PART I Symmetric Ciphers CHAPTER 4 Finite Fields 4.1 Groups, Rings, and Fields 4.2 Modular.
Some Computation Problems in Coding Theory
Cryptography and Network Security Chapter 4. Introduction  will now introduce finite fields  of increasing importance in cryptography AES, Elliptic.
Digital Communications I: Modulation and Coding Course Term Catharina Logothetis Lecture 9.
Abstract Algebra 2004/9/29Yuh-Ming Huang, CSIE NCNU1 Introduction to Algebra Def 2.0 ( G, * ) G: a set A binary operation * on G : a * b  G  a,b  G.
Ref: Pfleeger96, Ch.31 Properties of Arithmetic Reference: Pfleeger, Charles P., Security in Computing, 2nd Edition, Prentice Hall, 1996.
15-499Page :Algorithms and Applications Cryptography II – Number theory (groups and fields)
Cryptography and Network Security Chapter 4 Fifth Edition by William Stallings Lecture slides by Lawrie Brown.
Multiplicative Group The multiplicative group of Z n includes every a, 0
CHAPTER 8 CHANNEL CODING: PART 3 Sajina Pradhan
Cryptography and Network Security Third Edition by William Stallings Lecture slides by Lawrie Brown.
CSCE 715: Network Systems Security Chin-Tser Huang University of South Carolina.
Page : 1 bfolieq.drw Technical University of Braunschweig IDA: Institute of Computer and Network Engineering  W. Adi 2011 Lecture-5 Mathematical Background:
Mathematical Background : A quick approach to Group and Field Theory
Chapter4: Finite Fields
Mathematical Background: Extension Fields
CS480 Cryptography and Information Security
Commutative Property of Addition
FIRST REVIEW.
Quick reviews / corrections
Error control coding for wireless communication technologies
Elliptic Curves.
CHAPTER 3: Cyclic and convolution codes
Cryptography Lecture 21.
Cryptography and Network Security
Finite Fields Rong-Jaye Chen.
I. Finite Field Algebra.
Cryptology Design Fundamentals
Cryptology Design Fundamentals
CHAPTER 3: Cyclic and convolution codes
296.3:Algorithms in the Real World
Mathematical Background : A quick approach to Group and Field Theory
Mathematical Background: Extension Finite Fields
Presentation transcript:

BCH Codes Hsin-Lung Wu NTPU

OUTLINE [1] Finite fields [2] Minimal polynomials [3] Cyclic Hamming codes [4] BCH codes [5] Decoding 2 error-correcting BCH codes

BCH Codes [1] Finite fields 1. Irreducible polynomial f(x)K[x], f(x) has no proper divisors in K[x] Eg. f(x)=1+x+x2 is irreducible f(x)=1+x+x2+x3=(1+x)(1+x2) is not irreducible f(x)=1+x+x4 is irreducible

BCH Codes 2. Primitive polynomial f(x) is irreducible of degree n > 1 f(x) is not a divisor of 1+xm for any m < 2n-1 Eg. f(x)=1+x+x2 is not a factor of 1+xm for m < 3 so f(x) is a primitive polynomial f(x)= 1+x+x2+x3+x4 is irreducible but 1+x5=(1+x)(1+x+x2+x3+x4) and m=5 < 24-1=15 so f(x) is not a primitive polynomial

BCH Codes 3. Definition of Kn[x] The set of all polynomials in K[x] having degree less than n Each word in Kn corresponds to a polynomial in Kn[x] Multiplication in Kn modulo h(x), with irreducible h(x) of degree n If we use multiplication modulo a reducible h(x), say, 1+x4 to define multiplication of words in K4, however: (0101)(0101)(x+x3)(x+x3) = x2+x6 = x2+x2 (mod 1+x4) = 0  0000 (K4-{0000} is not closed under multiplication.)

BCH Codes Furthermore each nonzero element in Kn can have an inverse if we use irreducible h(x). But if we use reducible h(x) then there exists nonzero element, which has no inverse. Why? Let f(x) is nonzero element and h(x) is irreducible then gcd(f(x),h(x))=1 and so exists a(x)f(x)+b(x)h(x)=1 => a(x)f(x)=1 mod h(x) and so a(x) is the inverse of f(x)

BCH Codes 4. Definition of Field (Kn,+,x) (Kn,+) is an abelian group with identity denoted 0 The operation x is associative a x ( b x c) = ( a x b ) x c There is a multiplicative identity denoted 1, with 10 1 x a = a x 1 = a,  a  Kn The operation x is distributive over + a x ( b + c ) = ( a x b ) + ( a x c ) It is communicative a x b = b x a,  a,b  Kn All non-zero elements have multiplicative inverses Galois Fields: GF(2r) For every prime power order pm, there is a unique finite field of order pm Denoted by GF(pm)

BCH Codes Example Let us consider the construction of GF(23) using the primitive polynomial h(x)=1+x+x3 to define multiplication. We do this by computing xi mod h(x): word  xi mod h(x) 100 1 010 x 001 x2 110 x3  1+x 011 x4  x+x2 111 x5  1+x+x2 101 x6  1+x2

BCH Codes 5. Use a primitive polynomial to construct GF(2n) Let   Kn represent the word corresponding to x mod h(x) i  xi mod h(x) m 1 for m<2n-1 since h(x) dose not divide 1+xm for m<2n-1 Since j = i for ji iff i = j-i i  j-i = 1 Kn\{0}={i | i = 0,1,…,2n-2}

BCH Codes 6.   GF(2r) is primitive  is primitive if m 1 for 1 m <2r-1 In other words, every non-zero word in GF(2r) can be expressed as a power of  Example Construct GF(24) using the primitive polynomial h(x)=1+x+x4. Write every vector as a power of   x mod h(x)(see Table 5.1 below) Note that 15=1. (0110)(1101)= 5.7= 12=1111

BCH Codes Table 5.1 Construction of GF(24) using h(x)=1+x+x4 word polynomial in x mod h(x) power of  0000 - 1000 1 0=1 0100 x  0010 x2 2 0001 x3 3 1100 1+x=x4 4 0110 x+x2=x5 5 0011 x2+x3=x6 6

BCH Codes Table 5.1(continue) Construction of GF(24) using h(x)=1+x+x4 word polynomial in x mod h(x) power of  1101 1+x+x3=x7 7 1010 1+x2=x8 8 0101 x+x3=x9 9 1110 1+x+x2 =x10 10 0111 x+x2+x3 =x11 11 1111 1+x+x2+x3 =x12 12 1011 1+x2+x3 =x13 13 1001 1+x3 =x14 14

BCH Codes [2] Minimal polynomials 1. Root of a polynomial  : an element of F=GF(2r), p(x)F[x]  is a root of a polynomial p(x) iff p()=0 2. Order of  The smallest positive integer m such that m=1  in GF(2r) is a primitive element if it has order 2r-1

BCH Codes 3. Minimal polynomial of  The polynomial in K[x] of smallest degree having  as root Denoted by m(x) m(x) is irreducible over K If f(x) is any polynomial over K such that f()=0, then m(x) is a factor of f(x) m(x) is unique m(x) is a factor of

BCH Codes Example Let p(x)=1+x3+x4, and let  be the primitive element in GF(24) constructed using h(x)=1+x+x4(see Table 5.1): p()=1+3+4=1000+0001+1100=0101=9  is not a root of p(x). However p(7)=1+(7)3+(7)4=1+21+28=1+6+13 =1000+0011+1011=0000=0 7 is a root of p(x).

BCH Codes 4. Finding the minimal polynomial of  Reduce to find a linear combination of the vectors {1, , 2,…, r}, which sums to 0 Any set of r+1 vectors in Kr is dependent, such a solution exists Represent m(x) by mi(x) where =I eg. Find the m(x), =3, GF(24) constructed using h(x)=1+x+x4

BCH Codes Useful facts: f(x)2=f(x2) If f()=0, then f(2)=(f())2=0 If  is a root of f(x), so are , 2, 4,…, The degree of m(x) is |{, 2, 4,…, }|

BCH Codes Example Find the m(x), =3, GF(24) constructed using h(x)=1+x+x4 Let m(x)= m3(x)=a0+a1x+a2x2+a3x3+a4x4 then we must find the value for a0,a1,…,a4 {0,1} m()=0=a01+a1+a22+a33+a44 =a00+a13+a26+a39+a412 0000=a0(1000)+a1(0001)+a2(0011)+a3(0101)+a4(1111)  a0=a1=a2=a3=a4=1 and m(x)=1+x+x2+x3+x4

BCH Codes Example Let m5(x) be the minimal polynomials of =5, 5GF(24) Since {, 2, 4, 8}={5 , 10}, the roots of m5(x) are 5 and 10 which means that degree (m5(x))=2. Thus m5(x)=a0+a1x+a2x2: 0=a0+a1 5+a2 10 =a0(1000)+a1 (0110)+a2 (1110) Thus a0=a1=a2=1 and m5(x)=1+x+x2

BCH Codes Table 5.2: Minimal polynomials in GF(24) constructed using 1+x+x4 Element of GF(24) Minimal polynomial 1 , 2, 4, 8 3, 6, 9, 12 5, 10 7, 11, 13, 14 x 1+x 1+x+x4 1+x+x2+x3+x4 1+x+x2 1+x3+x4

BCH Codes [3] Cyclic Hamming codes 1. Parity check matrix The parity check matrix of a Hamming code of length n=2r-1 has its rows all 2r-1 nonzero words of length r  is a primitive element of GF(2r) H is the parity check ma- trix of a Hamming code of length n=2r-1

BCH Codes 2. Generator polynomial For any received word w=w0w1…wn-1 wH=w0+w1+…+wn-1n-1  w() w is a codeword iff  is a root of w(x) m(x) is its generator polynomial Theorem 5.3.1 A primitive polynomial of degree r is the generator polynomial of a cyclic Hamming code of length 2r-1

BCH Codes Example: Let r=3, so n=23-1=7. Use p(x)=1+x+x3 to construct GF(23), and 010 as the primitive element. Recall that i  xi mod p(x). Therefore a parity check matrix for a Hamming code of length 7 is

BCH Codes 3. Decoding the cyclic Hamming code w(x)=c(x)+e(x), where c(x) is a codeword, e(x) is the error w(β)=e(β) e has weight 1, e(β)= βj, j is the position of the 1 in e c(x)=w(x)+xj

BCH Codes Example: Suppose GF(23) was constructed using 1+x+x3. m1(x)=1+x+x3 is the generator for a cyclic Hamming code of length 7. Suppose w(x)=1+x+x3+x6 is received. Then w()=1+ 2+ 3+ 6 =100+001+110+101 =110 = 3 e(x)= x3 and c(x)=w(x)+x3=1+x2+x6

BCH Codes [4] BCH codes 1. BCH: Bose-Chaudhuri-Hocquengham Admit a relatively easy decoding scheme The class of BCH codes is quite extensive For any positive integers r and t with t  2r-1-1, there is a BCH codes of length n=2r-1 which is t-error correcting and has dimension k  n-rt

BCH Codes 2. Parity check matrix for the 2 error-correcting BCH The 2 error-correcting BCH codes of length 2r-1 is the cyclic linear codes, generated by g(x)= , r  4 The generator polynomial: g(x)=m1(x) m3(x) Degree(g(x))=2r, the code has dimension n-2r=2r-1-2r

BCH Codes Example:  is a primitive element in GF(24) constructed with p(x) = 1+x+x4. We have that m1(x)=1+x+x4 and m3(x) = 1+x+x2+x3+x4. Therefore g(x)= m1(x) m3(x)= 1+x4+x6+x7+x8 is the generator for a 2 error-correcting BCH code of length 15

BCH Codes 3. The parity check matrix of C15 (distance d=5) (Table 5.3)

BCH Codes [5] Decoding 2 error-correcting BCH codes 1. Error locator polynomial w(x): received word syndrome wH=[w(),w(3)]=[s1,s3] H is the parity check matrix for the (2r-1, 2r-2r-1, 5) 2 error-correcting BCH code with generator g(x)=m1(x) m3(x) wH=0 if no errors occurred If one error occurred, the error polynomial e(x)=xi wH=eH=[e(), e(3)]=[i, 3i]=[s1,s3],

BCH Codes If two errors occurred, say in positions i and j, ij, e(x)=xi+xj, wH=eH=[e(), e(3)] =[i+j, 3i+3j]=[s1,s3] The error locator polynomial:

BCH Codes Example: Let ww(x) be a received word with syndromes s1=0111=w() and s3=1010= w(3), where w was encoded using C15. From Table 5.1 we have that s1 11 and s3 8. Then We form the polynomial x2+11x+2 and find that it has roots 4 and 13. Therefore we can decide that the most likely errors occurred in positions 4 and 13, e(x)= x4+x13, the most likely error pattern is 0000100000000010

BCH Codes 2. Decoding algorithm of BCH codes Calculate the syndrome wH=[s1,s3]=[w(),w(3)] If s1=s3=0, no errors occurred If s1=0 and s30, ask for retransmission If (s1)3=s3, a single error at position i, where s1=i From the quadratic equation: (*) If equation(*) has two distinct roots i and j, correct errors at positions i and j If equation(*) does not have two distinct roots in GF(2r), conclude that at least three errors occurred

BCH Codes Example: Assume w is received and the syndrome is wH=01111010  [11,8]. Now In this case equation(*) is x2+11x+2=0 which has roots 4 and 13. Correct error in positions i=4 and j=13. Assume the syndrome is wH=[w(),w(3)]=[3, 9]. Then (s1)3= (3)3=s3. A single error at position i=3. e(x)=x3 is the error polynomial.

BCH Codes Example Assume w=110111101011000 is received. The syndrome is wH=01110110  [11, 5]= [s1,s3]. Now So in this case, (*) becomes x2+11x+0=0.

BCH Codes So in this case, (*) becomes x2+11x+0=0. Trying the elements of GF(24) in turn as possible roots, we come to x= 7 and find (7)2+117+0=14+3+0 1001+0001+1000=0000 Now 7j=1=15, so j=8, is the other root. Correct error at positions i=7 and j=8; u=000000011000000 is the most likely error pattern. We decode v=w+u=110111110011000 as the word sent.

BCH Codes Example: Assume a codeword in C15 is sent, and errors occur in positions 2, 6 and 12. Then the syndrome wH is the sum of rows 2, 6, and 12 of H, where w is the word received. Thus wH=00100011+00110001+11110011 = 11100001  [10, 3]= [s1,s3] Now (*) becomes x2+10x+4=0, no roots in GF(24). Therefore IMLD for C15 concludes correctly, that at least three errors occurred.