Investigate: CT tooling, especially considering CI
There are a number of projects aiming to help with ensuring constant-time execution.
- Which ones are "good enough" for us?
- Which ones are reasonable to adopt and can work in CI
- How realistic is it to use proving systems to machine check correctness for synedrion? (some tools seem to attempt to prove both correctness and constant time execution).
- In general, just how constant does execution need to be to plug usable side channel attacks? Build up an intuition for what is "enough" here.
Interesting projects:
- dudect (paper [here](https://eprint.iacr.org/2016/1123))
- cargo-checkct (repo [here](https://github.com/Ledger-Donjon/cargo-checkct))
- Amazon's s2n-bignum (repo [here](https://github.com/awslabs/s2n-bignum) using the [HOL-light](https://hol-light.github.io/) theorem prover)
- … TODO: find other candidates
0 条评论