Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Brent Carmer

dblp:173/1667 · DBLP profile ↗
← Back
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

TopicWeightPapersLastEvidence papers
Cryptographic primitives and cryptanalysis
functional encryption
0.732019
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.512021
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.512021
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.412019
Public-Key Function-Private Hidden Vector Encryption (and More) · ASIACRYPT (3) 2019
Cryptographic primitives and cryptanalysis › functional encryption
hidden vector encryption
0.412019
Public-Key Function-Private Hidden Vector Encryption (and More) · ASIACRYPT (3) 2019
Cryptographic primitives and cryptanalysis › public-key cryptography
public-key encryption
0.412019
Public-Key Function-Private Hidden Vector Encryption (and More) · ASIACRYPT (3) 2019
Cryptographic primitives and cryptanalysis › functional encryption
multi-input functional encryption
0.422017
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.312017
5Gen-C: Multi-input Functional Encryption and Program Obfuscation for Arithmetic Circuits · CCS 2017
Program synthesis and code generation
component-based synthesis
0.312017
Look for the Proof to Find the Program: Decorated-Component-Based Program Synthesis · CAV (2) 2017
Logic in computer science
proof theory
0.312017
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.212016
Linicrypt: A Model for Practical Cryptography · CRYPTO (3) 2016
Cryptographic primitives and cryptanalysis › public-key cryptography › algebraic cryptography
multilinear maps
0.212016
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
YearPublicationVenuePosition
2021 A type system for extracting functional specifications from memory-safe imperative programs
abstract
Verifying 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 Circuits
abstract
Program 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
CCS1
2016 5Gen: A Framework for Prototyping Applications Using Multilinear Maps and Matrix Branching Programs
abstract
Secure 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
CCS4
2016 Linicrypt: A Model for Practical Cryptography
Brent Carmer, Mike Rosulek
CRYPTO (3)1
2015 Vamonos: Embeddable visualizations of advanced algorithms
abstract
We 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
FIE1