About the Book
Cryptography is about the security of communications. It provides mechanisms for hiding messages from outside observers, accurately identifying the originators of messages, determining that messages have been delivered safely without tampering, and making it possible to accurately identify both the entities receiving and sending messages when messages are being delivered between different parties.
Over time, in our increasingly connected world, issues related to cryptography and security have increasingly become common in the development of applications and even other APIs. In this environment, Java still maintains its popularity as a language for the development and implementation of Internet applications. While Java has an established API for basic cryptography defined as part of the regular Java runtime, many things that developers generally need to do, such as producing and managing certificates, client credentials, time stamps, and secure messaging are not provided. The Legion of the Bouncy Castle Cryptography APIs were developed to fill a large part of this gap. That said, there is an awful lot to know, and many developers do not get the time to take a sabbatical to brush up on the right security API to use when a security related application arrives on their desk. While falling into fear and panic is always an option, we felt it might be better to provide a book, drawing on our experience, that goes beyond what is commonly available in API documentation. A book that provides some basic real world examples of how to use the APIs and address the questions developers most commonly ask and the issues developers most commonly have trouble with. One with a warm friendly cover, designed to avoid panic, and to help keep the reader focused on the idea of getting a job done. It is our aim that "Java Cryptography: Tools and Techniques" is that book.
About the Authors
David Hook is an active developer and co-founder of the Bouncy Castle cryptography project, now in its 23rd year, and has been working with the Java Cryptography APIs since their original publication in the late 1990s. In addition to his development work with Bouncy Castle, David has also given presentations and tutorials on the Java Cryptography framework and on the use of the Bouncy Castle APIs, as well as writing several articles, a previous book "Beginning Cryptography with Java" and the mini-ebook "BC FIPS in 100 Examples". He currently works at Keyfactor supporting the use and development of the Bouncy Castle APIs and has recently lead the "charge" which resulted in a version of the APIs being certified for FIPS 140-2. He is a member of the Association of Computing Machinery and the IEEE.
Jon has more than 25 years of experience constructing software, he has built software in a wide range of domains, from controlling hardware to payroll systems and the standard consumer centric web applications. Jon is particularly interested in software design and how to influence teams in building good software, the latter which takes up more and more of his time.
On most days you will find Jon riding one of his bikes, drinking coffee at the local cafe and being heckled by colleagues as he wistfully remembers the time he spent all day, every day writing code.