acknowledgments

 

When I look back over the process of writing this book, I can honestly say that it did take a village. If I miss out on acknowledging somebody, it is a symptom of my limitations but never due to a lack of gratitude.

They say it’s never a good idea to meet your heroes, and they’re mostly right. But the exceptions make it worth doing. I have been fortunate enough to meet some of my heroes who absolutely disproved the age-old maxim. My coauthor, Bill, is one of them. He had been conducting a cryptography workshop at Google for many years, so I reached out to him and asked about writing a book about how cryptography implementations usually fail. Bill’s passion is randomness. His goal is to get strong, reliable random number generation into everybody’s hands because that really is the final frontier for cryptography engineering. Allow me to explain: no matter how sophisticated our cryptographic algorithms and defenses are, any security they provide goes out the window if randomness is not handled well. It is a great privilege to be able to make that case with Bill in this book.