Author: Matt Gigliotti Fall 2018

This repository includes the source code from three projects completed as coursework during the Fall 2018 semester.

Go projects: vigenere - includes creating and breaking basic Vigenere encryption.

encrypt-auth - An implementation of a custom cryptographic specification using the AES cipher from the Go crypto library as a building block. CBC and HMAC algorithms are implemented by hand. Also included is a padding attack implementation on this protocol.

Python project: This project contains detailed implementations of the Diffie-Hellman and Elgamal schemes, capable of a key strength of 1024 bits. Also included are attacks on the DH protocol. One is a brute force attempt, and the efficient version uses the Pollard's rho algorithm.