Cryptology ePrint Archive: Report 2016/619

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

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

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.

Category / Keywords: implementation / multilinear maps, matrix branching programs, functional encryption, obfuscation

Original Publication (with major differences): ACM CCS 2016

Date: received 14 Jun 2016, last revised 15 Nov 2016

Contact author: klewi at cs stanford edu

Available format(s): PDF | BibTeX Citation

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

Version: 20161115:200130 (All versions of this report)

Short URL:

Discussion forum: Show discussion | Start new discussion

[ Cryptology ePrint archive ]