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.