Course

Course Summary
Credit Type:
Course
ACE ID:
NNCS-5220
Organization's ID:
CRYP2500
Location:
Hybrid
Length:
5 days (40 hours)
Dates Offered:
Credit Recommendation & Competencies
Level Credits (SH) Subject
Lower-Division Baccalaureate 3 Basic Cryptography with Cryptol Language
Description

Objective:

The course objective is to provide the student with an overview of the capabilities of Cryptol programming language as a cryptographic algorithm design, implementation and evaluation tool, as well as provide opportunities to demonstrate their ability to apply the language to mission-related projects via an extensive set of lab exercises and final Capstone project.

Learning Outcomes:

  • evaluate cryptographic, software written in Cryptol using SAW;
  • analyze using Cryptol cryptographic protocols for random number generation, cyclic redundancy checks, National Institute of Standards (NIST) block cipher modes of operation and secure key wrapping;
  • demonstrate five powerful classes of proofs Cryptol uses to prove the cryptographic properties for a wide variety of algorithms;
  • solve classical computational puzzles utilizing Cryptol’s connection to automated provers (i.e., SAT or Satisfiability solvers).
  • Apply the utility of Cryptol, its language constructs, and interpreter and the tools that interact with it, such as Software Analysis Workbench (SAW)

General Topics:

  • Programming style guidance
  • Software verification using Software Analysis Workbench (SAW)
  • Writing cryptographic specifications
  • Proving cryptographic properties
  • Key wrapping methods
  • Message encryption and decryption
Instruction & Assessment

Instructional Strategies:

  • Computer Based Training
  • Laboratory
  • Lectures

Methods of Assessment:

  • Other
  • Performance Rubrics (Checklists)
  • Final Project

Minimum Passing Score:

100%
Supplemental Materials