~/talk

Formal Functional Correctness of libsecp256k1's Modular Inverse

slides:none on file

Completes a computer-verified proof that one libsecp256k1 modular-inverse implementation actually computes inverses and terminates, formalizing the safe GCD termination argument (convex-hull proof rechecked from Python/Haskell reimplementations) and proving the C implementation correct with Coq with Verifiable C / VST tied to CompCert semantics; the verified C routine corresponds to code merged into libsecp256k1 (included in Bitcoin), while noting the proof covers functional correctness but not constant-timeness or C++ features.

AI-written summary · about

  1. 0:00Formal correctness journey
  2. 1:13Humans writing correct software
  3. 5:28Proof theory to formalized math
  4. 8:25Modular inverse algorithms history
  5. 11:57Safe GCD algorithm correctness
  6. 16:15Termination proofs to code
  7. 18:24Implementation correctness with separation logic
  8. 23:38Verifying C code in libsecp256k1
  9. 25:24Adopt formal verification tools
~/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.