What Is Encryption?

This section describes what is encryption - A bijection function that uses a key, encryption key, to compute the image.

Encryption Function - A bijection function that uses a key, encryption key, to compute the image.

Clear Text Space - The domain of an encryption function.

Cipher Text Space - The codomain of an encryption function.

Decryption Function - The inversion function of an encryption function. Decryption function also uses a key, decryption key, to compute the image.

Encryption Scheme - An algorithm that defines a cleartext space, a ciphertext space, and a set of encryption keys. For each encryption key, the scheme also defines an encryption function, a decryption key, and a decryption function. An encryption scheme is also called a cipher.

Symmetric Key Encryption - An encryption scheme that "the decryption function uses the same key as its encryption function". Symmetric key encryption is also called one key, or secret key encryption.

Asymmetric Key Encryption - An encryption scheme that "the decryption function uses needs a different key than the key used in its encryption function, and it is almost impossible to compute one from another". Asymmetric key encryption is also called public key encryption.

Block Cipher - An encryption scheme that "cleartext is broken up into blocks of fixed length, and encrypted one block at a time".

Stream Cipher - An encryption scheme that "cleartext is encrypted as a continuous stream alphabets".

Simple Substitution Cipher - An encryption scheme that "Each alphabet in the cleartext is substituted by a single alphabet defined by the key".

Homophonic Substitution Cipher - An encryption scheme that "Each alphabet in the cleartext is substituted by an alphabetic string randomly selected from a set of strings defined by the key".

Transposition Cipher - A block cipher that "Alphabets in a block is permuted in an order defined by the key".

Product Cipher - An encryption scheme that "uses multiple ciphers in which the ciphertext of one cipher is used as the cleartext of the next cipher". Usually, substitution ciphers and transposition ciphers are used alternatively to construct a product cipher.

Table of Contents

 About This Book

 Cryptography Terminology

Cryptography Basic Concepts

 What Is Cryptography?

 What Is Function?

What Is Encryption?

 Introduction to AES (Advanced Encryption Standard)

 Introduction to DES Algorithm

 DES Algorithm - Illustrated with Java Programs

 DES Algorithm Java Implementation

 DES Algorithm - Java Implementation in JDK JCE

 DES Encryption Operation Modes

 DES in Stream Cipher Modes

 PHP Implementation of DES - mcrypt

 Blowfish - 8-Byte Block Cipher

 Secret Key Generation and Management

 Cipher - Secret Key Encryption and Decryption

 Introduction of RSA Algorithm

 RSA Implementation using java.math.BigInteger Class

 Introduction of DSA (Digital Signature Algorithm)

 Java Default Implementation of DSA

 Private key and Public Key Pair Generation

 PKCS#8/X.509 Private/Public Encoding Standards

 Cipher - Public Key Encryption and Decryption

 MD5 Mesasge Digest Algorithm

 SHA1 Mesasge Digest Algorithm

 OpenSSL Introduction and Installation

 OpenSSL Generating and Managing RSA Keys

 OpenSSL Managing Certificates

 OpenSSL Generating and Signing CSR

 OpenSSL Validating Certificate Path

 "keytool" and "keystore" from JDK

 "OpenSSL" Signing CSR Generated by "keytool"

 Migrating Keys from "keystore" to "OpenSSL" Key Files

 Certificate X.509 Standard and DER/PEM Formats

 Migrating Keys from "OpenSSL" Key Files to "keystore"

 Using Certificates in IE

 Using Certificates in Google Chrome

 Using Certificates in Firefox

 Archived Tutorials

 References

 Full Version in PDF/EPUB