CipherLoc: One Time Pad

Team Contact info:
Bradley Racey -
Earl Judge -
Brayden Villa -
Ian Burke -
Faculty Mentor:
Dr. Bertrand Cambou -

Brayden Villa

Bradley Racey

Earl Judge

Ian Burke

Project Description

The One Time Pad (OTP) project calls for a decent understanding of XOR encryption and a decent understanding of C programming. The OTP requires that a message digest, a password for example, have each of its characters encrypted. Once these encryptions are made, they are stored in a lookup table that contains an encrypted cipher and a key pair. This is the essennce of the project. In order to achieve this, a system on a chip (SOC) is needed to design and create the algortithm. After much delegation, the Zybo Z7-10 ARM/FPGA Development board was chosen to meet the needs that the OTP requires for building. The purpose of this project is to present a system of encryption and decryption that offers no "prize" to those trying to break the encryption. This is acheived by using volatile RAM that immediately wipes all data of the encryption when power is disconnected. To get the data back we feed the same seed to the cryptographic pseudo random number generator (CPRNG) and rebuild the same matrices that were built to encrypt all the data initially. Once we have that resolved we just reverse engineer the problem until we have the original unencrypted document. This technology presents us with the ability to encrypt and decrypt data in a secure way that leaves no openings for people looking to exploit the system, thus providing a more secure and modular encryption scheme.

Project Problems
Final Design
Project Video
Prototyping and Documentation

How it works

1. Cryptographic Pseudo Random Number Generator (CPRNG)
2. Look Up Table
  -Filled With Keys and Ciphers
3. Encryption Of All possible ASCII Using XOR Encryption
4. Memory Filled With Encryption And Decryption Values
5. Encrypt Pieces Of Message Digest