This textbook provides mathematical tools and applies them to study key aspects of data transmission such as encryption and compression. Modern societies are awash with data that needs to be manipulated in many ways: encrypted, compressed, shared between users in a prescribed manner, protected from unauthorized access, and transmitted over unreliable channels. All of these operations are based on algebra and number theory. This textbook covers background topics in arithmetic, polynomials, groups, fields, and elliptic curves required for real-life applications like cryptography, secret sharing, error-correcting, fingerprinting, and compression of information.
The book illustrates the work of these applications using the free GAP computational package. It uses this package to help readers understand computationally hard problems and provide insights into protecting data integrity. This textbook covers a wide range of applications including recent developments, primarily intended for use as a textbook, with numerous worked examples and solved exercises suitable for self-study.
This edition has been thoroughly revised with new topics and exercises, introducing hash functions for properly describing digital signatures, blockchains, and digital currencies in the latest version.