Over the last 50 years there have been an increasing number of applications of algebraic tools to solve problems in communications, in particular in the fields of error-control codes and cryptography. More recently, broader applications have emerged, requiring quite sophisticated algebra - for example, the Alamouti scheme in MIMO communications is just Hamilton's quaternions in disguise and has spawned the use of PhD-level algebra to produce generalizations. Likewise, in the absence of credible alternatives, the industry has in many cases been forced to adopt elliptic curve cryptography. In addition, algebra has been successfully applied to problems in signal processing such as face recognition, biometrics, control design, and signal design for radar. This book introduces the reader to the algebra they need to appreciate these developments and to various problems solved by these techniques.