# An Introduction to Galois Fields and Reed-Solomon Coding

Save this PDF as:

Size: px
Start display at page:

## Transcription

1 An Introduction to Galois Fields and Reed-Solomon Coding James Westall James Martin School of Computing Clemson University Clemson, SC October 4, Fields A field is a set of elements on which the operations of addition and multiplication are defined. The operations are commutative (ab = ba and a+b = b+a), associative (a(bc) = (ab)c, and a + (b + c) = (a + b) + c) and closed. Closure impliles that the sum and product of any two elements in the field are also elements of the field. A distributive law relates multiplication and addition: a(b + c) = ab + ac. A field also has additive and multiplicative identities (0 and 1) such that a + 0 = a and 1a = a for any element in the field. Elements of a field must have additive and multiplicative inverses. The additive inverse of a is an element b such that a+b = 0 and the multiplicative inverse of a is an element c such that ac = 1. The existence of these inverses implicitly defines the operations of subtraction and division. The value of a c is a + ( c) where c is the additive inverse of c. Similarly, the value of a/c is a c 1 where c 1 is the multiplicative inverse of c. Division by 0, the additive identity, is not defined. This implies that the additive and multiplicative identities are not the same (0 1), and also that ab = 0 if and only if either a = 0 or b = 0. 1

2 1.1 Finite fields Well known fields having an infinite number of elements include the real numbers, Ê, the complex numbers, and the rational numbers É. However, the integers under the usual arithmetic,, do not constitute a field because only +1 and -1 have multiplicative inverses Table 1: Addition table for Table 2: Multiplication table for 3 Although the real, complex, and rational fields all have an infinite number of elements finite fields also exist. The symbol p refers the integers {0, 1,.., p 1} using modulo p arithmetic. p is a field if and only if p is a prime number. Regardless of whether or not p is prime each element x has an additive inverse with the value p x. This follows from the fact that (x + p x = p = 0 mod p). If p is prime then each element x also has a multiplicative inverse y whose value is chosen so that xy = 1 mod p. There is no simple formula for computing y. For small p, a simple O(p) algorithm is to multiply a by 2, 3,...p 1 halting when the result is modp is 1. For large values of p a variant of Euclid s greatest common divisor algorithm is more efficient. If p is not a prime number, then it is possible to factor p as p = ab where 1 < a, b < p. Furthermore the product ab = 0 mod p. In this case a and b are called divisors of zero. Fields satisfy a cancellation law: ac = ad implies c = d, and the following argument shows that a fields cannot have divisors of zero. Suppose ab = 0 for a 0. Since a0 = 0 we can rewrite ab = 0 as ab = a0 and thus by the cancellation law b = 0. This shows that in any field if ab = 0, then either a = 0 or b = 0. Therefore, p for p not prime is not a field. Tables 1, 2, 3, and 4 illustrate addition and multiplication in 3 and 7. For any such finite field it will always be the case the each row of the addition table 2

3 Table 3: Addition table for Table 4: Multiplication table for 7 is a permutation of the values {0, 1,..., p 1} and each row of the multiplication table except the first row will also be a permutation of the elements of the field. As noted previously, a value of 1 in the multiplication table identifies a pair of multiplicative inverses. 1.2 Galois fields If p is a prime number, then it is also possible to define a field with p m elements for any m. These fields are named for the great French algebraist Evariste Galois who was killed in a duel at age 20. They have many applications in coding theory. The fields, denoted GF(p m ), are comprised of the polynomials of degree m 1 over the field p. These polynomials are expressed as a m 1 x m a 1 x 1 +a 0 x 0 where the coefficients a i take on values in the set {0, 1,..., p 1}. When employed in coding applications p is commonly 2 and thus the coefficients {a 0,..., a m 1 } are taken from the binary digits {0, 1}. In coding applications, for m 32, it is common to represent an entire polynomial in GF(2 m ) as a single integer value in which individual bits of the integer represent the coefficients of the polynomial. The least significant bit of the integer represents the a 0 coefficient. 3

5 1.2.3 The generating polynomial of GF(2 m ) The polynomials of degree m 1 are not closed under multiplication. For example, x m 1 times x m 1 is x 2m 2. Thus for all m > 1, the degree of the product may exceed than m 1. Our objective is to build a field of 2 m elements in which the operations of addition and multiplication are based upon polynomial addition and multiplication. Thus, we need a mechanism for ensuring that multiplication is closed. To do this we resort again to modular arithmetic. A generating polynomial for GF(p m ) is a degree m polynomial that is irreducible over p. This simply means that it cannot be factored. For example x is not irreducible over 2 because it can be factored as (x 2 +x+1)(x+1). Note that this factorization works only over 2 and not Polynomial addition and multiplication in GF(2 3 ) If an irreducible polynomial g(x) can be found, then polynomial multiplication can be defined as standard polynomial multiplication modulo g(x). That is, to compute the product a(x)b(x) first compute p(x) = a(x)b(x) and then transform p(x) back into the set of polynomials of degree m 1 by taking the remainder when p(x) is divided by g(x). If p(x) already has degree no larger than m 1, then the remainder is simply p(x), but if this is not the case, the remainder is guaranteed to have degree no higher than m 1. Note that the requirement that g(x) be irreducible is implicit in this definition of multiplication. Suppose g(x) is not irreducible. Then there exist two polynmials a(x) and b(x) such that g(x) = a(x)b(x). However, g(x) = 0modg(x). Hence a(x) and b(x) are divisors of zero, and it has previously been shown that fields may not contain zero divisors. It is the case that both x 3 +x+1 and x 3 +x 2 +1 are irreducible over 2. Therefore, either one can be used to generate a field of 8 elements representing polynomials of degree 2. The mapping of coefficients to numbers for x 3 + x + 1 is given in the table 7. We will consider g(x) = x 3 + x + 1 in the following examples. Our objective is to generate addition and multiplication tables for GF(2 3 ) that are analogous to 5

