RustCrypto
rage
Our great sponsors
RustCrypto | rage | |
---|---|---|
10 | 36 | |
641 | 2,326 | |
3.3% | - | |
7.6 | 9.0 | |
4 days ago | 19 days ago | |
Rust | Rust | |
MIT 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.
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?
rage
- Do any libraries exist for zero-trust file storage (storing client-encrypted data on the server without the key)?
-
JSON compression in the browser, with gzip and the Compression Streams API.
I have already built this into a small feature in my app, but I do plan to integrate it deeper and bake it into the core functionality soon. Which should be another interesting problem to solve as the app has integrated client-side encryption using Age (rage (rage-wasm)). But that's for another day...
-
Age: Modern file encryption format with multiple pluggable recipients
_o/ hi all, age author here!
The OP link is the spec, here's a few other things you might find interesting
- the Go reference implementation https://age-encryption.org
- the Go library docs https://pkg.go.dev/filippo.io/age
- the CLI man page https://filippo.io/age/age.1
- an interoperable Rust implementation by @str4d https://github.com/str4d/rage
- a YubiKey plugin by @str4d https://github.com/str4d/age-plugin-yubikey
- the draft plugin protocol specification (which we should really merge) https://github.com/C2SP/C2SP/pull/5/files?short_path=07bf8cc...
- a Windows GUI by @spieglt https://github.com/spieglt/winage
- a discussion of the authentication properties of age https://words.filippo.io/dispatches/age-authentication/
- a discussion of a potential post-quantum plugin https://words.filippo.io/dispatches/post-quantum-age/
- a password-store fork that uses age instead of gpg https://github.com/FiloSottile/passage (see also: how I use it with a YubiKey https://words.filippo.io/dispatches/passage/)
- rage: A simple, secure and modern encryption tool (and Rust library) with small explicit keys, no config options, and UNIX-style composability.
-
age.el: age encryption support for Emacs
I just added rage (https://github.com/str4d/rage) support, which does support pinentry, see https://github.com/anticomputer/age.el#known-issues for an example of how to use rage instead.
- Axcrypt -- or is there something better Reddit would recommend?
-
The PGP Problem (2019)
Really appreciate this article. It's a little snarky but it hits the mark and encourages people to try Age, which is a pretty awesome little tool.
https://age-encryption.org/v1
-
Ask HN: What does everyone use for encrypting their personal stuff?
I'm not convinced that whole-disk encryption is sensible for most threat models, but I use the built-in FileVault on macOS (under the reasoning that, at the very least, it can't really hurt).
On Linux, I use age[1] (specifically, rage[2]) to encrypt sensitive files. I wrote a secret manager that uses the latter as an encryption backend[3], and I use `rage-mount` to mount (read-only) views of encrypted archives.
[1]: https://github.com/FiloSottile/age
[2]: https://github.com/str4d/rage
[3]: https://github.com/woodruffw/kbs2
- Age – a simple, modern and secure file encryption tool, format, and Go library
- Tiny backup/encryption tool for CLI usage.
What are some alternatives?
ring - Safe, fast, small crypto using Rust
age - A simple, modern and secure encryption tool (and Go library) with small explicit keys, no config options, and UNIX-style composability.
rustls - A modern TLS library in Rust
PasswordPusher - 🔐 An application to securely communicate passwords over the web. Passwords automatically expire after a certain number of views and/or time has passed. Track who, what and when.
sodiumoxide - [DEPRECATED] Sodium Oxide: Fast cryptographic library for Rust (bindings to libsodium)
age-plugin-yubikey - YubiKey plugin for age
rust-crypto - A (mostly) pure-Rust implementation of various cryptographic algorithms.
croc - Easily and securely send things from one computer to another :crocodile: :package:
orion - Usable, easy and safe pure-Rust crypto [Moved to: https://github.com/orion-rs/orion]
tarssh - A simple SSH tarpit inspired by endlessh
Ockam - Orchestrate end-to-end encryption, cryptographic identities, mutual authentication, and authorization policies between distributed applications – at massive scale.
wormhole-gui - Cross-platform application for easy encrypted file, folder, and text sharing between devices. [Moved to: https://github.com/Jacalz/rymdport]