• Online, Self-Paced
Course Description

In this course, you will learn about the cryptographic functionality provided by the Java JCA Framework. It covers pseudo-random number generators, cryptographic hashing, and key derivation, generators and factories, Symmetric cryptography, cipher modes, and message authentication codes are discussed with examples. Asymmetric cryptography, certificates, key stores, and key agreements are also covered.

Learning Objectives

On successful completion of this course, learners should have the knowledge and skills to:

  • Generate secure encryption keys
  • Explain the role pseudo random number generators (PRNGs), key derivation algorithms, and initialization vectors play in cryptography
  • Select an appropriate symmetric encryption algorithm and modes
  • Identify key concepts of public key cryptography
  • Explain how public and private key pairs work together to encrypt and decrypt data
  • Explain how public and private key pairs work together to create and verify digital signatures
  • Use the Java keytool command-line utility for creating and managing keys and keystores

Framework Connections

The materials within this course focus on the Knowledge Skills and Abilities (KSAs) identified within the Specialty Areas listed below. Click to view Specialty Area details within the interactive National Cybersecurity Workforce Framework.


If you would like to provide feedback for this course, please e-mail the NICCS SO at NICCS@hq.dhs.gov.