Explaining Fully Homomorphic Encryption to myĀ Mom
tl;dr
- Traditional encryption* = Baking bread by reading & following the recipe
- Homomorphic encryption* = Baking bread without ever seeing the recipe
Traditional Encryption
- Mom writes her secret bread recipe
- She locks it (encrypts it)
- She sends it to me (no one can steal it along the way)
- I unlock it (decrypt) and read it
- I follow the instructions and bake bread
- I can share the unencrypted recipe with others Note that both my mom and I have a version of the key. We can both lock or unlock the recipe. Afterwards, I could theoretically share the recipe with my friends who could bake bread themselves; though whether I should is another story š.*
Traditional Encryption Flow for a Secret BreadĀ Recipe
Homomorphic Encryption
- Mom writes her secret bread recipe
- She locks it (encrypts it)
- She sends it to me (no one can steal it along the way)
- I do not unlock it
- I magically follow the instructions and bake bread
- I can share the encrypted recipe with others Note that while my mom has a key she used to lock the recipe, I have a āmagic keyā* that lets me follow the instructions without actually knowing whatās written inside. If I were to share the recipe with others, theyād need a version of the *āmagic keyā as well.
Homomorphic Encryption Flow for a Secret BreadĀ Recipe
Reality Check
Of course, thereās no literal āmagic key.ā Instead, itās a mountain of math and cryptography. I donāt fully understand the details, but I do know that itās slow and expensive.
Right now, homomorphic encryption works for small, simple online tasks. Itāll be a while before itās fast and efficient enough to protect all of our online data.
And just for the record: I donāt actually bake bread. Hereās what usually happens insteadā¦