Too many engineers consider cryptography to be a sort of magic security dust that
they can sprinkle over their hardware or software, and which will imbue those products
with the mythical property of “security.” Security is only as strong as the weakest link,
and the mathematics of cryptography is almost never the weakest link. The fundamentals
of cryptography are important, but far more important are, how those fundamentals are
implemented and used. You can argue whether the stake should be a mile or a mile-and-a-half
high, but the attacker is simply going to walk around the stake. Security is a broad stockade:
it’s the things around the cryptography that make the cryptography effective.
This book is intended for Professional cryptographers, presenting the techniques
and algorithms of greatest interest to the current practitioner, along with the supporting
motivation and background material. It also provides a comprehensive source from which to
learn cryptography, serving both students and instructors.
Throughout each chapter, we emphasize the relationship between various aspects of
cryptography. We believe this style of presentation allows a better understanding of how
algorithms actually work. Each chapter was written to provide a self-contained treatment
of one major topic. Collectively, however, the chapters have been designed and carefully
integrated to be entirely complementary with respect to definitions, terminology, and
notation. Furthermore, there is essentially no duplication of material across chapters; instead,
appropriate cross-chapter references are provided where relevant.