About This Book
This book is organized like a sandwich. The outer chapters (Chapter 1, Chapter 2, and Chapter 12) provide context for the rest of the book. Chapter 3 through Chapter 11 (the meat) are a methodical and pragmatic description of cryptographic programming in Java, including numerous useful examples.
Chapter 1, describes cryptography’s role in secure systems development and introduces some short examples of cryptographic programming.
Chapter 2, introduces the fundamental concepts of cryptography: ciphers, message digests, signatures, and random numbers.
Chapter 3, presents a bird’s-eye view of Java cryptographic software packages and introduces the Provider Architecture that underlies the Java Security API.
Chapter 4, describes cryptographic random numbers in Java.
Chapter 5, describes the key management classes that are included with the JDK.
Chapter 6, shows how to use message digests, signatures, and certificates for authentication.
Chapter 7, covers encryption: symmetric and asymmetric ciphers, cipher modes, and hybrid systems.
Chapter 8, describes how to create signed applets.
Chapter 9, describes how to write a security provider. It includes classes that implement the ElGamal cipher and signature algorithms.
Chapter 10, presents a completely functional application, a cryptographically enabled network talk application.
Chapter 11, includes another complete application, a cryptographically enabled email client.
Chapter 12, talks about noncryptographic security issues ...