6 Dec Bin Poly x x x x x 2 + x x 2 + x + 1 Table 7: Polynomial representation those we developed for the field 7. Addition can be performed by inspection. For example represents (x + 1) + (x 2 + 1) = x 2 + x which is 6. So = 6. An equivalent approach is to remember that polynomial addition over 2 is defined by the xor operation. So = 011 xor 101 = 110 = 6. Code to implement addition over GF(2 m ) for m less than or equal to the word size of the computer is trival. int gf_add( int v1, int v2) { return(v1 ^ v2); } The gf add() function was used to produce the following addition table Table 8: Addition table for GF(2 3 ) Multiplication cannot be represented so simply. Consider the problem of multiplying 5 6. This is (x 2 + 1)(x 2 + x) = x 4 + x 3 + x 2 + x. Since this result has terms of higher order than 2, it is necessary to reduce the result modulo g(x). This can be done via long division as shown. The reduction of x 4 + x 3 + x 2 + x is x

7 <-- (x + 1) We can consider problem of modular reduction of degree from an alternate but equivalent perspective. Suppose we apply the modular mapping to x 3 itself. That is, we wish to know what is the remainder when x 3 is divided by x 3 + x (x + 1) Here we see that the remainder is (x + 1). In general the remainder when the high order term of the generator is divided by the generator itself will always be comprised of the generator absent its high order term. This also follows from the fact that g(x) = q(x) + r(x). The quotient with the high order term is divided by the generator is always the high order term, and the remainder is thus necesssarily the remainder of the terms. Thus, when an x 3 term appears in the product in may be replaced by x + 1. Since x 4 = x(x 3 ) = x(x+1) = x 2 +x, an x 4 term in the product can be replaced by x 2 +x. This reduction strategy may be used manually in place of long division. Applying the strategy to the answer we found above we observe that x 4 + x 3 + x 2 + x = x 2 + x + x x 2 + x = x + 1. The full process of multiplication followed by reduction can be coded reasonably succinctly as: int gf_mult( 7

8 int m, // GF(2 ^ M) int poly, // low order terms of g(x) int v1, int v2) { int prod = 0; int k; int mask; /* Multiply phase */ for (k = 0; k < m; k++) { if (v1 & 1) { prod ^= (v2 << k); } v1 >>= 1; if (v1 == 0) break; } /* Reduce phase */ mask = 1 << m; mask <<= m - 2; for (k = m - 2; k >= 0; k--) { if (prod & mask) { prod &= ~mask; prod ^= (poly << k); } mask >>= 1; } 8

9 } return(prod); The multiply phase models manual polynomial multiplication by performing successive adds of shifted terms of the multiplicand if the corresponding coefficient in of the multiplier is not 0. The reduce phase models the long division algorithm, or, equivalently, the replacement algorithm. The gf mult() function was used to generate the following multiplication table Table 9: Multiplication table for GF(2 3 ) 1.3 Fast multiplication using logarithms Any element of GF(2 m ) may be used as a logarithmic base. We will use base 2 in the following example in GF(2 3 ). As usual log 2 (k) = j if and only if 2 j = k, and then it is also true that log2 1 (j) = k. It is also the case that, as usual, log 2(0) is undefined and for a more subtle reason so is log2 1 (2m 1). The latter follows from the fact that in GF(2 m ) j 2m 1 = 1 for any non-zero j and log 2 (1) has already been defined to be 0. The following simple algorithm can be used to construct the table of logarithms shown below. As expected, the inverse logarithm table is simply a table of powers of 2. /* Construct the log and inverse log table */ gf->ilog[0] = 1; prod = 2; for (i = 1; i < gf->size - 1; i++) { gf->ilog[i] = prod; gf->log[prod] = i; 9

10 } prod = gf_mult(gf, prod, 2); i log 2 (i) log Table 10: Logarithm tables for GF(2 3 ) The following examples show how to use the tables to perform multiplication. As usual ab = log2 1 (log 2(a) + log 2 (b)). Thus, to multiply 3 4, we first see that log 2 (3) = 3 and log 2 (4) = 2. To add the logarithms, we use normal integer addition not xor because we are operating on exponents and not elements of the field, and we find = 5. Finally, we see log2 1 (5) = 7. We can verify from table 9 that 7 is the correct answer. Since we are using integer arithmetic to add the exponents, we can get a value too large to use as an index into the inverse logarithm table. As previously noted n 2m 1 = 1 for all values, n, in the Galois field. Thus successive exponentiation repeats itself cyclically with a period of 2 m 1. Therefore, when the sum of exponents is 2 m 1, then 2 m 1 is subtracted from the sum. This maps it into the correct range to be used as a table lookup key. For example, in computing 5 6 we obtain logarithms 6 and 4 whose sum is 10. Subtracting 7 from 10 yields 3. The inverse log of 3 is 3 which is the correct product. 2 Reed-Solomon Codes Reed-Solomon codes can be used to perform a form of forward error correction FEC in computer networks. The specific type of correction is called erasure correction. The objective of erasure correction is to recover from loss of entire packets. They can be used in conjunction with traditional error detecting cyclic codes by simply treating packets with errors as lost. The encoding and decoding employs arithmetic in the domain GF(2 m ). We will use m = 3 as an example. GF(2 3 ) consists of 8 elements. Each element is a polynomial of degree 2 and is encoded in an 3 bit value. We will use the generator g(x) = x 3 + x

