• Online, Self-Paced
Course Description

This course discusses cryptography and related issues for COD 307 - Protecting Data in C++. After completing this course, you will be able to generate strong encryption keys and identify related symmetric cryptography issues, such as pseudo random number generators (PRNGs), key derivation algorithms, and initialization vectors. Additionally, you will be able to select an appropriate symmetric encryption algorithm, cipher mode, and authenticated encryption mode, and identify common libraries that support symmetric cryptography. You will also be able to identify key concepts of public key cryptography, explain how public and private key pairs work together both to encrypt and decrypt data for secure transfer and to create and verify digital signatures, and implement best practices to mitigate memory exposure vulnerabilities.

Learning Objectives

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

  • Generate strong 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 common libraries that support symmetric cryptography
  • Identify key concepts of public key cryptography

Framework Connections

The materials within this course focus on the NICE Framework Task, Knowledge, and Skill statements identified within the indicated NICE Framework component(s):

Specialty Areas

  • Software Development