Cryptography Tutorials - Herong's Tutorial Examples - v5.42, by Herong Yang
javax.crypto.SecretKey - The Secret Key Interface
This section provides a quick introduction of secret key and symmetric encryption algorithm. The secret key interface, javax.crypto.SecretKey, is also described.
What is a Secret Key? A secrete key is the key used in a symmetric encryption algorithm, where the same key is used both the encryption process and the decryption process.
Known symmetric encryption algorithms:
The secret key concept is supported in JDK through the JCE (Java Cryptography Extension) package. The first thing I want to learn in JCE is the javax.crypto.SecretKey interface.
javax.crypto.SecretKey is an interface providing a grouping point for various secret keys. It extents java.security.Key, and inherits 3 methods:
getAlgorithm() - Returns the algorithm name used to generate the key.
getEncoded() - Returns the key as a byte array in its primary encoding format.
getFormat() - Returns the name of the primary encoding format of this key.
Table of Contents
Introduction to AES (Advanced Encryption Standard)
DES Algorithm - Illustrated with Java Programs
DES Algorithm Java Implementation
DES Algorithm - Java Implementation in JDK JCE
DES Encryption Operation Modes
PHP Implementation of DES - mcrypt
Blowfish - 8-Byte Block Cipher
►Secret Key Generation and Management
►javax.crypto.SecretKey - The Secret Key Interface
javax.crypto.KeyGenerator - Generating Secret Keys
Converting Secret Keys to and from Byte Arrays
JceSecretKeyTest.java - Secret Key Test Program
Cipher - Secret Key Encryption and Decryption
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
OpenSSL Introduction and Installation
OpenSSL Generating and Managing RSA Keys
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"