Note: Finite field theory is a powerful algebraic tool used in many modern applications: from cryptography to digital transmission. The traditional way to introduce finite field theory is within a course of algebra, after the introduction of groups and rings. This makes finite field theory a challenging subject for those who need to use them, but do not have a strong algebraic background (e.g., electrical engineers, software engineers, programmers,..). This book aims to give a rigorous and solid introduction to the matter, while requiring only the basic notions about complex numbers. At the end of the book, the readers should be able to use finite fields in their application and should also find easier to read more advanced books on this matter. Part of the book is also devoted to describe the algorithms to actually use finite field in software, a crucial aspect not always discussed in algebra books (aimed to a more mathematical audience). |