Abstract
As cloud computing becomes more and more popular, ensuring its security becomes increasingly essential.
Homomorphic encryption provides an efficient, secure way to perform operations on data without the need to
decrypt and jeopardize its integrity. This paper is a compilation of my own work involving the development
of a web-based user interface that portrays how different data types can be encrypted, have homomorphic operations
done on shares created from the data, then be decrypted. For the creation of shares, Shamir’s Secret Sharing Scheme
was utilized because of its homomorphic properties. In this paper, the programs written to encrypt each data type
are summarized. Java was the chosen language to implement the programs due to its ability to easily create graphical
interfaces for practical usability. Furthermore, each program along with its necessary directories (if any) are packed
into Java Archive files and/or ZIP files for quicker download times.
HOW TO RUN THE PROGRAMS
(Users must have Java installed on their machines to run the demos)
Download Types
1. If the program is a .jar, simply double-click the file to execute it.
2. If the program is nested within a .zip, you must first extract all. DO NOT MODIFY DIRECTORY TREE. Then double-click the .jar file to execute the program.
For Number Add/Subtract Demos
1. Enter two integers into the provided equation. No need to enter the sum/difference.
2. Click the "Encrypt" button to run the encryption.
For Text Add/Subtract/Concatenation Demos
1. Enter two strings into the provided equation. No need to enter anything in the third box.
2. Click the "Encrypt" button to run the encryption.
For Text Search Demo
1. Click the "Choose File" button to select a text file.
2. Enter the desired string to search for in the first input box.
3. Click the "Search" button to run the encryption.
4. View files by clicking on the provided buttons.
For Image Add/Subtract Demos
1. Use the file explorer to select two images.
2. Click the "Encrypt" button to run the encryption.