Java Cryptography

Cryptography is the science of encoding, transmitting and verifying data securely. The topic of cryptography that even the general public has a passing knowledge of is encryption: the science of encoding and storing data so that it cannot be read by an unauthorised party. But as we will see below, it covers other areas, notably authentication.

The Java platform includes a range of classes for handling cryptography which we explore in this section:

Areas of cryptography

Crptography and the various facilities provided in Java cover areas of data security including:

Indirectly, cryptography is also concerned with:

Issues such as these last two are often what make cryptography challenging to the developer. Java's cryptography library provides relatively simple-looking classes and methods. It is easy to use these methods in a way that actually turns out to be insecure because of the "soft protocols" surrounding the use of cyptography. In practice, this means:

Cryptography in Java

On the following pages, we therefore discuss various topics: