I’m happy to announce the second release of callipyge which is an implementation of curve25519
in OCaml and eqaf which is an implementation of the equal function on string
in a linear time - specially to avoid timing attacks.
digestif will be updated with eqaf
too.
The goal of callipyge
is to have a good implementation of curve25519
but it should be replaced by a C stub extracted from the HACL Star project (like what Firefox does). So, currently, we provide this implementation which is 3 times slower than the reference implementation.
Then, it’s a good project to introduce eqaf
which provides only one function equal : string -> string -> bool
(a binding to the OpenBSD’s implementation) and ensure to execute this function on linear time and avoid timing attacks. So we did some benchmarks and compare them with the current implementation of String.equal
from the standard library of OCaml. Then, we get expected results: in any situation eqaf
took the same time to compare two string
which is not the case with String.equal
.
So, happy hacking!