Cryptography is considered to be one of the best application of rust. So I was wondering what cryptography crates people usually use. I see many crates that are abandoned, and other discussions I found on this topic are 2+ years old.

all 6 comments

sorted by: hot top controversial new old
[–] 20 points 1 month ago

blessed.rs is my usual place to get started with these sorts of questions, and they have a section on cryptography crates.

  • source
  • [–] 15 points 1 month ago

    Cryptography is considered to be one of the best application of rust.

    Cryptography itself requires using assembly to avoid timing attacks. Using Rust on top of that is indeed a good match, and a widely used one (e.g. aws-lc-rs)

  • source
  • [–] 7 points 1 month ago

    The RustCrypto organization has a bunch of crates for common crypto schemes. From when I looked into some of it, it looked pretty solid. It seems well maintained compared to other options, although most crates still have not reached version 1.0 and might be relatively new in the grand scheme of things, which is something to consider when security is critical.

  • source
  • [–] 4 points 1 month ago (2 children)

    aws-lc-rs is probably the most popular but also quite annoying because it uses C, so cross-compiling is a bit of a pain. I only managed to do it thanks to cargo zigbuild which is amazing. (And kind of embarrassing that Rust has to use Zig to get a nice cross-compiling UX, but hey it works.)

    The other one is ring, which I'm not really sure the status of but I recall they had some super weird versioning policies that weren't very popular.

  • source
  • hideshow 2 child comments
  • [–] 3 points 4 weeks ago (1 child)

    I only managed to do it thanks to cargo zigbuild which is amazing. (And kind of embarrassing that Rust has to use Zig to get a nice cross-compiling UX, but hey it works.)

    As in cross didn't work for this?

  • source
  • parent
  • hideshow 1 child comment
  • [–] 5 points 4 weeks ago

    cross requires Docker which is a really awkward dependency, especially on Windows and Mac, or if you're already in Docker, e.g. in CI or a dev container.

    Plus it's quite slow. Cargo zigbuild was a much nicer solution when I finally resorted to it. Zig is easy to install, even on Debian - just download and untar.

  • source
  • parent