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

Joel Kuepper

dblp:334/1927 · DBLP profile ↗
← Back
1ranked-venue papers
1as first author
1since 2021 · last 2023
0000-0002-0643-2440ORCID · reported

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 1 · 1 first-author · 1 since 2021

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.

Software engineering, system software, and programming languages
1 paper
Compilers and program optimization · 77% Program verification · 23%
Network and information security
1 paper
Cryptographic primitives and cryptanalysis · 100%

Topics — the 3 heaviest of 3, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Cryptographic primitives and cryptanalysis
finite field arithmetic
0.712023
CryptOpt: Verified Compilation with Randomized Program Search for Cryptographic Primitives · Proc. ACM Program. Lang. 2023
Compilers and program optimization
verified compilation
0.712023
CryptOpt: Verified Compilation with Randomized Program Search for Cryptographic Primitives · Proc. ACM Program. Lang. 2023
Program verification › formal proof
mechanized proof
0.212023
CryptOpt: Verified Compilation with Randomized Program Search for Cryptographic Primitives · Proc. ACM Program. Lang. 2023

Methods — techniques the papers use, named apart from their topics

symbolic execution · 1.3randomized program search · 1.3SMT solving · 1.3
YearPublicationVenuePosition
2023 CryptOpt: Verified Compilation with Randomized Program Search for Cryptographic Primitives
abstract
Most software domains rely on compilers to translate high-level code to multiple different machine languages, with performance not too much worse than what developers would have the patience to write directly in assembly language. However, cryptography has been an exception, where many performance-critical routines have been written directly in assembly (sometimes through metaprogramming layers). Some past work has shown how to do formal verification of that assembly, and other work has shown how to generate C code automatically along with formal proof, but with consequent performance penalties vs. the best- known assembly. We present CryptOpt, the first compilation pipeline that specializes high-level cryptographic functional programs into assembly code significantly faster than what GCC or Clang produce, with mechanized proof (in Coq) whose final theorem statement mentions little beyond the input functional program and the operational semantics of x86-64 assembly. On the optimization side, we apply randomized search through the space of assembly programs, with repeated automatic benchmarking on target CPUs. On the formal-verification side, we connect to the Fiat Cryptography framework (which translates functional programs into C-like IR code) and extend it with a new formally verified program-equivalence checker, incorporating a modest subset of known features of SMT solvers and symbolic-execution engines. The overall prototype is quite practical, e.g. producing new fastest-known implementations of finite-field arithmetic for both Curve25519 (part of the TLS standard) and the Bitcoin elliptic curve secp256k1 for the Intel 12𝑡ℎ and 13𝑡ℎ generations.
Joel Kuepper, Andres Erbsen, Jason Gross, Owen Conoly, Chuyue Sun, Samuel Tian, Adam Chlipala, Chitchanok Chuengsatiansup, Daniel Genkin, Markus Wagner 0007, Yuval Yarom
Proc. ACM Program. Lang.1