algebra
curve25519-dalek
Our great sponsors
algebra | curve25519-dalek | |
---|---|---|
4 | 5 | |
538 | 827 | |
2.2% | 2.4% | |
8.6 | 8.2 | |
20 days ago | 2 days ago | |
Rust | Rust | |
Apache License 2.0 | GNU General Public License v3.0 or later |
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.
algebra
-
Müsli - An experimental binary serialization framework with more choice
Love seeing the work on modes! There's definitely a use for this in cryptography, where you might want to serialize things containing elliptic curve points, which can be serialized in both "compressed" form and "uncompressed" form. We make extensive use of this in our serialization framework in arkworks: https://github.com/arkworks-rs/algebra/tree/master/serialize
-
What application will make Rust its prime ?
Rust takes the cake in the blockchain space: Substrate, Cosmos (CosmWasm), and Solana. All of the zero knowledge cryptography libraries used for layer 2 solutions are written in Rust, compiling to Wasm (see arkworks, Risc0). Ethereum's next version of smart contracts will even use a restricted subset of Wasm ("Ewasm") instead of EVM.
-
Example of how of `disallowed_method` Clippy lint in Rust 1.54 can be quite handy
Is ark a prefix Embark is using for all their Rust crates, or is it a one-off name for your future crate? If so, it might collide with our naming convention in the arkworks ecosystem: arkworks.rs
-
Best way to enforce correctness of modular arithmetic?
You can take a look at our approach in the arkworks library: https://github.com/arkworks-rs/algebra/blob/920070c60d481a29fb3c262ef9579f34cbb053a6/ff/src/fields/macros.rs#L103
curve25519-dalek
- Elliptic Curves: The Great Mystery
-
Looking for good (low level?) Elliptic Curve library
Much of what you'll find highly visibly will be high-level libraries, but look at their dependencies. For example, from the ed25519 library you may find ed25519-dalek, and from there you could find curve25519-dalek which deals in point encodings and that like. (I don't know these particular libraries; they might help or just serve as an example of a viable exploration path).
-
Identity element in ECC
What lib are you using? I would probably suggest to use the Ristretto Group abstraction for safety. The curve25519-dalek crate has that.
-
How mathematically intense can theoretical cryptography get?
Grabbing an abstraction like the Ristretto Group with implementations available curve25519-dalek, can get you very far. You can build stuff like ECIES, Diffie-Hellman, Schnorr Signatures, Aggregated Signatures, etc, without requiring entering the details of EC math.
-
Biscuit authentication/authorization tokens are released in v1.0
curve25519-dalek for the cryptographic implementation of Ristretto
What are some alternatives?
mathjs - An extensive math library for JavaScript and Node.js
rust-crypto - A (mostly) pure-Rust implementation of various cryptographic algorithms.
gridiron - Rust finite field library with fixed size multi-word values
ed25519-dalek - Fast and efficient ed25519 signing and verification in Rust.
rust - Empowering everyone to build reliable and efficient software.
rust-openssl - OpenSSL bindings for Rust
borrowme - The missing compound borrowing for Rust.
octavo - Highly modular & configurable hash & crypto library
Git - Git Source Code Mirror - This is a publish-only repository but pull requests can be turned into patches to the mailing list via GitGitGadget (https://gitgitgadget.github.io/). Please follow Documentation/SubmittingPatches procedure for any of your improvements.
suruga - [INACTIVE] TLS 1.2 implementation in Rust
parking_lot - Compact and efficient synchronization primitives for Rust. Also provides an API for creating custom synchronization primitives.
rustls - A modern TLS library in Rust