Thursday, November 26, 2009

Download Ebook: Java Cryptography (Jonathan B. Knudsen)


Cryptography, the science of secret writing, is the biggest, baddest security tool in the application programmer's arsenal. Cryptography provides three services that are crucial in secure programming. These include a cryptographic cipher that protects the secrecy of your data; cryptographic certificates, which prove identity (authentication); and digital signatures, which ensure your data has not been damaged or tampered with.

This book covers cryptographic programming in Java. Java 1.1 and Java 1.2 provide extensive support for cryptography with an elegant architecture, the Java Cryptography Architecture (JCA). Another set of classes, the Java Cryptography Extension (JCE), provides additional cryptographic functionality.

This book covers the JCA and the JCE from top to bottom, describing the use of the cryptographic classes as well as their innards. The book is designed for moderately experienced Java programmers who want to learn how to build cryptography into their applications. No prior knowledge of cryptography is assumed. The book is peppered with useful examples, ranging from simple demonstrations in the first chapter to full-blown applications in later chapters.

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 you should know about.

OK, let's start it. Here we go!

DOWNLOAD

0 comments: