Name: Luke Thomas
Email: ltthomas@albany.edu
Project: Homomorphic Encryption Web-Based User Interface

"Homomorphic encryption is the conversion of data into ciphertext that can be analyzed and worked with as if it were still in its original form" (Rouse). This project is a web-based user interface in which several options for showing how homomorphic encryption manipulates data are available to use. Options for homomorphic encryption include numbers, text, and images.

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.