UPDF AI

Certified Verification of Algebraic Properties on Low-Level Mathematical Constructs in Cryptographic Programs

M. Tsai,Bow-Yaw Wang,Bo-Yin Yang

2017 · DOI: 10.1145/3133956.3134076
Conference on Computer and Communications Security · 19 Citations

TLDR

A certified technique is developed to verify low-level mathematical constructs in X25519, the default elliptic curve Diffie-Hellman key exchange protocol used in OpenSSH, and an algebraic specification of mathematical constructs is translated into angebraic problem.

Abstract

Mathematical constructs are necessary for computation on the underlying algebraic structures of cryptosystems. They are often written in assembly language and optimized manually for efficiency. We develop a certified technique to verify low-level mathematical constructs in X25519, the default elliptic curve Diffie-Hellman key exchange protocol used in OpenSSH. Our technique translates an algebraic specification of mathematical constructs into an algebraic problem. The algebraic problem in turn is solved by the computer algebra system Singular. The proof assistant Coq certifies the translation and solution to algebraic problems. Specifications about output ranges and potential program overflows are translated to SMT problems and verified by SMT solvers. We report our case studies on verifying arithmetic computation over a large finite field and the Montgomery Ladderstep, a crucial loop in X25519.