11 The value, m, is the word size of the encoding. Each packet is subdivided into words of length m bits and check values must be computed for each word. Therefore, in the real world word sizes of 8, 16, or 32 instead of 3 would normally be used. The packet stream that is actually transmitted consists of FEC groups containing both data packets and check packets used in reconstructing lost data packets. Data packets are fixed size and check packets have the same length as data packets. A FEC group consists of n data and k check packets where n+k <= 2 m. Successful receipt of any n packets from the combination data and check packets is sufficient to permit reconstruction of the n data packets. The algorithm requires an encoding/decoding matrix of n + k rows and n columns having the properties that (1) the first n rows constitute an n n identity matrix, I, and (2) any n of the n + k rows are linearly independent. Property (2) ensures that any collection of exactly n rows constitutes an invertible n n matrix. The required matrix is derived from Vandermonde matrix which is known to possess property (2). For arbitrary, n and m this matrix has the following form. The fact that the largest value in GF(2 m ) is 2 m 1 necessarily constrains the number of rows and columns in the matrix (n + k) to be less than or equal to 2 m (n 1) (n 1) (n 1) (2 m 1) 0 (2 m 1) 1 (2 m 1) 2... (2 m 1) (n 1) For the specific choices of m = 3, n = 3 and k = 5, the Vandermonde matrix has the following form. 11

12 V = This matrix is known to possess property(2) but clearly does not possess property (1). Nevertheless, by a series of linear transformations in which a multiple of one column is added to another, we can obtain property (1) while preserving property (2). For example, if we add column 1 to column 0 and column 2, then row 1 is transformed to have the desired values To fix up row 2 of the matrix we multiply column 2 by the multiplicative inverse of 4 and then add column 2 to 1 and 2 column 2 to column 1. This process can be continued until the first n rows constitute an identity matrix. We will call this transformed matrix D. D = The encoding algorithm For simplicity we will assume that each data packet consists of only one 3 bit word. If an actual packet consisted of 12,000 bits, the process described below would have to be repeated 4,000 times, once for each data word in the packet. 12

13 The bottom k rows of the transformed Vandermonde matrix, D, constitute the encoding matrix E that is used to create the k check packets. E = The matrix E has dimension k n where k is the number of check packets and n is the number of data packets. When the n 1 vector of data words is multiplied by E as shown an k 1 vector of check values is produced. In this example we assume that the 3 data words have the values {4, 5, 6} = Each of the 8 packets must also carry an identifier that allows the recipient to determine exactly which packets of a FEC group have been received. The values contained in the 8 packets that are sent are thus: {(0, 4), (1, 5), (2,6),(3,3),(4,5),(5,4), (6,3), (7,2)}. 2.2 The error correction algorithm The correction algorithm is then straightforward. Suppose a collection of n packets including both data and check packets have been received. We extract the n rows of the D matrix corresponding the n recieved packets. We call this n n matrix D and by property (2) it is invertible over G(2 m ). We invert D to obtain D 1. Then the product of D 1 and the received mixture of data words and check words recovers the data words d 0,...d n 1. 13

14 Continuing with our numeric example, suppose only packets 3, 4, and 5 containing the first three check values {3, 5, 4} are received. The receiver doesn t know what the data values are so we will call them d 0, d 1, and d 2. Nevertheless the receiver must know what values of m, n and k are in use. Thus, the receiver can construct a matrix D consisting of rows of the modified Vandermonde matrix that correspond to the packets that were received. D = Because the receiver also knows the algorithm by which the check packets were constructed, the receiver knows that: d 0 d 1 d 2 = Inverting D yields D 1 D 1 = Multiplying the received check values by D 1 recovers the original values = Analysis of coding overhead Three parameters determine the cost of the FEC procedure. The value of m defines the Galois field as GF(2 m ) and also defines the word size of the encoding to be m. 14

15 For example, a packet having 2 10 bits, consists of 256 words over GF(2 4 ) but only 64 words of GF(2 16 ). The size of a FEC group is n +k where n is the number of data packets in a group and k is the number of check packets. The matrix D consists of n + k rows and n columns. The encoding matrix E that is used to generate the checksums has dimension k rows and n columns Check packet generation Thus the generation of each word of the checksums requires multiplication of an k n matrix times a vector of length n. This requires n multiplies and n 1 sums per row or a total of kn multiplies and kn 1 sums per packet word. If multiplication is implemented as logarithm table lookups followed by addition and inverse logarithm lookup, multiplication can be done in constant time for values of M for which tables of size 2 m are practical. In this case each multiplication can be done as one or two integer additions and two table lookups. Note that doubling of both k and n which keeps the fraction of FEC packets constant quadruples the cost of generating the checksums. This is a strong motivator for the use of an FEC group interleaver as opposed to a large value of n for for additional robustness against error bursts Recovery from errors Error recovery begins with the inversion of the n n matrix comprised of rows from the D matrix corresponding to the n packets in the FEC group that were actually received. In the worse case this inversion is O(n 3 ). In practice the cost of the inversion is proportional to the number of check rows that must replace identity rows in the decode matrix. When the inversion has been completed, it is necessary to multiply the received vector of n words by the n n inverse matrix for each word in the packet. As noted above this requires O(n 2 ) multiplies and sums. 15

16 2.4 Example Assuming GF(2 16 ), n = 6, and k = 2, generation of the 2 check packets requires multiplies and a similar number of additions. Decoding requires no overhead if no packet is lost. Furthermore, since there are only 2 check words in each each FEC group of 8 words, at most two rows need be transformed by column operations in the inversion process. 16

