Building applications with homomorphic encryption

Roger A. Hallman, Nicolas Gama, Kim Laine, Alex J. Malozemoff, Sergiu Carpov, Wei Dai, Yuriy Polyakov

Research output: Chapter in Book/Report/Conference proceedingConference contribution

2 Citations (Scopus)

Abstract

In 2009, Craig Gentry introduced the first “fully" homomorphic encryption scheme allowing arbitrary circuits to be evaluated on encrypted data [17]. Homomorphic encryption is a very powerful cryptographic primitive, though it has often been viewed by practitioners as too inefficient for practical applications. However, the performance of these encryption schemes has come a long way from that of Gentry’s original work: there are now several well-maintained libraries implementing homomorphic encryption schemes and protocols demonstrating impressive performance results, alongside an ongoing standardization effort by the community. In this tutorial we survey the existing homomorphic encryption landscape, providing both a general overview of the state of the art, as well as a deeper dive into several of the existing libraries. We aim to provide a thorough introduction to homomorphic encryption accessible by the broader computer security community. Several of the presenters are core developers of well-known publicly available homomorphic encryption libraries, and organizers of the homomorphic encryption standardization effort HomomorphicEncryption.org [2]. This tutorial is targeted at application developers, security researchers, privacy engineers, graduate students, and anyone else interested in learning the basics of modern homomorphic encryption. The tutorial is divided into two parts: Part I is accessible by everyone comfortable with basic college-level math; Part II will cover more advanced topics, including descriptions of some of the different homomorphic encryption schemes and libraries, concrete example applications and code samples, and a deeper discussion on implementation challenges. Part II requires the audience to be familiar with modern C++.

Original languageEnglish (US)
Title of host publicationCCS 2018 - Proceedings of the 2018 ACM SIGSAC Conference on Computer and Communications Security
PublisherAssociation for Computing Machinery
Pages2160-2162
Number of pages3
ISBN (Electronic)9781450356930
DOIs
StatePublished - Oct 15 2018
Event25th ACM Conference on Computer and Communications Security, CCS 2018 - Toronto, Canada
Duration: Oct 15 2018 → …

Publication series

NameProceedings of the ACM Conference on Computer and Communications Security

Other

Other25th ACM Conference on Computer and Communications Security, CCS 2018
CountryCanada
CityToronto
Period10/15/18 → …

Fingerprint

Cryptography
Standardization
Security of data
Students
Engineers
Networks (circuits)

All Science Journal Classification (ASJC) codes

  • Software
  • Computer Networks and Communications

Cite this

Hallman, R. A., Gama, N., Laine, K., Malozemoff, A. J., Carpov, S., Dai, W., & Polyakov, Y. (2018). Building applications with homomorphic encryption. In CCS 2018 - Proceedings of the 2018 ACM SIGSAC Conference on Computer and Communications Security (pp. 2160-2162). (Proceedings of the ACM Conference on Computer and Communications Security). Association for Computing Machinery. https://doi.org/10.1145/3243734.3264420
Hallman, Roger A. ; Gama, Nicolas ; Laine, Kim ; Malozemoff, Alex J. ; Carpov, Sergiu ; Dai, Wei ; Polyakov, Yuriy. / Building applications with homomorphic encryption. CCS 2018 - Proceedings of the 2018 ACM SIGSAC Conference on Computer and Communications Security. Association for Computing Machinery, 2018. pp. 2160-2162 (Proceedings of the ACM Conference on Computer and Communications Security).
@inproceedings{13e6233599bb4b1fa7b33d72059fd2c5,
title = "Building applications with homomorphic encryption",
abstract = "In 2009, Craig Gentry introduced the first “fully{"} homomorphic encryption scheme allowing arbitrary circuits to be evaluated on encrypted data [17]. Homomorphic encryption is a very powerful cryptographic primitive, though it has often been viewed by practitioners as too inefficient for practical applications. However, the performance of these encryption schemes has come a long way from that of Gentry’s original work: there are now several well-maintained libraries implementing homomorphic encryption schemes and protocols demonstrating impressive performance results, alongside an ongoing standardization effort by the community. In this tutorial we survey the existing homomorphic encryption landscape, providing both a general overview of the state of the art, as well as a deeper dive into several of the existing libraries. We aim to provide a thorough introduction to homomorphic encryption accessible by the broader computer security community. Several of the presenters are core developers of well-known publicly available homomorphic encryption libraries, and organizers of the homomorphic encryption standardization effort HomomorphicEncryption.org [2]. This tutorial is targeted at application developers, security researchers, privacy engineers, graduate students, and anyone else interested in learning the basics of modern homomorphic encryption. The tutorial is divided into two parts: Part I is accessible by everyone comfortable with basic college-level math; Part II will cover more advanced topics, including descriptions of some of the different homomorphic encryption schemes and libraries, concrete example applications and code samples, and a deeper discussion on implementation challenges. Part II requires the audience to be familiar with modern C++.",
author = "Hallman, {Roger A.} and Nicolas Gama and Kim Laine and Malozemoff, {Alex J.} and Sergiu Carpov and Wei Dai and Yuriy Polyakov",
year = "2018",
month = "10",
day = "15",
doi = "https://doi.org/10.1145/3243734.3264420",
language = "English (US)",
series = "Proceedings of the ACM Conference on Computer and Communications Security",
publisher = "Association for Computing Machinery",
pages = "2160--2162",
booktitle = "CCS 2018 - Proceedings of the 2018 ACM SIGSAC Conference on Computer and Communications Security",

}

