The paper "CryptOpt: Verified Compilation with Randomized Program - Search for Cryptographic Primitives" by Yuval Yarom and other international colleagues has won a Human-Competitive "Humies" Gold Award at this year's Genetic and Evolutionary Computation Conference (GECCO 2023). The conference took place July 15-19 in Lisbon and is hosted by the Special Interest Group on Genetic and Evolutionary Computation (SIGEVO) of the Association for Computing Machinery (ACM). The conference, which has been held annually since 1999, presents the latest results in the research field of evolutionary computation. It is considered the largest and leading conference in the field. Since 2004, the "Humies" competition has honored contributions that produce human-competitive results through some form of genetic and evolutionary computation. Yarom has been newly appointed Professor of Computer Security at HGI in April and is PI of the CASA Cluster of Excellence.
You can access the full paper via this -> Link.
About the Paper
"CryptOpt: Verified Compilation with Randomized Program - Search for Cryptographic Primitives"
Joel Kuepper, Andres Erbsen, Jason Gross, Owen Conoly, Chuyue Sun, Samuel Tian, David Wu, Adam Chlipala, Chitchanok Chuengsatiansup, Daniel Genkin, Markus Wagner , Yuval Yarom
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 for the relatively new Intel i9 12G, of finite-field arithmetic for both Curve25519 (part of the TLS standard) and the Bitcoin elliptic curve secp256k1.
General note: In case of using gender-assigning attributes we include all those who consider themselves in this gender regardless of their own biological sex.