Tech●●●●●Difficulty 5 of 5

How can a computer calculate on data it is not allowed to read?

Cryptographers asked for it in 1978 and spent over thirty years not knowing if it was even possible.

▶ Start the story

A computer can calculate on data it cannot read if that data is locked with homomorphic encryption. This is a form of encryption that allows computations to be performed on encrypted data without first decrypting it. The answer comes back still locked, and when its owner finally unlocks it, it is identical to what the same operations would have produced on the unlocked data. You hand over a sealed box, the other side does the work through the walls, and only you ever see the result.

That solves a real dilemma. Predictive analytics in healthcare is hard to run through an outside company because of medical privacy concerns. But if the provider can operate on encrypted data without having the decryption keys, those concerns shrink. And even if the provider's system is broken into, the data would remain secure. The same trick lets data be encrypted and sent to commercial cloud services for processing, all while staying encrypted.

Computing on locked data
  1. Step 1: Encrypt

    The owner locks the data with a public key

  2. Step 2: Send

    The locked data goes to an untrusted service

  3. Step 3: Compute

    The service adds and multiplies without the key

  4. Step 4: Return

    It sends back an encrypted result

  5. Step 5: Decrypt

    Only the owner can read the answer

Some schemes only go part of the way. These are called partially homomorphic, because they support circuits made of only one type of gate, such as addition or multiplication. The dream was fully homomorphic encryption, which can evaluate any computation at all. The problem was first proposed in 1978, within a year of the publication of , and then for more than 30 years it was unclear whether a solution existed.

In 2009 Craig Gentry used to describe the first plausible way to build it. It was painfully slow: the first implementation of his original scheme took about 30 minutes for a single basic bit operation. Years of work have since sped it up by many orders of magnitude, and in 2017 researchers from IBM, Microsoft, Intel, NIST and others formed a consortium that maintains a community security standard for it.

From a question to a standard
  1. 1978

    Fully homomorphic encryption is first proposed as a problem

  2. 2009

    Craig Gentry describes the first plausible scheme

  3. 2016

    The CKKS scheme is proposed

  4. 2017

    Industry and NIST researchers form the standardization consortium

Quiz me

0/3

  1. 1.Why does a fully homomorphic scheme need bootstrapping?
  2. 2.What is the difference between partially and fully homomorphic encryption?
  3. 3.Why does homomorphic encryption help a hospital that wants an outside company to analyse patient records?

Recap

Fully homomorphic encryption lets a machine compute on locked data, and bootstrapping refreshes the growing noise so the computation can go on.

💡 A trick to remember it · Picture the locked glove box: hands work inside, the lid never opens, and bootstrapping is wiping the fogged glass.

Surprising fact · After being proposed in 1978, it took over 30 years before anyone showed a plausible way to build it.

Sources (1)

No source, no claim. Every fact in this lesson (17 claims) cites at least one of these.

  1. [1]Homomorphic encryption · Wikipedia
More lessons in 💻 Tech (3) See all tech lessons →

One more light on your map.

Get one lesson like this every day, about the things you love. Free, in two or five minutes.

Get the share card for this lesson ↗