Modern societies are awash with data that needs to be manipulated in many different ways:
encrypted compressed shared between users in a prescribed manner protected from unauthorised
access and transmitted over unreliable channels. All of these operations are based on algebra
and number theory and can only be properly understood with a good knowledge of these fields.
This textbook provides the mathematical tools and applies them to study key aspects of data
transmission such as encryption and compression. Designed for an undergraduate lecture course
this textbook provides all of the background in arithmetic polynomials groups fields and
elliptic curves that is required to understand real-life applications such as cryptography
secret sharing error-correcting fingerprinting and compression of information. It explains
in detail how these applications really work. The book uses the free GAP computational package
allowing the reader to develop intuition about computationally hard problems and giving
insights into how computational complexity can be used to protect the integrity of data. The
first undergraduate textbook to cover such a wide range of applications including some recent
developments this second edition has been thoroughly revised with the addition of new topics
and exercises. Based on a one semester lecture course given to third year undergraduates it is
primarily intended for use as a textbook while numerous worked examples and solved exercises
also make it suitable for self-study.