RustCrypto
password-hashes
Our great sponsors
RustCrypto | password-hashes | |
---|---|---|
10 | 5 | |
641 | 578 | |
3.3% | 3.8% | |
7.6 | 7.6 | |
4 days ago | 20 days ago | |
Rust | Rust | |
MIT License | - |
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.
RustCrypto
-
(Why) is a toy password manager a too complex summer project?
I would say a toy (or personal-use-only) password manager is a relatively simple project. If we are to forget about the GUI parts, you need to determine serialization of your password database (bincode + serde should be enough) and how to encrypt it. For the latter you need only two algorithms: a password hash for deriving encryption key from password and optional salt (the latter is usually randomly generated and stored as a "key file"), and an AEAD algorithm for encrypting and decrypting serialized database. There are certain pitfalls with encryption (e.g. you should not reuse nonce with the same key, especially with modes like GCM) and with properly erasing sensitive data from memory, as well as preventing it from leaking to things like swap, but learning about those is part of the learning experience.
-
Announcing street-cred 0.1.1 - My first Rust crate
FYI: the rust-crypto crate is unmaintained. Take a look at https://github.com/RustCrypto/AEADs instead
-
Help using ring to decrypt encrypted bytes using AES key (using AEAD).
For AEAD with AES, you may want to use RustCrypto (https://github.com/RustCrypto/AEADs.git) instead
-
Dexios - a secure command-line encryption tool.
Dexios is a secure command-line encryption tool, that uses audited crates provided by the RustCrypto Team.
-
Idiomatically initializing and using a variable with two different types
This is in relation to RustCrypto/AEADs#421 - myself and another user are having the exact same issue.
-
SafeCloset, a Secret Safe - Why and how I made it in Rust
I choose an AEDS crate from the RustCrypto group: AES-GCM in its SIV variant (the SIV variant isn't really needed but it doesn't cost much).
-
Crate for AES256 - which one to choose? Questions about block cipher modes and AEAD too.
Use RustCrypto's aes with one of its block modes (https://docs.rs/block-modes/latest/block_modes/) or AEAD algorithms (https://github.com/RustCrypto/AEADs). There's a lot of modular stuff in RustCrypto, just need to browse a little 😉.
-
Sodiumoxide has been deprecated
crypto_secretbox: https://github.com/RustCrypto/AEADs/tree/master/xsalsa20poly1305
-
What encryption crates do you guys recommend, especially one with support for streams
I'd recommend https://github.com/RustCrypto/AEADs. RustCrypto's crates are high quality, widely used and some have even been audited. Unfortunately they don't provide a read/write interface.
- How to implement a simple password-based encryption with ring?
password-hashes
-
(Why) is a toy password manager a too complex summer project?
I would say a toy (or personal-use-only) password manager is a relatively simple project. If we are to forget about the GUI parts, you need to determine serialization of your password database (bincode + serde should be enough) and how to encrypt it. For the latter you need only two algorithms: a password hash for deriving encryption key from password and optional salt (the latter is usually randomly generated and stored as a "key file"), and an AEAD algorithm for encrypting and decrypting serialized database. There are certain pitfalls with encryption (e.g. you should not reuse nonce with the same key, especially with modes like GCM) and with properly erasing sensitive data from memory, as well as preventing it from leaking to things like swap, but learning about those is part of the learning experience.
-
PasswordRs 0.1.0 released (Rust NIF for password hashing)
I 'cheated' by forwarding everything to their separate Rust libraries which are maintained by https://github.com/RustCrypto/password-hashes . Ofcourse by adding the Elixir wrapper this could have introduced security issues (sadly I don't have enough knowledge about how NIF's handle memory ect. to test/check this myself)
- Encryption / Decryption with Rust | Good Resources / Crates?
-
[ANN] password-auth v0.1: a simple, easy-to-use password authentication library
As noted in the announcement, it's using the latest OWASP recommended parameters for Argon2, namely Argon2id with 19 MiB of memory, an iteration count of 2, and 1 degree of parallelism.
-
Hey Rustaceans! Got an easy question? Ask here (1/2022)!
For password handling, I have had good experience with password-hash and the various algorithm implementations in the password-hashes repo.
What are some alternatives?
ring - Safe, fast, small crypto using Rust
Gitea - Git with a cup of tea! Painless self-hosted all-in-one software development service, including Git hosting, code review, team collaboration, package registry and CI/CD
rustls - A modern TLS library in Rust
pbrt-v3 - Source code for pbrt, the renderer described in the third edition of "Physically Based Rendering: From Theory To Implementation", by Matt Pharr, Wenzel Jakob, and Greg Humphreys.
sodiumoxide - [DEPRECATED] Sodium Oxide: Fast cryptographic library for Rust (bindings to libsodium)
rustler_precompiled - Use precompiled NIFs from trusted sources in your Elixir code
rust-crypto - A (mostly) pure-Rust implementation of various cryptographic algorithms.
pslink
orion - Usable, easy and safe pure-Rust crypto [Moved to: https://github.com/orion-rs/orion]
password-rs - Elixir wrapper around rust password hashes
Ockam - Orchestrate end-to-end encryption, cryptographic identities, mutual authentication, and authorization policies between distributed applications – at massive scale.
libs-team - The home of the library team