Chapter 7. Encrypted Computation

Encrypted computation is a subfield of cryptography that allows you to compute on encrypted data without decrypting it. First discovered through research in the 1970s, it has grown and developed since then, offering secure ways to compute in insecure settings. In this chapter, you’ll learn several foundational concepts in encrypted computation, along with how to determine if and when this technology is a good solution for your data science needs.

What Is Encrypted Computation?

At first, the idea that you can compute on data without decrypting it seems impossible. After all, you would think that you’d need to crack an egg before cooking it, right? In actuality, it’s possible to boil an egg with its shell still on, and it’s possible to compute on data without decrypting it. In fact, there are many protocols and methods to carry out this encrypted computation. You might have heard of some of them already: homomorphic encryption (HE), secure multiparty computation (MPC), garbled circuits, or related methods like zero-knowledge proofs (ZK-proofs).

Much of encrypted computation relies on interesting mathematical properties to maintain correctness while processing on encrypted data. This chapter will provide a solid introduction, which you can build upon with more learning after this book.

Cryptographic protocols are used to encrypt, transmit, compute, and decrypt information. A protocol is a plan and way to exchange information—usually between multiple ...

Get Practical Data Privacy now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.