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
N1 - Funding Information:
This work was supported in parts by awards from the National Science Foundation (No. 1561536), Nvidia, Horizon 2020 Framework Programme (No. 727528), Fonds Unique Interministériel CRYPTO-COMP project, Microsoft Corporation, the Alfred P. Sloan Foundation REVET project, the Office of Naval Research ILIR and ESTEP Programs, and SPAWAR Systems Center Pacific NISE Program. This research includes work supported in part by the Office of the Director of National Intelligence (ODNI), Intelligence Advanced Research Projects Activity (IARPA). The views and conclusions contained herein are those of the authors and should not be interpreted as necessarily representing the official policies, either express or implied, of ODNI, IARPA, or the U.S. Government. The U.S. Government is authorized to reproduce and distribute reprints for governmental purposes notwithstanding any copyright annotation therein.
Publisher Copyright:
© 2018 Copyright held by the owner/author(s).
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++.
KW - Application development
KW - Cryptography standardization
KW - Homomorphic encryption
KW - Secure computation
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 - 10.1145/3243734.3264420
DO - 10.1145/3243734.3264420
M3 - Conference contribution
AN - SCOPUS:85056833297
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
T2 - 25th ACM Conference on Computer and Communications Security, CCS 2018
Y2 - 15 October 2018
ER -