block-ciphers
api-guidelines
block-ciphers | api-guidelines | |
---|---|---|
7 | 32 | |
636 | 1,206 | |
1.9% | 0.6% | |
7.6 | 3.3 | |
2 months ago | 2 months ago | |
Rust | ||
- | 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.
block-ciphers
-
Hey Rustaceans! Got a question? Ask here (15/2023)!
If found this set of crates for other algorithms : https://github.com/RustCrypto/hashes And also found this set of crates that seem to include a lot of block cyphers : https://github.com/RustCrypto/block-ciphers Even if "des" is listed as a crate in this last link, it doesn't seem to provide the DES algorithm entirely.
-
Cargo complains over yanked dependency
If you are trying to use it as a library in your own crate then I would suggest looking at the [patch.crates-io] section of your Cargo.toml. It should allow you to override the dependency and point it to something else. Under that section set aes = { git = 'https://github.com/RustCrypto/block-ciphers', rev = 'e59142b26edcaa5e287c7e5067be8a501b42f9cb' }, changing the rev key to whichever commit has the right version of the crate when it was published. Then do the same for block-cipher and any others that it cannot find the version for but with the correct repository and commit.
-
Crate for AES256 - which one to choose? Questions about block cipher modes and AEAD too.
aes (GitHub: RustCrypto / block-ciphers / aes) good: still maintained as of now - last commit on GitHub is from October 2021 good: examples look easy to use good: has received an audit by NCC Group bad: seems a bit too low level - the example provided only shows usage with data that is exactly block sized - seems there is no padding handling for real world use cases
- Benchmarking symmetric encryption (AEAD) in Rust
-
Encrypting Data Between Raspberry Pi 4s Using PyCryptodome
I have no idea which libraries have the best code for Raspberry Pi 4. I think it doesn't have hardware AES, so an implementation of AES that doesn't leak secret bits through side channels and is fast would be complicated. The code I would trust is this: https://github.com/RustCrypto/block-ciphers but I have no idea whether it has python bindings. I would also sorry about correctly reusing buffers or else the memory allocation would be the bottleneck.
-
How to encrypt text file with Rust?
You should look at this this: https://github.com/rust-cc/awesome-cryptography-rust and you probably need this: https://github.com/RustCrypto/block-ciphers
-
Pure Functional cipher
For example, here is a bitsliced AES S-box written in single assignment form. Granted that's not the entire cipher, but the entire cipher can be implemented that way if you so desire.
api-guidelines
- Best practices for designing traits in public crates?
-
Functional Options Pattern in Go and Rust
Just wanting to let this here for some further input: - https://rust-lang.github.io/api-guidelines/ - https://rust-unofficial.github.io/patterns/ - https://deterministic.space/elegant-apis-in-rust.html
-
Hey Rustaceans! Got a question? Ask here (15/2023)!
The API guidelines will help you write nice APIs. Clippy will usually at least find some things, try running with -Wclippy::pedantic for a lot more messages. Also you can ask mentors for specific guidance. Hope that helps.
-
Naming traits
There has been some previous discussion on this here: https://github.com/rust-lang/api-guidelines/discussions/28
-
What is the proper guidance on using generics as parameters for an API
I'm currently writing an API and using the API guidelines book. On the Flexibility page, there's a section on using generics as function parameters to minimize assumptions. The issue that I'm having is that the only example it gives is std::fs::File::open. Specifically, I want to know what is the "standard" way to use generics as parameters?
-
Prefixes in name and Reexports
I search up in the rust-api-guideline, but no luck finding something like this. There used to be an Organization according to this thread, but upon digging the repo commits, it was deleted by this commit. "We can reintroduce this section if we come up with a way to give firmer advice here."
-
What are some good practices when writing rust?
public api of a library should follow Rust API Guidelines.
-
astro-float 0.6.6 arbitrary precision floating point library update
API was made compliant with Rust API Guidelines.
-
Picking Up Rust Before C With My Goals In Mind?
Finally, there's also the Little Book of Rust Books where you could look for tutorial materials or things like like Rust Design Patterns, Rust API Guidelines, and The Rust Performance Book. (See also rust-learning)
-
Learning rust
Rust API Guidelines: If you're planning on building libraries or APIs in Rust, these guidelines provide recommendations for designing and presenting APIs in the language. They're written by the Rust library team, based on their experience building the Rust standard library and other crates in the ecosystem.
What are some alternatives?
rust-crypto - A (mostly) pure-Rust implementation of various cryptographic algorithms.
wasm-bindgen - Facilitating high-level interactions between Wasm modules and JavaScript
RCIG_Coordination_Repo - A Coordination repo for all things Rust Cryptography oriented
patterns - A catalogue of Rust design patterns, anti-patterns and idioms
tailscale - The easiest, most secure way to use WireGuard and 2FA.
too-many-lists - Learn Rust by writing Entirely Too Many linked lists
utils - Utility crates used in RustCrypto
idiomatic-rust - 🦀 A peer-reviewed collection of articles/talks/repos which teach concise, idiomatic Rust.
dsvpn - A Dead Simple VPN.
rust - Empowering everyone to build reliable and efficient software.
RustCrypto - Authenticated Encryption with Associated Data Algorithms: high-level encryption ciphers
gdnative - Rust bindings for Godot 3