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
Specialty Areas
- Software Development
Feedback
If you would like to provide feedback for this course, please e-mail the NICCS SO at NICCS@hq.dhs.gov.