The files in this repository are a work-in-progress of the first project in the 2017 spring semester of CS 4783 Applied Cryptography at the NYU Tandon School of Engineering.
The repository is split into three folders, each of which is explained below.
This folder holds a program that actually executes the encryption algorithm specified in the assignment sheet. This allows us to run tests on the message space.
To compile, run make
. To run, run make run
.
There is also a key generation program. It generates a pseudorandom key that the encryption program can use to encrypt a message.
To compile, run make keygen
. To run, run make run-keygen
.
This is the actual program that accomplishes the objective outlined on the assignment sheet.
To compile, run make
. To run, run make run
.
There are various test programs in this folder as well. To compile them, run make tests
.
This folder contains various Python tools that help us exploit characteristics of the English language to defeat the permutation cipher in the assignment.