Digital circuits that emulate operations drawn from algebraic structures like rings or fields are often called algebraic circuits. For example, linear feedback shift registers (LFSRs), used in coding and cryptography to generate pseudo-random sequences, can be seen as an implementation of a certain class of polynomials. The study of algebraic circuits is motivated by the fact that hardware or close-to-hardware implementations yield a far better performance compared to higher-level software implementations.
The book is divided in 7 chapters and 3 appendices. In chapter 1, the authors, faculty members at the University of Granada, Spain, recapitulate various numeral representations used for binary and decimal numbers. The basic arithmetic circuits for operating with integer numbers, which are used in the implementation of algebraic circuits, are presented in chapter 2. Comparators and shifters are also described, which can be considered to actually perform arithmetic operations, though usually not considered as such. Chapter 3 deals with residue number systems, which are useful for computation-intensive applications, especially those related to signal processing. The main advantage of residue number systems is the absence of carry propagation between channels for the operation of addition, subtraction, and multiplication. Thus, high-performance systems may be built for applications involving only these operations. Galois fields are also introduced in this chapter.
The basic algebraic circuits LFSR and cellular automata (CA) are studied in chapter 4. These circuits can be described through algebraic structures, namely, polynomials associated to each circuit so that the properties of the polynomial anticipate the temporal evolution of the circuit. The CA studied in this chapter is mainly 1D linear, but the 2D CA is also defined. Chapter 5 is devoted to finite fields or Galois fields that have a variety of applications in several areas, such as cryptography, coding, and digital signal processing. For these fields, circuits to implement the sum, product, square, square root, exponentiation, inversion, and the corresponding division of polynomials are presented, using power representation and the standard, normal, and dual basis. Chapter 6, following the same structure as the fifth chapter, refers to the Galois field GF(pm), with p being prime. Two simple cryptographic applications of the Galois fields are described in chapter 7; the first is based on the use of discrete logarithms and the second example is devoted to elliptic curves.
The axioms and the main properties of finite or Galois fields are studied in Appendix A. Appendix B summarizes the main properties of polynomial algebra, without giving examples for the different types of polynomials. Appendix C is devoted to the essential elliptic curves properties when used for public-key encryption, and serves as a background of the examples presented in chapter 7.
The book is very dense in the sense that it contains lots of equations and mathematical notations. The more than 100 illustrations and more than 120 tables are therefore very helpful for understanding the subject matter. It appears that the book was not revised by native speakers, which makes reading not always a pleasure.
I recommend the book to hardware and software designers, as well as to cryptographers, encoders, and engineers in signal processing, who need a good understanding of the mathematical underpinnings when implementing algebraic circuits.