5Gen: A Framework for Prototyping Applications Using Multilinear Maps and Matrix Branching Programs

Kevin Lewi, Alex J. Malozemoff, Daniel Apon, Brent Carmer, Adam Foltzer, Daniel Wagner, David W. Archer, Dan Boneh, Jonathan Katz, and Mariana Raykova

Abstract

Secure multilinear maps (mmaps) have been shown to have remarkable applications in cryptography, such as program obfuscation and multi-input functional encryption (MIFE). To date, there has been little evaluation of the performance of these applications. In this paper we initiate a systematic study of mmap-based constructions. We build a general framework, called 5Gen, to experiment with these applications. At the top layer we develop an optimizing compiler that takes in a high-level program and compiles it to an optimized matrix branching program needed for the applications we consider. Next, we optimize and experiment with several obfuscators and MIFE constructions and evaluate their performance. The 5Gen framework is modular and can easily accommodate new mmap constructions as well as new obfuscators and MIFE constructions. 5Gen is an open-source tool that can be used by other research groups to experiment with a variety of mmap-based constructions.

Note: Removed erroneous reference to 128-core machine in Table 8.3.

Available format(s)
Category
Implementation
Publication info
Published elsewhere. Major revision.ACM CCS 2016
Keywords
multilinear mapsmatrix branching programsfunctional encryptionobfuscation
Contact author(s)
klewi @ cs stanford edu
History
2016-11-15: last of 2 revisions
See all versions
Short URL
https://ia.cr/2016/619

CC BY

BibTeX

@misc{cryptoeprint:2016/619,
author = {Kevin Lewi and Alex J.  Malozemoff and Daniel Apon and Brent Carmer and Adam Foltzer and Daniel Wagner and David W.  Archer and Dan Boneh and Jonathan Katz and Mariana Raykova},
title = {5Gen: A Framework for Prototyping Applications Using Multilinear Maps and Matrix Branching Programs},
howpublished = {Cryptology ePrint Archive, Paper 2016/619},
year = {2016},
note = {\url{https://eprint.iacr.org/2016/619}},
url = {https://eprint.iacr.org/2016/619}
}

Note: In order to protect the privacy of readers, eprint.iacr.org does not use cookies or embedded third party content.