The Center's research efforts are producing open-source prototype implementations. Our goal is to experiement with the techniques developed by center researchers.

5Gen: An Experimental Framework

We developed 5Gen, a framework for prototyping applications of multilinear maps and matrix branching programs. The framework is modular and built as a stack of three layers: (1) the top layer is an optimizing compiler that takes in a high-level program and compiles it to an optimized matrix branching program, as needed for obfuscation and functional encryption experiments; (2) the second layer is an implementation of several obfuscators and MIFE (multi-input functional encryption) systems; (3) The bottom layer is an implementation of several multilinear map candidates. The framework can accommodate new mmap constructions as well as new obfuscators and MIFE constructions. We expect to continue using the framework as new constructions become available.

Our paper uses the 5Gen framework to give performance numbers for a number of MIFE and obfuscation constructions.

Source code: available on GitHub

Joint work with Daniel Apon, David Archer, Dan Boneh, Brent Carmer, Adam Foltzer, Jonathan Katz, Kevin Lewi, Alex Malozemoff, Mariana Raykova and Daniel Wagner