Homomorphic Encryption

Data privacy is a major and continually growing concern for modern society in general and businesses in particular.  Regulatory concerns such as HIPAA and GDPR oblige companies to limit the sharing of data, both externally and internally.  These sharing limitations restrict companies’ abilities to derive valuable insight from data, such as developing  new cancer treatments if genomic data could be shared, or identifying fraud and other financial crimes by allowing banks to more effectively scan suspicious transactions.  Furthermore, regulatory and security concerns limit companies’ abilities to leverage the elasticity and cost-effectiveness of   cloud computing environments.

Encryption for real-life, post-quantum applications

Secure computing techniques, such as Fully Homomorphic Encryption (FHE), offer the possibility of general computing on data while it remains encrypted, thus providing both privacy and security that satisfy regulatory requirements.

FHE allows sensitive data to be encrypted such that arbitrary programs can be securely run over the encrypted data without decrypting it, yielding encrypted output.  When decrypted, this output is equivalent to the result of running the original program on the unencrypted data.  Practical and usable FHE leads to a sea change in computing, thus allowing privacy-preserving analytics and machine learning on encrypted data. For example, it would enable computation to be outsourced to untrusted computing resources such as cloud-based servers while guaranteeing the privacy of data used in that computation.

A schematic of the use of homomorphic encryption can be seen to the right.  Using homomorphic encryption schemes, a user is able to encrypt data (top left of diagram) then send the data to an untrusted server (right of diagram) that executes an encrypted (or cleartext)computation (center left of diagram) on the encrypted data. The server then returns the encrypted result of those computations to the client (bottom left of diagram). Finally, the user decrypts the result (bottom right of diagram).