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.
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