subtle
gridiron
subtle | gridiron | |
---|---|---|
1 | 1 | |
229 | 17 | |
0.9% | - | |
0.0 | 4.7 | |
2 months ago | 3 months ago | |
Rust | Rust | |
BSD 3-clause "New" or "Revised" License | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
subtle
-
Fact: Constant Time Programming Language
Rust has some great constant time libs already, for instance `subtle` [0]. A `derive(ConstantTimeEq)` might get you most of the way, but a constant-timeifier would be great for wrapping whole algos where you might not want to think too hard about timing side channels.
For your sleeping proposal, it sounds a little like differential privacy [1] where you can add some randomness to gain some privacy but using up your privacy budget in the process. In that case, `N` depends on the sensitivity of the data, the noise amount, and your privacy budget. If you get it right, it has provable security properties. However, that works better when the adversary does not have physical access to the machine and can't observe the intermediate state (or side channel leaks thereof).
[0]: https://github.com/dalek-cryptography/subtle
[1]: https://github.com/dalek-cryptography/subtle
gridiron
-
Constant-time comparison correctness
I worked on a library a few year ago that may be of interest. See https://github.com/IronCoreLabs/gridiron/blob/0712c0211ee510a6073b820a9fb110832ebb5b43/src/digits/constant_time_primitives.rs
What are some alternatives?
FaCT - Flexible and Constant Time Programming Language
constantine - Constantine: modular, high-performance, zero-dependency cryptography stack for proof systems and blockchain protocols.
algebra - Libraries for finite field, elliptic curve, and polynomial arithmetic
notecalc3 - NoteCalc is a handy calculator trying to bring the advantages of Soulver to the web.
kalk - Scientific calculator with math syntax that supports user-defined variables and functions, complex numbers, and estimation of derivatives and integrals
thermite - Thermite SIMD: Melt your CPU