Hallman, RA, Gama, N, Laine, K, Malozemoff, AJ, Carpov, S, Dai, W & Polyakov, Y 2018, Building applications with homomorphic encryption. in CCS 2018 - Proceedings of the 2018 ACM SIGSAC Conference on Computer and Communications Security. Proceedings of the ACM Conference on Computer and Communications Security, Association for Computing Machinery, pp. 2160-2162, 25th ACM Conference on Computer and Communications Security, CCS 2018, Toronto, Canada, 10/15/18. https://doi.org/10.1145/3243734.3264420

Building applications with homomorphic encryption. / Hallman, Roger A.; Gama, Nicolas; Laine, Kim; Malozemoff, Alex J.; Carpov, Sergiu; Dai, Wei; Polyakov, Yuriy.

CCS 2018 - Proceedings of the 2018 ACM SIGSAC Conference on Computer and Communications Security. Association for Computing Machinery, 2018. p. 2160-2162 (Proceedings of the ACM Conference on Computer and Communications Security).

Research output: Chapter in Book/Report/Conference proceedingConference contribution

TY - GEN

T1 - Building applications with homomorphic encryption

AU - Hallman, Roger A.

AU - Gama, Nicolas

AU - Laine, Kim

AU - Malozemoff, Alex J.

AU - Carpov, Sergiu

AU - Dai, Wei

AU - Polyakov, Yuriy

PY - 2018/10/15

Y1 - 2018/10/15

N2 - In 2009, Craig Gentry introduced the first “fully" homomorphic encryption scheme allowing arbitrary circuits to be evaluated on encrypted data [17]. Homomorphic encryption is a very powerful cryptographic primitive, though it has often been viewed by practitioners as too inefficient for practical applications. However, the performance of these encryption schemes has come a long way from that of Gentry’s original work: there are now several well-maintained libraries implementing homomorphic encryption schemes and protocols demonstrating impressive performance results, alongside an ongoing standardization effort by the community. In this tutorial we survey the existing homomorphic encryption landscape, providing both a general overview of the state of the art, as well as a deeper dive into several of the existing libraries. We aim to provide a thorough introduction to homomorphic encryption accessible by the broader computer security community. Several of the presenters are core developers of well-known publicly available homomorphic encryption libraries, and organizers of the homomorphic encryption standardization effort HomomorphicEncryption.org [2]. This tutorial is targeted at application developers, security researchers, privacy engineers, graduate students, and anyone else interested in learning the basics of modern homomorphic encryption. The tutorial is divided into two parts: Part I is accessible by everyone comfortable with basic college-level math; Part II will cover more advanced topics, including descriptions of some of the different homomorphic encryption schemes and libraries, concrete example applications and code samples, and a deeper discussion on implementation challenges. Part II requires the audience to be familiar with modern C++.

AB - In 2009, Craig Gentry introduced the first “fully" homomorphic encryption scheme allowing arbitrary circuits to be evaluated on encrypted data [17]. Homomorphic encryption is a very powerful cryptographic primitive, though it has often been viewed by practitioners as too inefficient for practical applications. However, the performance of these encryption schemes has come a long way from that of Gentry’s original work: there are now several well-maintained libraries implementing homomorphic encryption schemes and protocols demonstrating impressive performance results, alongside an ongoing standardization effort by the community. In this tutorial we survey the existing homomorphic encryption landscape, providing both a general overview of the state of the art, as well as a deeper dive into several of the existing libraries. We aim to provide a thorough introduction to homomorphic encryption accessible by the broader computer security community. Several of the presenters are core developers of well-known publicly available homomorphic encryption libraries, and organizers of the homomorphic encryption standardization effort HomomorphicEncryption.org [2]. This tutorial is targeted at application developers, security researchers, privacy engineers, graduate students, and anyone else interested in learning the basics of modern homomorphic encryption. The tutorial is divided into two parts: Part I is accessible by everyone comfortable with basic college-level math; Part II will cover more advanced topics, including descriptions of some of the different homomorphic encryption schemes and libraries, concrete example applications and code samples, and a deeper discussion on implementation challenges. Part II requires the audience to be familiar with modern C++.

UR - http://www.scopus.com/inward/record.url?scp=85056833297&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=85056833297&partnerID=8YFLogxK

U2 - https://doi.org/10.1145/3243734.3264420

DO - https://doi.org/10.1145/3243734.3264420

M3 - Conference contribution

T3 - Proceedings of the ACM Conference on Computer and Communications Security

SP - 2160

EP - 2162

BT - CCS 2018 - Proceedings of the 2018 ACM SIGSAC Conference on Computer and Communications Security

PB - Association for Computing Machinery

ER -

Hallman RA, Gama N, Laine K, Malozemoff AJ, Carpov S, Dai W et al. Building applications with homomorphic encryption. In CCS 2018 - Proceedings of the 2018 ACM SIGSAC Conference on Computer and Communications Security. Association for Computing Machinery. 2018. p. 2160-2162. (Proceedings of the ACM Conference on Computer and Communications Security). https://doi.org/10.1145/3243734.3264420