Demo Data from VLDB 2026 / reviewers in the wild / expert
Brent Carmer
dblp:173/1667
· DBLP profile ↗
7ranked-venue papers
3as first author
1since 2021 · last 2021
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Security and privacy · 4 · 2 first-authorSoftware engineering, systems software and programming languages · 2 · 1 since 2021Human-computer interaction and ubiquitous computing · 1 · 1 first-authorTheory of computation · 1
Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.
| Network and information security
4 papers |
Cryptographic primitives and cryptanalysis · 78% Privacy and data protection · 12% Systems and software security · 10% | |
| Software engineering, system software, and programming languages
2 papers |
Programming languages and type systems · 39% Program analysis · 39% Program synthesis and code generation · 22% | |
| Theoretical computer science
1 paper |
Logic in computer science · 100% |
Topics — the 12 heaviest of 12, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Cryptographic primitives and cryptanalysis
functional encryption |
0.7 | 3 | 2019 | Public-Key Function-Private Hidden Vector Encryption (and More) · ASIACRYPT (3) 2019 5Gen-C: Multi-input Functional Encryption and Program Obfuscation for Arithmetic Circuits · CCS 2017 5Gen: A Framework for Prototyping Applications Using Multilinear Maps and Matrix Branching Programs · CCS 2016 |
Program analysis
specification mining |
0.5 | 1 | 2021 | A type system for extracting functional specifications from memory-safe imperative programs · Proc. ACM Program. Lang. 2021 |
Programming languages and type systems
type systems |
0.5 | 1 | 2021 | A type system for extracting functional specifications from memory-safe imperative programs · Proc. ACM Program. Lang. 2021 |
Privacy and data protection › privacy-preserving computation
function privacy |
0.4 | 1 | 2019 | Public-Key Function-Private Hidden Vector Encryption (and More) · ASIACRYPT (3) 2019 |
Cryptographic primitives and cryptanalysis › functional encryption
hidden vector encryption |
0.4 | 1 | 2019 | Public-Key Function-Private Hidden Vector Encryption (and More) · ASIACRYPT (3) 2019 |
Cryptographic primitives and cryptanalysis › public-key cryptography
public-key encryption |
0.4 | 1 | 2019 | Public-Key Function-Private Hidden Vector Encryption (and More) · ASIACRYPT (3) 2019 |
Cryptographic primitives and cryptanalysis › functional encryption
multi-input functional encryption |
0.4 | 2 | 2017 | 5Gen-C: Multi-input Functional Encryption and Program Obfuscation for Arithmetic Circuits · CCS 2017 5Gen: A Framework for Prototyping Applications Using Multilinear Maps and Matrix Branching Programs · CCS 2016 |
Systems and software security › software protection
code obfuscation |
0.3 | 1 | 2017 | 5Gen-C: Multi-input Functional Encryption and Program Obfuscation for Arithmetic Circuits · CCS 2017 |
Program synthesis and code generation
component-based synthesis |
0.3 | 1 | 2017 | Look for the Proof to Find the Program: Decorated-Component-Based Program Synthesis · CAV (2) 2017 |
Logic in computer science
proof theory |
0.3 | 1 | 2017 | Look for the Proof to Find the Program: Decorated-Component-Based Program Synthesis · CAV (2) 2017 |
Cryptographic primitives and cryptanalysis › cryptographic foundations
cryptographic models |
0.2 | 1 | 2016 | Linicrypt: A Model for Practical Cryptography · CRYPTO (3) 2016 |
Cryptographic primitives and cryptanalysis › public-key cryptography › algebraic cryptography
multilinear maps |
0.2 | 1 | 2016 | 5Gen: A Framework for Prototyping Applications Using Multilinear Maps and Matrix Branching Programs · CCS 2016 |
Methods — techniques the papers use, named apart from their topics
separation logic · 0.5dynamic checks · 0.5program obfuscation · 0.2compiler · 0.2
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2021 | A type system for extracting functional specifications from memory-safe imperative programsabstractVerifying imperative programs is hard. A key difficulty is that the specification of what an imperative program does is often intertwined with details about pointers and imperative state. Although there are a number of powerful separation logics that allow the details of imperative state to be captured and managed, these details are complicated and reasoning about them requires significant time and expertise. In this paper, we take a different approach: a memory-safe type system that, as part of type-checking, extracts functional specifications from imperative programs. This disentangles imperative state, which is handled by the type system, from functional specifications, which can be verified without reference to pointers. A key difficulty is that sometimes memory safety depends crucially on the functional specification of a program; e.g., an array index is only memory-safe if the index is in bounds. To handle this case, our specification extraction inserts dynamic checks into the specification. Verification then requires the additional proof that none of these checks fail. However, these checks are in a purely functional language, and so this proof also requires no reasoning about pointers. Paul He 0002, Eddy Westbrook, Brent Carmer, Chris Phifer, Valentin Robert, Karl Smeltzer, Andrei Stefanescu, Aaron Tomb, Adam Wick, Matthew Yacavone, Steve Zdancewic |
Proc. ACM Program. Lang. | 3 |
| 2019 | Public-Key Function-Private Hidden Vector Encryption (and More)
James Bartusek, Brent Carmer, Abhishek Jain 0002, Zhengzhong Jin, Tancrède Lepoint, Fermi Ma, Tal Malkin, Alex J. Malozemoff, Mariana Raykova 0001 |
ASIACRYPT (3) | 2 |
| 2017 | Look for the Proof to Find the Program: Decorated-Component-Based Program Synthesis
Adrià Gascón, Ashish Tiwari 0001, Brent Carmer, Umang Mathur 0001 |
CAV (2) | 3 |
| 2017 | 5Gen-C: Multi-input Functional Encryption and Program Obfuscation for Arithmetic CircuitsabstractProgram obfuscation is a powerful security primitive with many applications. White-box cryptography studies a particular subset of program obfuscation targeting keyed pseudorandom functions (PRFs), a core component of systems such as mobile payment and digital rights management. Although the white-box obfuscators currently used in practice do not come with security proofs and are thus routinely broken, recent years have seen an explosion of cryptographic techniques for obfuscation, with the goal of avoiding this build-and-break cycle. Brent Carmer, Alex J. Malozemoff, Mariana Raykova 0001 |
CCS | 1 |
| 2016 | 5Gen: A Framework for Prototyping Applications Using Multilinear Maps and Matrix Branching ProgramsabstractSecure multilinear maps (mmaps) have been shown to have remarkable applications in cryptography, such as multi-input functional encryption (MIFE) and program obfuscation. 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 a compiler that takes in a high-level program and produces an optimized matrix branching program needed for the applications we consider. Next, we optimize and experiment with several MIFE and obfuscation constructions and evaluate their performance. The 5Gen framework is modular and can easily accommodate new mmap constructions as well as new MIFE and obfuscation constructions, as well as being an open-source tool that can be used by other research groups to experiment with a variety of mmap-based constructions. Kevin Lewi, Alex J. Malozemoff, Daniel Apon, Brent Carmer, Adam Foltzer, Daniel Wagner 0001, David W. Archer, Dan Boneh, Jonathan Katz, Mariana Raykova 0001 |
CCS | 4 |
| 2016 | Linicrypt: A Model for Practical Cryptography
Brent Carmer, Mike Rosulek |
CRYPTO (3) | 1 |
| 2015 | Vamonos: Embeddable visualizations of advanced algorithmsabstractWe present Vamonos: a new framework for algorithm visualization, designed from the beginning to support embedding, interaction, and unlimited scope. Visualizations are executed entirely client-side on any device that supports a modern web browser; they can be embedded into any website or online textbook. Users can specify breakpoints, watched variables, provide inputs to the algorithm (e.g., by drawing a graph using a mouse), and be prompted for interaction by the visualization. The core framework supports any algorithms and data structures that can be implemented in Javascript. We have implemented a wide range of visualizations of advanced algorithms topics, including dynamic programming and graph algorithms (e.g., spanning tree, max-flow, bipartite matching algorithms). Brent Carmer, Mike Rosulek |
FIE | 1 |