This preview has intentionally blurred sections. Sign up to view the full version.
View Full DocumentThis preview has intentionally blurred sections. Sign up to view the full version.
View Full Document
Unformatted text preview: 100 Chapter 8 Cyclic Codes Among the first codes used practically were the cyclic codes which were gen erated using shift registers. It was quickly noticed by Prange that the class of cyclic codes has a rich algebraic structure, the first indication that algebra would be a valuable tool in code design. The linear code C of length n is a cyclic code if it is invariant under a cyclic cyclic code shift: c = ( c ,c 1 ,c 2 ...,c n 2 ,c n 1 ) ∈ C if and only if ˜ c = ( c n 1 ,c ,c 1 ...,c n 3 ,c n 2 ) ∈ C . As C is invariant under this single right cyclic shift, by iteration it is invariant under any number of right cyclic shifts. As a single left cyclic shift is the same as n 1 right cyclic shifts, C is also invariant under a single left cyclic shift and hence all left cyclic shifts. Therefore the linear code C is cyclic precisely when it is invariant under all cyclic shifts. There are some obvious examples of cyclic codes. Thecode is certainly cyclic as is F n . Less trivially, repetition codes are cyclic. The binary parity check code is also cyclic, and this goes over to the sum0 codes over any field. Notice that this shift invariance criterion does not depend at all upon the code being linear. It is possible to define nonlinear cyclic codes, but that is rarely done. The history of cyclic codes as shift register codes and the mathematical structure theory of cyclic codes both suggest the study of cyclic invariance in the context of linear codes. 8.1 Basics It is convenient to think of cyclic codes as consisting of polynomials as well as codewords. With every word a = ( a ,a 1 ,...,a i ,...,a n 2 ,a n 1 ) ∈ F n 101 102 CHAPTER 8. CYCLIC CODES we associate the polynomial of degree less than n a ( x ) = a + a 1 x + ··· + a i x i + ··· + a n 1 x n 1 ∈ F [ x ] n . (We see here why in this chapter we index coordinates from 0 to n 1.) If c is a codeword of the code C , then we call c ( x ) the associated code polynomial . code polynomial With this convention, the shifted codeword ˜ c has associated code polynomial ˜ c ( x ) = c n 1 + c x + c 1 x 2 + ··· + c i x i +1 + ··· + c n 2 x n 1 . Thus ˜ c ( x ) is almost equal to the product polynomial xc ( x ). More precisely, ˜ c ( x ) = xc ( x ) c n 1 ( x n 1) . Therefore ˜ c ( x ) also has degree less than n and is equal to the remainder when xc ( x ) is divided by x n 1. In particular ˜ c ( x ) = xc ( x ) (mod x n 1) . That is, ˜ c ( x ) and xc ( x ) are equal in the ring of polynomials F [ x ] (mod x n 1), where arithmetic is done modulo the polynomial x n 1. If c ( x ) is the code polynomial associated with some codeword c of C , then we will allow ourselves to abuse notation by writing c ( x ) ∈ C ....
View
Full
Document
This note was uploaded on 06/13/2011 for the course CRYPTO 101 taught by Professor Na during the Spring '11 term at Harding.
 Spring '11
 NA

Click to edit the document details