EconPapers    
Economics at your fingertips  
 

Introduction to Homomorphic Encryption and Schemes

Jung Hee Cheon (), Anamaria Costache (), Radames Cruz Moreno (), Wei Dai (), Nicolas Gama (), Mariya Georgieva (), Shai Halevi (), Miran Kim (), Sunwoong Kim (), Kim Laine (), Yuriy Polyakov () and Yongsoo Song ()
Additional contact information
Jung Hee Cheon: Seoul National University
Anamaria Costache: Trondheim, Norway; Intel AI Research, Norwegian University of Science and Technology
Radames Cruz Moreno: Microsoft Research
Wei Dai: Microsoft Research, Cryptography and Privacy Research Group
Nicolas Gama: Inpher
Mariya Georgieva: Inpher
Shai Halevi: Yorktown Heights, Algorand Foundation
Miran Kim: Ulsan National Institute of Science and Technology
Sunwoong Kim: University of Washington Bothell
Kim Laine: Microsoft Research, Cryptography and Privacy Research Group
Yuriy Polyakov: Duality Technologies
Yongsoo Song: Seoul National University

A chapter in Protecting Privacy through Homomorphic Encryption, 2021, pp 3-28 from Springer

Abstract: Abstract Homomorphic encryption (HE) enables processing encrypted data without decrypting it. This technology can be used, for example, to allow a public cloud to operate on secret data without the cloud learning anything about the data. Simply encrypt the secret data with homomorphic encryption before sending it to the cloud, have the cloud process the encrypted data and return the encrypted result, and finally decrypt the encrypted result. Here is a simplistic “hello world” example using homomorphic encryption: # Every encryption needs a secret key. Let's get one of those. myEncryptionKey = generateEncryptionKey() # Now we can encrypt some very secret data. encrypted5 = encrypt(myEncryptionKey, 5) encrypted12 = encrypt(myEncryptionKey, 12) excrypted2 = encrypt(myEncryptionKey, 2) # We have three ciphertexts now. # We want the sum of the first two. # Luckily we used homomorphic encryption, so we can actually do this. encrypted17 = addCiphertexts(encrypted5, encrypted12) # Maybe we want to multiply the result by the 3rd ciphertext. encrypted34 = multiplyCiphertexts(encrypted17, encrypted2) # See that? We operated on ciphertexts without needing the key. # But no matter what we compute, the result is always encrypted. # To actually see the final result, we have to use the key. decrypted34 = decrypt(myEncryptionKey, encrypted34) print(decrypted34) # This should print '34'

Date: 2021
References: Add references at CitEc
Citations:

There are no downloads for this item, see the EconPapers FAQ for hints about obtaining it.

Related works:
This item may be available elsewhere in EconPapers: Search for items with the same title.

Export reference: BibTeX RIS (EndNote, ProCite, RefMan) HTML/Text

Persistent link: https://EconPapers.repec.org/RePEc:spr:sprchp:978-3-030-77287-1_1

Ordering information: This item can be ordered from
http://www.springer.com/9783030772871

DOI: 10.1007/978-3-030-77287-1_1

Access Statistics for this chapter

More chapters in Springer Books from Springer
Bibliographic data for series maintained by Sonal Shukla () and Springer Nature Abstracting and Indexing ().

 
Page updated 2026-05-31
Handle: RePEc:spr:sprchp:978-3-030-77287-1_1