By David Salomon. Published by Springer Verlag March 2005. ISBN 0-387-21245-0. LCCN TK5102.94 .S35 2005. xv+548 pages.

A BibTeX style file and an Errata list are available.

Written in late 2003 and completed in February 2004, the book consists of three parts for error-control codes, codes for compressing data, and secure codes (for data encryption). The third part includes chapters on data hiding (steganography).

This book is an attempt to bring the three disciplines of data compression, error-control codes, and cryptography and data hiding to the attention of the general public. As a result, it is mostly nonmathematical and does not attempt to be complete. It is naturally divided into three parts, each of which discusses the most important approaches, methods, and techniques that are currently employed in one of these fields to make the storage and transmission of data fast, secure, and reliable.

The book has been written mostly as a professional text for those interested in the basic problems and methods of data coding. It can, however, also serve as a textbook in a course dealing with aspects of data coding. Some features that enhance this aspect of the book are the many exercises sprinkled throughout the text, the proposed projects for self-study (Appendix D), and the Glossary.

Preface vii Part I: Channel Coding 1 1 Error-Control Codes 3 2 Check Digits for Error Detection 35 Part II: Source Codes 59 3 Statistical Methods 67 4 Dictionary Methods 111 5 Image Compression 133 Part III: Secure Codes 197 6 Basic Concepts 199 7 Monoalphabetic Substitution Ciphers 213 8 Transposition Ciphers 227 9 Polyalphabetic Substitution Ciphers 243 10 Stream Ciphers 269 11 Block Ciphers 289 12 Public-Key Cryptography 311 13 Data Hiding 341 14 Data Hiding in Images 365 15 Data Hiding: Other Methods 417 Part IV: Essential Resources 445 Appendixes A Symmetry Groups 447 B Galois Fields 451 B.1 Field Definitions and Operations 451 B.2 Polynomial Arithmetic 459 C Cyclic Redundancy Codes 461 D Projects 465 Answers to Exercises 471 Glossary 503 Bibliography 523 Index 533The short (1 page) PDF file found here proposes an improvement to Equation (2.3) on page 38. This approach was communicated to me in May 2005 by John Motil. Another original ISBN algorithm from John Motil, in the form of a binary tree, communicated to me in November 2006, is summarized in the JPEG file located here. John has more material on nifty algorithms at

To do justice to the thoughtfully structured and presented wealth of information in this book, I would say that in an attempt to communicate the essential features of Salomon's "Coding for Data and Computer Communications," this review is-in the squeezing sense of compression-a very compressed one.

Last Updated 3 October 2009.