### ASS.PROF.DR Thamer Information Theory 4th Class in Communication. Finite Field Arithmetic. (Galois field)

Finite Field Arithmetic (Galois field) Introduction: A finite field is also often known as a Galois field, after the French mathematician Pierre Galois. A Galois field in which the elements can take q

### The finite field with 2 elements The simplest finite field is

The finite field with 2 elements The simplest finite field is GF (2) = F 2 = {0, 1} = Z/2 It has addition and multiplication + and defined to be 0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 1 + 1 = 0 0 0 = 0 0 1 = 0

### Elementary Number Theory We begin with a bit of elementary number theory, which is concerned

CONSTRUCTION OF THE FINITE FIELDS Z p S. R. DOTY Elementary Number Theory We begin with a bit of elementary number theory, which is concerned solely with questions about the set of integers Z = {0, ±1,

### Copy in your notebook: Add an example of each term with the symbols used in algebra 2 if there are any.

Algebra 2 - Chapter Prerequisites Vocabulary Copy in your notebook: Add an example of each term with the symbols used in algebra 2 if there are any. P1 p. 1 1. counting(natural) numbers - {1,2,3,4,...}

### Quotient Rings and Field Extensions

Chapter 5 Quotient Rings and Field Extensions In this chapter we describe a method for producing field extension of a given field. If F is a field, then a field extension is a field K that contains F.

### SOLVING POLYNOMIAL EQUATIONS

C SOLVING POLYNOMIAL EQUATIONS We will assume in this appendix that you know how to divide polynomials using long division and synthetic division. If you need to review those techniques, refer to an algebra

### Finite Fields and Error-Correcting Codes

Lecture Notes in Mathematics Finite Fields and Error-Correcting Codes Karl-Gustav Andersson (Lund University) (version 1.013-16 September 2015) Translated from Swedish by Sigmundur Gudmundsson Contents

### 1.3 Polynomials and Factoring

1.3 Polynomials and Factoring Polynomials Constant: a number, such as 5 or 27 Variable: a letter or symbol that represents a value. Term: a constant, variable, or the product or a constant and variable.

### The mathematics of RAID-6

The mathematics of RAID-6 H. Peter Anvin 1 December 2004 RAID-6 supports losing any two drives. The way this is done is by computing two syndromes, generally referred P and Q. 1 A quick

### TCOM 370 NOTES 99-9 CYCLIC CODES, AND THE CRC (CYCLIC REDUNDANCY CHECK) CODE

TCOM 370 NOTES 99-9 CYCLIC CODES, AND THE CRC (CYCLIC REDUNDANCY CHECK) CODE 1. CYCLIC CODES Cyclic codes are a special type of linear block code that are popular because they are very effective for error

### Mathematics of Cryptography Modular Arithmetic, Congruence, and Matrices. A Biswas, IT, BESU SHIBPUR

Mathematics of Cryptography Modular Arithmetic, Congruence, and Matrices A Biswas, IT, BESU SHIBPUR McGraw-Hill The McGraw-Hill Companies, Inc., 2000 Set of Integers The set of integers, denoted by Z,

### Introduction to Computer Networks. Codes - Notations. Error Detecting & Correcting Codes. Parity. Two-Dimensional Bit Parity

Introduction to Computer Networks Error Detecting & Correcting Codes Codes - Notations K bits of data encoded into n bits of information. n-k bits of redundancy The information data is of length K The

### The mathematics of RAID-6

The mathematics of RAID-6 H. Peter Anvin First version 20 January 2004 Last updated 20 December 2011 RAID-6 supports losing any two drives. syndromes, generally referred P and Q. The way

### STUDY GUIDE FOR SOME BASIC INTERMEDIATE ALGEBRA SKILLS

STUDY GUIDE FOR SOME BASIC INTERMEDIATE ALGEBRA SKILLS The intermediate algebra skills illustrated here will be used extensively and regularly throughout the semester Thus, mastering these skills is an

### BINARY CYCLIC CODES. Clearly, cyclically shifting v i places to the right is equivalent to cyclically shifting v n-i places to the left.

BINARY CYCLIC CODES Binary Cyclic codes was first studied by Prange in 1957. Cyclic codes form an important subclass of linear codes. These codes are attractive for two reasons: first, encoding and syndrome

### Lecture 6: Finite Fields (PART 3) PART 3: Polynomial Arithmetic. Theoretical Underpinnings of Modern Cryptography

Lecture 6: Finite Fields (PART 3) PART 3: Polynomial Arithmetic Theoretical Underpinnings of Modern Cryptography Lecture Notes on Computer and Network Security by Avi Kak (kak@purdue.edu) January 29, 2015

### Algebra Unpacked Content For the new Common Core standards that will be effective in all North Carolina schools in the 2012-13 school year.

This document is designed to help North Carolina educators teach the Common Core (Standard Course of Study). NCDPI staff are continually updating and improving these tools to better serve teachers. Algebra

### Congruences. Robert Friedman

Congruences Robert Friedman Definition of congruence mod n Congruences are a very handy way to work with the information of divisibility and remainders, and their use permeates number theory. Definition

### 9. POLYNOMIALS. Example 1: The expression a(x) = x 3 4x 2 + 7x 11 is a polynomial in x. The coefficients of a(x) are the numbers 1, 4, 7, 11.

9. POLYNOMIALS 9.1. Definition of a Polynomial A polynomial is an expression of the form: a(x) = a n x n + a n-1 x n-1 +... + a 1 x + a 0. The symbol x is called an indeterminate and simply plays the role

### Problem Set 7 - Fall 2008 Due Tuesday, Oct. 28 at 1:00

18.781 Problem Set 7 - Fall 2008 Due Tuesday, Oct. 28 at 1:00 Throughout this assignment, f(x) always denotes a polynomial with integer coefficients. 1. (a) Show that e 32 (3) = 8, and write down a list

MODULAR ARITHMETIC KEITH CONRAD. Introduction We will define the notion of congruent integers (with respect to a modulus) and develop some basic ideas of modular arithmetic. Applications of modular arithmetic

### Definition: Group A group is a set G together with a binary operation on G, satisfying the following axioms: a (b c) = (a b) c.

Algebraic Structures Abstract algebra is the study of algebraic structures. Such a structure consists of a set together with one or more binary operations, which are required to satisfy certain axioms.

### Math Review. for the Quantitative Reasoning Measure of the GRE revised General Test

Math Review for the Quantitative Reasoning Measure of the GRE revised General Test www.ets.org Overview This Math Review will familiarize you with the mathematical skills and concepts that are important

### Detecting Bit Errors LECTURE 7

MIT 6.02 DRAFT Lecture Notes Fall 2010 (Last update: October 7, 2010) Comments, questions or bug reports? Please contact 6.02-staff@mit.edu LECTURE 7 Detecting Bit Errors These lecture notes discuss some

### Error Detection. two copies of data receiver compares copies equal then no error. probability of same bits corrupted low.

Error Detection Add redundant bits simple case two copies of data receiver compares copies equal then no error. probability of same bits corrupted low. Add k bits

### 3.1. RATIONAL EXPRESSIONS

3.1. RATIONAL EXPRESSIONS RATIONAL NUMBERS In previous courses you have learned how to operate (do addition, subtraction, multiplication, and division) on rational numbers (fractions). Rational numbers

### minimal polyonomial Example

Minimal Polynomials Definition Let α be an element in GF(p e ). We call the monic polynomial of smallest degree which has coefficients in GF(p) and α as a root, the minimal polyonomial of α. Example: We

### U.C. Berkeley CS276: Cryptography Handout 0.1 Luca Trevisan January, 2009. Notes on Algebra

U.C. Berkeley CS276: Cryptography Handout 0.1 Luca Trevisan January, 2009 Notes on Algebra These notes contain as little theory as possible, and most results are stated without proof. Any introductory

### The Coding Theory Workbook

The Coding Theory Workbook A companion to EE 567 Version 1.1 Spring 2016 Matthew C. Valenti, Ph.D., P.E. West Virginia University Copyright 2012, Matthew C. Valenti Contents 1 Finite Fields 1 1.1 Sets

### Cyclic Codes Introduction Binary cyclic codes form a subclass of linear block codes. Easier to encode and decode

Cyclic Codes Introduction Binary cyclic codes form a subclass of linear block codes. Easier to encode and decode Definition A n, k linear block code C is called a cyclic code if. The sum of any two codewords

### a 11 x 1 + a 12 x 2 + + a 1n x n = b 1 a 21 x 1 + a 22 x 2 + + a 2n x n = b 2.

Chapter 1 LINEAR EQUATIONS 1.1 Introduction to linear equations A linear equation in n unknowns x 1, x,, x n is an equation of the form a 1 x 1 + a x + + a n x n = b, where a 1, a,..., a n, b are given

### CHAPTER 5: MODULAR ARITHMETIC

CHAPTER 5: MODULAR ARITHMETIC LECTURE NOTES FOR MATH 378 (CSUSM, SPRING 2009). WAYNE AITKEN 1. Introduction In this chapter we will consider congruence modulo m, and explore the associated arithmetic called

### Computer Algebra for Computer Engineers

p.1/14 Computer Algebra for Computer Engineers Preliminaries Priyank Kalla Department of Electrical and Computer Engineering University of Utah, Salt Lake City p.2/14 Notation R: Real Numbers Q: Fractions

### = 2 + 1 2 2 = 3 4, Now assume that P (k) is true for some fixed k 2. This means that

Instructions. Answer each of the questions on your own paper, and be sure to show your work so that partial credit can be adequately assessed. Credit will not be given for answers (even correct ones) without

### 2 The Euclidean algorithm

2 The Euclidean algorithm Do you understand the number 5? 6? 7? At some point our level of comfort with individual numbers goes down as the numbers get large For some it may be at 43, for others, 4 In

### Chapter 4, Arithmetic in F [x] Polynomial arithmetic and the division algorithm.

Chapter 4, Arithmetic in F [x] Polynomial arithmetic and the division algorithm. We begin by defining the ring of polynomials with coefficients in a ring R. After some preliminary results, we specialize

### Polynomials can be added or subtracted simply by adding or subtracting the corresponding terms, e.g., if

1. Polynomials 1.1. Definitions A polynomial in x is an expression obtained by taking powers of x, multiplying them by constants, and adding them. It can be written in the form c 0 x n + c 1 x n 1 + c

### CLASS NOTES. We bring down (copy) the leading coefficient below the line in the same column.

SYNTHETIC DIVISION CLASS NOTES When factoring or evaluating polynomials we often find that it is convenient to divide a polynomial by a linear (first degree) binomial of the form x k where k is a real

### Mathematics of Cryptography

CHAPTER 2 Mathematics of Cryptography Part I: Modular Arithmetic, Congruence, and Matrices Objectives This chapter is intended to prepare the reader for the next few chapters in cryptography. The chapter

### Galois Fields and Hardware Design

Galois Fields and Hardware Design Construction of Galois Fields, Basic Properties, Uniqueness, Containment, Closure, Polynomial Functions over Galois Fields Priyank Kalla Associate Professor Electrical

### 8 Primes and Modular Arithmetic

8 Primes and Modular Arithmetic 8.1 Primes and Factors Over two millennia ago already, people all over the world were considering the properties of numbers. One of the simplest concepts is prime numbers.

### Cyclic Redundancy Checks

Cyclic Redundancy Checks Will Hasenplaugh Intel Corporation October 16, 2006 Outline Introduction to Error Control Systems Properties and Examples Cyclic Redundancy Checks Homework Break Linear Time CRC

### Example: Systematic Encoding (1) Systematic Cyclic Codes. Systematic Encoding. Example: Systematic Encoding (2)

S-72.3410 Cyclic Codes 1 S-72.3410 Cyclic Codes 3 Example: Systematic Encoding (1) Systematic Cyclic Codes Polynomial multiplication encoding for cyclic linear codes is easy. Unfortunately, the codes obtained

### Review/Outline Review: Check matrix criterion for min dist Vandermonde matrices Reed-Solomon codes Models, computations in finite fields Today:

Review/Outline Review: Check matrix criterion for min dist Vandermonde matrices Reed-Solomon codes Models, computations in finite fields Today: Hamming codes Bose-Chaudhuri-Hocquengham (BCH) codes 1 Hamming

### PROBLEM SET # 2 SOLUTIONS

PROBLEM SET # 2 SOLUTIONS CHAPTER 2: GROUPS AND ARITHMETIC 2. Groups.. Let G be a group and e and e two identity elements. Show that e = e. (Hint: Consider e e and calculate it two ways.) Solution. Since

### Inverses and powers: Rules of Matrix Arithmetic

Contents 1 Inverses and powers: Rules of Matrix Arithmetic 1.1 What about division of matrices? 1.2 Properties of the Inverse of a Matrix 1.2.1 Theorem (Uniqueness of Inverse) 1.2.2 Inverse Test 1.2.3

### Math 31 - Homework 1 Solutions

Math 31 - Homework 1 Solutions 1. Find gcd(a, b) and express gcd(a, b) as ma + nb for: (a) (116, 84) Solution. Use the Euclidean algorithm: 116 = ( 1)( 84) + 32 84 = ( 3)(32) + 12 32 = (2)(12) + 8 12 =

### Montana Common Core Standard

Algebra 2 Grade Level: 10(with Recommendation), 11, 12 Length: 1 Year Period(s) Per Day: 1 Credit: 1 Credit Requirement Fulfilled: Mathematics Course Description This course covers the main theories in

### Cryptography and Network Security. Prof. D. Mukhopadhyay. Department of Computer Science and Engineering. Indian Institute of Technology, Kharagpur

Cryptography and Network Security Prof. D. Mukhopadhyay Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Module No. # 01 Lecture No. # 12 Block Cipher Standards

### Algebra I Notes Review Real Numbers and Closure Unit 00a

Big Idea(s): Operations on sets of numbers are performed according to properties or rules. An operation works to change numbers. There are six operations in arithmetic that "work on" numbers: addition,

### CHAPTER 2 Data Representation in Computer Systems

CHAPTER 2 Data Representation in Computer Systems 2.1 Introduction 47 2.2 Positional Numbering Systems 48 2.3 Converting Between Bases 48 2.3.1 Converting Unsigned Whole Numbers 49 2.3.2 Converting Fractions

### MODULAR ARITHMETIC. a smallest member. It is equivalent to the Principle of Mathematical Induction.

MODULAR ARITHMETIC 1 Working With Integers The usual arithmetic operations of addition, subtraction and multiplication can be performed on integers, and the result is always another integer Division, on

### Intro to Rings, Fields, Polynomials: Hardware Modeling by Modulo Arithmetic

Intro to Rings, Fields, Polynomials: Hardware Modeling by Modulo Arithmetic Priyank Kalla Associate Professor Electrical and Computer Engineering, University of Utah kalla@ece.utah.edu http://www.ece.utah.edu/~kalla

### ECE 842 Report Implementation of Elliptic Curve Cryptography

ECE 842 Report Implementation of Elliptic Curve Cryptography Wei-Yang Lin December 15, 2004 Abstract The aim of this report is to illustrate the issues in implementing a practical elliptic curve cryptographic

### Overview of Math Standards

Algebra 2 Welcome to math curriculum design maps for Manhattan- Ogden USD 383, striving to produce learners who are: Effective Communicators who clearly express ideas and effectively communicate with diverse

### Homework 5 Solutions

Homework 5 Solutions 4.2: 2: a. 321 = 256 + 64 + 1 = (01000001) 2 b. 1023 = 512 + 256 + 128 + 64 + 32 + 16 + 8 + 4 + 2 + 1 = (1111111111) 2. Note that this is 1 less than the next power of 2, 1024, which

### Appendix A. Appendix. A.1 Algebra. Fields and Rings

Appendix A Appendix A.1 Algebra Algebra is the foundation of algebraic geometry; here we collect some of the basic algebra on which we rely. We develop some algebraic background that is needed in the text.

### Chapter 6. Number Theory. 6.1 The Division Algorithm

Chapter 6 Number Theory The material in this chapter offers a small glimpse of why a lot of facts that you ve probably nown and used for a long time are true. It also offers some exposure to generalization,

### Rational Polynomial Functions

Rational Polynomial Functions Rational Polynomial Functions and Their Domains Today we discuss rational polynomial functions. A function f(x) is a rational polynomial function if it is the quotient of

### Algebraic Systems, Fall 2013, September 1, 2013 Edition. Todd Cochrane

Algebraic Systems, Fall 2013, September 1, 2013 Edition Todd Cochrane Contents Notation 5 Chapter 0. Axioms for the set of Integers Z. 7 Chapter 1. Algebraic Properties of the Integers 9 1.1. Background

### MTH 06 LECTURE NOTES (Ojakian) Topic 2: Functions

MTH 06 LECTURE NOTES (Ojakian) Topic 2: Functions OUTLINE (References: Iyer Textbook - pages 4,6,17,18,40,79,80,81,82,103,104,109,110) 1. Definition of Function and Function Notation 2. Domain and Range

### Some facts about polynomials modulo m (Full proof of the Fingerprinting Theorem)

Some facts about polynomials modulo m (Full proof of the Fingerprinting Theorem) In order to understand the details of the Fingerprinting Theorem on fingerprints of different texts from Chapter 19 of the

### Math 319 Problem Set #3 Solution 21 February 2002

Math 319 Problem Set #3 Solution 21 February 2002 1. ( 2.1, problem 15) Find integers a 1, a 2, a 3, a 4, a 5 such that every integer x satisfies at least one of the congruences x a 1 (mod 2), x a 2 (mod

### PUTNAM TRAINING POLYNOMIALS. Exercises 1. Find a polynomial with integral coefficients whose zeros include 2 + 5.

PUTNAM TRAINING POLYNOMIALS (Last updated: November 17, 2015) Remark. This is a list of exercises on polynomials. Miguel A. Lerma Exercises 1. Find a polynomial with integral coefficients whose zeros include

### Factoring Polynomials

Factoring Polynomials Sue Geller June 19, 2006 Factoring polynomials over the rational numbers, real numbers, and complex numbers has long been a standard topic of high school algebra. With the advent

### MATRIX ALGEBRA AND SYSTEMS OF EQUATIONS. + + x 2. x n. a 11 a 12 a 1n b 1 a 21 a 22 a 2n b 2 a 31 a 32 a 3n b 3. a m1 a m2 a mn b m

MATRIX ALGEBRA AND SYSTEMS OF EQUATIONS 1. SYSTEMS OF EQUATIONS AND MATRICES 1.1. Representation of a linear system. The general system of m equations in n unknowns can be written a 11 x 1 + a 12 x 2 +

### Functions and Equations

Centre for Education in Mathematics and Computing Euclid eworkshop # Functions and Equations c 014 UNIVERSITY OF WATERLOO Euclid eworkshop # TOOLKIT Parabolas The quadratic f(x) = ax + bx + c (with a,b,c

### ALGEBRA HANDOUT 2: IDEALS AND QUOTIENTS. 1. Ideals in Commutative Rings In this section all groups and rings will be commutative.

ALGEBRA HANDOUT 2: IDEALS AND QUOTIENTS PETE L. CLARK 1. Ideals in Commutative Rings In this section all groups and rings will be commutative. 1.1. Basic definitions and examples. Let R be a (commutative!)

### 3 Congruence arithmetic

3 Congruence arithmetic 3.1 Congruence mod n As we said before, one of the most basic tasks in number theory is to factor a number a. How do we do this? We start with smaller numbers and see if they divide

### Math E-301: Homework 4 Notes Due 10/5/09

Math E-301: Homework 4 Notes Due 10/5/09 The notes for homeworks will vary. For some problems, I may give one solution, but there may be other ways to approach the problem. I will try to mention these

### 9 abcd = dcba. 9 ( b + 10c) = c + 10b b + 90c = c + 10b b = 10c.

In this session, we ll learn how to solve problems related to place value. This is one of the fundamental concepts in arithmetic, something every elementary and middle school mathematics teacher should

### The standards in this course continue the work of modeling situations and solving equations.

Algebra II Overview View unit yearlong overview here Building on the understanding of linear, quadratic and exponential functions from Algebra I, this course will extend function concepts to include polynomial,

### Vocabulary Words and Definitions for Algebra

Name: Period: Vocabulary Words and s for Algebra Absolute Value Additive Inverse Algebraic Expression Ascending Order Associative Property Axis of Symmetry Base Binomial Coefficient Combine Like Terms

### To introduce the concept of a mathematical structure called an algebraic group. To illustrate group concepts, we introduce cyclic and dihedral groups.

1 Section 6. Introduction to the Algebraic Group Purpose of Section: To introduce the concept of a mathematical structure called an algebraic group. To illustrate group concepts, we introduce cyclic and

### Continued Fractions and the Euclidean Algorithm

Continued Fractions and the Euclidean Algorithm Lecture notes prepared for MATH 326, Spring 997 Department of Mathematics and Statistics University at Albany William F Hammond Table of Contents Introduction

### Alabama Course of Study Mathematics Algebra 2 with Trigonometry

A Correlation of Prentice Hall Algebra 2 to the Alabama Course of Study Mathematics THE COMPLEX NUMBER SYSTEM NUMBER AND QUANTITY Perform arithmetic operations with complex numbers. 1. Know there is a

### 5.1 Commutative rings; Integral Domains

5.1 J.A.Beachy 1 5.1 Commutative rings; Integral Domains from A Study Guide for Beginner s by J.A.Beachy, a supplement to Abstract Algebra by Beachy / Blair 23. Let R be a commutative ring. Prove the following

### The Division Algorithm for Polynomials Handout Monday March 5, 2012

The Division Algorithm for Polynomials Handout Monday March 5, 0 Let F be a field (such as R, Q, C, or F p for some prime p. This will allow us to divide by any nonzero scalar. (For some of the following,

### 4. Matrix inverses. left and right inverse. linear independence. nonsingular matrices. matrices with linearly independent columns

L. Vandenberghe EE133A (Spring 2016) 4. Matrix inverses left and right inverse linear independence nonsingular matrices matrices with linearly independent columns matrices with linearly independent rows

MA 134 Lecture Notes August 20, 2012 Introduction The purpose of this lecture is to... Introduction The purpose of this lecture is to... Learn about different types of equations Introduction The purpose

### UNIT 2 MATRICES - I 2.0 INTRODUCTION. Structure

UNIT 2 MATRICES - I Matrices - I Structure 2.0 Introduction 2.1 Objectives 2.2 Matrices 2.3 Operation on Matrices 2.4 Invertible Matrices 2.5 Systems of Linear Equations 2.6 Answers to Check Your Progress

### 1.1. Basic Concepts. Write sets using set notation. Write sets using set notation. Write sets using set notation. Write sets using set notation.

1.1 Basic Concepts Write sets using set notation. Objectives A set is a collection of objects called the elements or members of the set. 1 2 3 4 5 6 7 Write sets using set notation. Use number lines. Know

### PROBLEM SET 6: POLYNOMIALS

PROBLEM SET 6: POLYNOMIALS 1. introduction In this problem set we will consider polynomials with coefficients in K, where K is the real numbers R, the complex numbers C, the rational numbers Q or any other

### Distributed Storage Networks and Computer Forensics

Distributed Storage Networks 5 Raid-6 Encoding Technical Faculty Winter Semester 2011/12 RAID Redundant Array of Independent Disks Patterson, Gibson, Katz, A Case for Redundant Array of Inexpensive Disks,

### 1 Algebra - Partial Fractions

1 Algebra - Partial Fractions Definition 1.1 A polynomial P (x) in x is a function that may be written in the form P (x) a n x n + a n 1 x n 1 +... + a 1 x + a 0. a n 0 and n is the degree of the polynomial,

### Algorithms and Methods for Distributed Storage Networks 5 Raid-6 Encoding Christian Schindelhauer

Algorithms and Methods for Distributed Storage Networks 5 Raid-6 Encoding Institut für Informatik Wintersemester 2007/08 RAID Redundant Array of Independent Disks Patterson, Gibson, Katz, A Case for Redundant

### Notes on Factoring. MA 206 Kurt Bryan

The General Approach Notes on Factoring MA 26 Kurt Bryan Suppose I hand you n, a 2 digit integer and tell you that n is composite, with smallest prime factor around 5 digits. Finding a nontrivial factor

### Basic Properties of Rings

Basic Properties of Rings A ring is an algebraic structure with an addition operation and a multiplication operation. These operations are required to satisfy many (but not all!) familiar properties. Some

### Algebra Nation MAFS Videos and Standards Alignment Algebra 2

Section 1, Video 1: Linear Equations in One Variable - Part 1 Section 1, Video 2: Linear Equations in One Variable - Part 2 Section 1, Video 3: Linear Equations and Inequalities in Two Variables Section

### Lecture 3: Finding integer solutions to systems of linear equations

Lecture 3: Finding integer solutions to systems of linear equations Algorithmic Number Theory (Fall 2014) Rutgers University Swastik Kopparty Scribe: Abhishek Bhrushundi 1 Overview The goal of this lecture

### MATRIX ALGEBRA AND SYSTEMS OF EQUATIONS

MATRIX ALGEBRA AND SYSTEMS OF EQUATIONS Systems of Equations and Matrices Representation of a linear system The general system of m equations in n unknowns can be written a x + a 2 x 2 + + a n x n b a

### CHAPTER SIX IRREDUCIBILITY AND FACTORIZATION 1. BASIC DIVISIBILITY THEORY

January 10, 2010 CHAPTER SIX IRREDUCIBILITY AND FACTORIZATION 1. BASIC DIVISIBILITY THEORY The set of polynomials over a field F is a ring, whose structure shares with the ring of integers many characteristics.

### THE UNIVERSITY OF TORONTO UNDERGRADUATE MATHEMATICS COMPETITION. In Memory of Robert Barrington Leigh. Saturday, March 5, 2016

THE UNIVERSITY OF TORONTO UNDERGRADUATE MATHEMATICS COMPETITION In Memory of Robert Barrington Leigh Saturday, March 5, 2016 Time: 3 1 2 hours No aids or calculators permitted. The grading is designed

### ECEN 5682 Theory and Practice of Error Control Codes

ECEN 5682 Theory and Practice of Error Control Codes Convolutional Codes University of Colorado Spring 2007 Linear (n, k) block codes take k data symbols at a time and encode them into n code symbols.

### Topics in Number Theory

Chapter 8 Topics in Number Theory 8.1 The Greatest Common Divisor Preview Activity 1 (The Greatest Common Divisor) 1. Explain what it means to say that a nonzero integer m divides an integer n. Recall

### 1 Homework 1. [p 0 q i+j +... + p i 1 q j+1 ] + [p i q j ] + [p i+1 q j 1 +... + p i+j q 0 ]

1 Homework 1 (1) Prove the ideal (3,x) is a maximal ideal in Z[x]. SOLUTION: Suppose we expand this ideal by including another generator polynomial, P / (3, x). Write P = n + x Q with n an integer not

### Basics of Polynomial Theory

3 Basics of Polynomial Theory 3.1 Polynomial Equations In geodesy and geoinformatics, most observations are related to unknowns parameters through equations of algebraic (polynomial) type. In cases where