Week 5 — Syllabi & Assignments

WEEK 5

Cyber Security Basics:

Computer Math: (1 lecture)

logical operations (and, or, xor, not, compound statements, the KISS method)
bit operations
modular arithmetic
statistics — looking for odd things and recognizing normal patterns

Assignments:

Math exercises. Logic exercises.

Implement logic statements in C and Python.

Do bit manipulation in C and Python.
Cryptography Basics:
Lecture 1

Morse Code

Baudot

ASCII / EBCIDIC

Assignment:

Write a program in Python to accept a letter as input and display its ascii code.

Modify the program to accept a string and printout the ascii code of each letter separated by a space.

Lecture 2 – 3
Frequency Analysis
Ceasar Code

Assignment:

Write a program in Python to accept a string and a number. Encrypt with a Ceasar code and save the message to disk.

Write a program to read an encrypted message from disk, tally all the letters and substitute the top ten most frequent letters using English frequency analysis.

Using a key

Frequency Analysis

Brute Force
Dictionary Attack
Birthday Paradox

Rainbow Tables

Assignment:

Develop a dictionary based upon a fictional language. (Elvin, Klingon, etc.)

You are given a message. Encrypt with one word from your dictionary.

Swap encrypted files.

Write a brute force decryption program for the message. Time the run.

Write a dictionary attack using your dictionary. Time the run.