Homomorphic Encryption

Private Cyberspace is about everyone processing their data privately themselves by importing compute instead of exporting data.

import

Homomorphic Encryption is useful when:

  1. individuals do not have enough compute resources to process their own data, they can use other people's compute resource under the protection of homomorphic encryption.

  2. data need to combined with other data in a private manner, private data from all parties can be processed under the protection of homomorphic encryption.

  3. data needs to be shared in a trusted manner, instead of disclosing the raw data, homomorphic encryption can be used to generate results from data under its protection.

Private Cyberspace is the world's first deployment of homomorphic encryption at scale.

everyone

Private Cyberspace's two components (Personal Console and Disposable Node) work together to make to make homomorphic encryption feasible even at population scale.

Introduction

Very short video introduction to Homomorphic Encryption.

Office of the Director of National Intelligence, USA

 

The guy in the video Craig Gentry wrote the classic paper on fully homomorphic encryption:

Links

Good Homomorphic Encryption Links:

https://www.microsoft.com/en-us/research/project/homomorphic-encryption/

Homomorphic Encryption References

Introduction

A great introduction to traditional homomorphic encryption is by Mircosoft on Github:

Homomorphic encryption refers to encryption schemes that allow the cloud to compute directly on the encrypted data, without requiring the data to be decrypted first. The results of such encrypted computations remain encrypted, and can be only decrypted with the secret key (by the data owner). Multiple homomorphic encryption schemes with different capabilities and trade-offs have been invented over the past decade; most of these are public-key encryption schemes, although the public-key functionality may not always be needed.

Homomorphic encryption is not a generic technology: only some computations on encrypted data are possible. It also comes with a substantial performance overhead, so computations that are already very costly to perform on unencrypted data are likely to be infeasible on encrypted data. Moreover, data encrypted with homomorphic encryption is many times larger than unencrypted data, so it may not make sense to encrypt, e.g., entire large databases, with this technology. Instead, meaningful use-cases are in scenarios where strict privacy requirements prohibit unencrypted cloud computation altogether, but the computations themselves are fairly lightweight.

Typically, homomorphic encryption schemes have a single secret key which is held by the data owner. For scenarios where multiple different private data owners wish to engage in collaborative computation, homomorphic encryption is probably not a reasonable solution.

Homomorphic encryption cannot be used to enable data scientists to circumvent GDPR. For example, there is no way for a cloud service to use homomorphic encryption to draw insights from encrypted customer data. Instead, results of encrypted computations remain encrypted and can only be decrypted by the owner of the data, e.g., a cloud service customer.

Most homomorphic encryption schemes provide weaker security guarantees than traditional encryption schemes. You need to read SECURITY.md if you are thinking of building production software using Microsoft SEAL.