Computer Information Systems and Engineering Technology


Joshua Stover



Download Full Text (676 KB)


Joshua Stover, CIS 494: Undergraduate Research in CIS
Faculty Mentor: Professor Sarbani Banerjee, Computer Information Systems

With data breaches on the rise and the looming threat of vulnerabilities in established encryption algorithms inching closer, data security is a growing need. Security must be considered at every step in a piece of software’s lifespan, and in every component therein. This research project employs a novel message-digest algorithm that will generate 512-bit, 256-bit, or 128-bit keys from a user selected passphrase. The message-digest algorithm uses a call to the system time to salt the hashes it generates, ensuring the uniqueness of keys even if passphrases are similar. In addition to the message-digest algorithm, it implements a unique symmetric-key encryption algorithm, using that key to encrypt and decrypt files. The software was written in C++ and compiled for use in Windows 10 and Ubuntu Linux. A simple interface for each platform allows file selection and choice of encryption level. The project was created using Visual Studio Code in conjunction with Qt Creator. My presentation shows machines running the software, encrypting and decrypting data from local and removable disks. I examine the mathematics and the code used by the algorithms, as well as an exploration of use cases. The project aims to show that creating novel encryption algorithms can increase the data security of an organization or an individual without being any more cumbersome than implementing an existing algorithm.

Publication Date



Computer Sciences | Engineering

Roll Your Own Crypto: Use Cases for Novel Encryption Algorithms
Off-campus Download