~/talk

Fast Cryptographic Code via Partial Evaluation

Talkat PEPM 2023 · 2023-01-16..01-17· [security, compilers-and-language-design]
slides:none on file

Generates mechanically verified, high-performance cryptographic C from Coq: a verified compiler using partial evaluation, abstract interpretation and normalization-by-evaluation specializes generic modular-arithmetic code to a prime and digit layout and produces C that is 5–10× faster than a generic multiprecision baseline on 64-bit x86. Tooling includes Rupicola for C-like extraction, Bedrock2 for low-level proofs, and a verified x86 validator that checks assembly found by a genetic search; on recent Intel CPUs the search yields new world‑champion implementations.

AI-written summary · about

  1. 0:00Intro
  2. 2:35Outline
  3. 3:05Web Browsing with SSL Web Server
  4. 8:05We introduced Fiat Cryptography. Parameters
  5. 8:57Wide Adoption
  6. 9:33Correct-by-Construction Cryptography
  7. 11:57Generated Code
  8. 12:48Surprising (?) Fact About Modular Arithmetic
  9. 16:43The Basic Idea
  10. 17:49Example: Multiplication (for modulus 2127 - 1)
  11. 22:04Compiling to Low-Level Code
  12. 23:42Implementation and Experiments
  13. 24:57Many-Primes Experiment
  14. 27:32P-256 Mixed Addition
  15. 28:53Adoption?
  16. 31:44Did Formal Methods Make a Big Difference?
  17. 37:42Not all sunshine & roses....
  18. 38:53Proof by Reflection
  19. 40:27What is the generic reducer doing?
  20. 42:27Parametric Higher-Order Abstract Syntax (PHOAS)
  21. 42:46Normalization by Evaluation (more detail)
  22. 43:26Not quite outputting plain expressions....
  23. 45:54Hoare Logic Reordered
  24. 46:52Rupicola Architecture
  25. 47:57Rupicola Compilation Example
  26. 51:02CryptOpt Architecture
  27. 52:53A Minimal Equivalence Checker
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.