Offers a comprehensive introduction to the fundamental structures and applications of a wide range of contemporary coding operations
This book offers a comprehensive introduction to the fundamental structures and applications of a wide range of contemporary coding operations. This text focuses on the ways to structure information so that its transmission will be in the safest, quickest, and most efficient and error–free manner possible. All coding operations are covered in a single framework, with initial chapters addressing early mathematical models and algorithmic developments which led to the structure of code. After discussing the general foundations of code, chapters proceed to cover individual topics such as notions of compression, cryptography, detection, and correction codes. Both classical coding theories and the most cutting–edge models are addressed, along with helpful exercises of varying complexities to enhance comprehension.
- Explains how to structure coding information so that its transmission is safe, error–free, efficient, and fast
- Includes a pseudo–code that readers may implement in their preferential programming language
- Features descriptive diagrams and illustrations, and almost 150 exercises, with corrections, of varying complexity to enhance comprehension
Foundations of Coding: Compression, Encryption, Error–Correction is an invaluable resource for understanding the various ways information is structured for its secure and reliable transmission in the 21st–century world.
Jean–Guillaume Dumas is Professor at the University of Grenoble, where he teaches security, programming languages, cryptology and computer algebra.
Jean–Louis Roch is Associate Professor at the National Polytechnique Institute of Grenoble (INPG), and teaches security, coding theory, cryptology, parallelism, and algorithms.
Éric Tannier is Research Associate at the National French Institute for Computer Science (INRIA). He works in computational biology in the Biometry and Evolutionary Biology Laboratory (LBBE) of the University of Lyon.
Sébastien Varrette is Research Associate at the University of Luxembourg. He works in the High Performance Computing (HPC) area, in particular as regards the security of distributed and/or parallel executions.
List of Figures, Tables, Algorithms and Acronyms ix
1 Foundations of Coding 1
1.1 From Julius Caesar to telecopy 2
1.2 Stream ciphers and probabilities 10
1.3 Block ciphers, algebra and arithmetic 21
1.4 Decoding, decryption, attacks 59
2 Information theory and compression 89
2.1 Information theory 90
2.2 Statistical encoding 93
2.3 Heuristics of entropy reduction 106
2.4 Common compression codes 111
2.5 Lossy Compression 116
3 Cryptology 125
3.1 General principles 126
3.2 Secret key cryptography 129
3.3 Key exchange 148
3.4 Public key cryptography 154
3.5 Authentication, Integrity, Nonrepudiation, Signatures 162
3.6 Key management 177
4 Error detection and correction 193
4.1 Principle of error detection and error correction 195
4.2 Error detection by parity CRC codes 201
4.3 Distance of a code 207
4.4 Linear codes and cyclic codes 215
4.5 Bursts of errors and interleaving 242
4.6 Convolutional codes and turbocodes 248
Compression, encryption, correction: as a conclusion 257
Problem Solutions 261
Solutions for chapter 1 261
Solutions for chapter 2 274
Solutions for chapter 3 281
Solutions for chapter 4 299
Solution for the "Casino" exercise 315