Homomorphic Encryption on Data Transactions in the Cloud

In the summer of 2016, I did a research internship at Data Storage Institute, A*Star. The purpose of the research was to explore whether data can be securely encrypted in the cloud, and if queries can be run on it without decryption.

Introduction

What is fully homomorphic encryption?
FHE is a form of encryption that permits users to perform computations on its encrypted data without first decrypting it. Most common functions are addition, subtraction, and multiplication (during my research, division was extremely difficult to perform as it required calculating inverses).

With the emergence of cloud computing, more and more IT services are being outsourced to the cloud. However, some users with sensitive data are not confident about their data being stored with an external service provider. One solution is to encrypt the data and then store it; however, computations and operations are rendered useless if the data is encrypted. This is when homomorphic encryption is useful.

fhe

Tech Stack

I researched an encrypted database, ZeroDB where data could be stored and queried on untrusted database servers without ever exposing the encryption key.

I ran scripts and queries over ZeroDB and the DSI in-house encrypted DB (through Lua scripts) for both SQL and NoSQL databases, and compared their performance.

I also got in touch with the ZeroDB founders over Slack and started modifying it for DSI’s internal use.

Result

Takeaway

  • I got my first taste of research; especially what it means to write a scientific paper.
  • I learnt LaTeX!
  • I realized cryptography is something I would like to study in more detail (following this, I took two security modules, CS2107 and CS4236)
  • This research internship ended up placing me in the Cloud team at JPMorgan (one of JPMC’s Greenfield projects) so I am very grateful 😊

RESEARCH