Description
Homomorphic encryption lets a server compute on data that stays encrypted, so the server never sees the underlying values. The data owner encrypts the inputs, the server performs the arithmetic directly on the encrypted data, and only the holder of the secret key can decrypt the result. For machine learning, the model is first rewritten using operations the scheme supports, such as additions, multiplications and polynomial approximations of other functions. Exact schemes return the same answer as the unencrypted computation, while approximate schemes, often used for neural networks, return a close one. The guarantee is confidentiality of the data while it is processed, on the usual assumption that the server follows the protocol.
Example Use Cases
Privacy
A hospital group wants a cloud service to score patients' readmission risk without the provider seeing patient records. The hospital encrypts the patient features, the cloud evaluates a logistic regression model on the encrypted values, and the hospital decrypts the scores. A linear model is chosen on purpose, since encrypted computation becomes costly as models get larger.
A research team outsources a genome-wide association study to a cloud server. The team encrypts participants' genotype and phenotype data, the server computes the association statistics on the ciphertexts, and only the final statistics are decrypted. One published prototype handled 1,000 individuals and 131,071 genetic variants in about ten minutes on a 28-core server.
Security
A bank outsources credit scoring to a third-party cloud host. It encrypts customer financial data under a key that never leaves the bank, so an attacker who breaches the host, or an administrator there, can only copy ciphertexts. The bank checks that the host holds no decryption key and that the chosen parameters meet its required security level.
Limitations
- Computation is typically orders of magnitude slower than on unencrypted data and ciphertexts are much larger, so real-time use, large models and large datasets are often out of reach. A published encrypted logistic regression training run took about 116 minutes on a real-world dataset.
- Only some computations are practical. Circuit depth is limited by noise growth unless costly bootstrapping resets it, and comparisons and non-polynomial functions, such as most neural-network activations, must be approximated or quantised to integers, which can lower accuracy compared with the unencrypted model.
- The usual security model is an honest-but-curious server. Ciphertexts can be altered, so encryption alone gives no assurance that the server ran the intended computation correctly, and a malicious host could return a wrong result that still decrypts without error.
- Encryption protects data during processing, not what the result reveals. Whoever decrypts the output can still learn about the model or the data behind it through attacks such as membership inference, and with the approximate CKKS scheme, sharing decrypted results can enable a key-recovery attack.
- Correct use needs cryptographic expertise. Choosing scheme parameters, encodings and noise budgets wrongly can leave the system insecure or stop results decrypting correctly, and the right choices differ by scheme and library.
Resources
Research Papers
Fully homomorphic encryption using ideal lattices
We propose a fully homomorphic encryption scheme -- i.e., a scheme that allows one to evaluate circuits over encrypted data without being able to decrypt. Our solution comes in three steps. First, we provide a general result -- that, to construct an encryption scheme that permits evaluation of arbitrary circuits, it suffices to construct an encryption scheme that can evaluate (slightly augmented versions of) its own decryption circuit; we call a scheme that can evaluate its (augmented) decryption circuit bootstrappable.