awesome-bits
:computer: A curated list of awesome bitwise operations and tricks (by keon)
subtle
Pure-Rust traits and utilities for constant-time cryptographic implementations. (by dalek-cryptography)
awesome-bits | subtle | |
---|---|---|
3 | 1 | |
3,033 | 230 | |
- | 0.4% | |
0.0 | 0.0 | |
10 months ago | 3 months ago | |
Rust | ||
- | BSD 3-clause "New" or "Revised" License |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
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.
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.
awesome-bits
Posts with mentions or reviews of awesome-bits.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2022-04-19.
- A list of bitwise operations and tricks
- Awesome-bits: A curated list of bitwise operations and tricks
-
Big list of functions related to bit manipulation (across programming languages)?
I am working on implementing a programming language and am on the bit-manipulation part (bit shifting, etc.). I have found some of the functions interesting, and have seen the curation pages like Bit Twiddling Hacks on Stanford's website, and keon/awesome-bits on GitHub. However, these are far from comprehensive. The bit-twiddling hacks (most of which were ported to JavaScript) are missing common things like checking if a number is even/odd, etc.. Looking around a little, I found a function called tc2sm "Convert from two's complement to sign-magnitude".
subtle
Posts with mentions or reviews of subtle.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2022-10-23.
-
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
What are some alternatives?
When comparing awesome-bits and subtle you can also consider the following projects:
bit-twiddle - Bit twidling hacks for node.js
FaCT - Flexible and Constant Time Programming Language