Safe, fast, small crypto using Rust (by briansmith)

Ring Alternatives

Similar projects and alternatives to ring

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a better ring alternative or higher similarity.

ring reviews and mentions

Posts with mentions or reviews of ring. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-12-09.
  • Data-driven performance optimization with Rust and Miri
    9 projects | news.ycombinator.com | 9 Dec 2022
  • Releasing Rust Binaries with GitHub Actions - Part 2
    2 projects | dev.to | 21 Nov 2022
    The AWS Rust library we were using as a dependency depended on a cryptography library called ring. This library leverages C and assembly code to implement its cryptographic primitives. Unfortunately, cross compiling when C is involved can add complexity to the build process. While it might've been possible to overcome these issues I decided that it wasn't worth digging into more.
  • Urgent Upcoming OpenSSL release patches critical vulnerability
    4 projects | news.ycombinator.com | 29 Oct 2022
    Ring, unfortunately, has quite toxic project leadership with a history of making hostile decisions towards their contributors and userbase ( see https://github.com/briansmith/ring/issues/774 for one example ). Something to be aware of if you're considering building with it.
    4 projects | news.ycombinator.com | 29 Oct 2022
    That'd be great. Thanks Brian. Re: making ring portable to all platforms: IBM have been graciously maintaining a up to date patchset for Ring for years now and there's an outstanding PR here you may not have seen since they filed it in 2020... https://github.com/briansmith/ring/pull/1057
  • OpenSSL Security Advisory [5 July 2022]
    6 projects | news.ycombinator.com | 5 Jul 2022
    Beyond the simple matter of Rust being much newer than OpenSSL, one concern for some cryptographic primitives is the timing side-channel.


    In high level languages like Rust, the compiler does not prioritise trying to emit machine code which executes in constant time for all inputs. OpenSSL has implementations for some primitives which are known to be constant time, which can be important.

    One option if you're working with Rust anyway would be use something like Ring:


    Ring's primitives are just taken from BoringSSL which is Google's fork of OpenSSL, they're a mix of C and assembly language, it's possible (though fraught) to write some constant time algorithms in C if you know which compiler will be used, and of course it's possible (if you read the performance manuals carefully) to write constant time assembly in many cases.

    In the C / assembly language code of course you do not have any safety benefits.

    It can certainly make sense to do this very tricky primitive stuff in dangerous C or assembly, but then write all the higher level stuff in Rust, and that's the sort of thing Ring is intended for. BoringSSL for example includes code to do X.509 parsing and signature validation in C, but those things aren't sensitive, a timing attack on my X.509 parsing tells you nothing of value, and it's complicated to do correctly so Rust could make sense.

  • Rust's Option and Result. In Python.
    6 projects | /r/rust | 25 Jun 2022
    machine learning, neural networks, image processing, cryptography (though it is getting better), font shaping/rendering (though it is getting better), CPU/software rendering (though it is getting better)
  • Mega: Malleable Encryption Goes Awry
    2 projects | news.ycombinator.com | 21 Jun 2022
  • A C perspective - Why should I want Rust to succeed?
    7 projects | /r/rust | 18 Jan 2022
    For working software, literally no one is arguing this. For buggy, error prone important libraries written in C, like OpenSSL, yeah, maybe we should consider rewriting incrementally in a memory safe language, like Rust. See: https://github.com/briansmith/ring
  • Signal now supports group calls up to 40 people, using Rust
    2 projects | /r/rust | 16 Dec 2021
    It's interesting to see those used as opposed to something like ring or Evercrypt.
  • Crate for AES256 - which one to choose? Questions about block cipher modes and AEAD too.
    9 projects | /r/rust | 3 Dec 2021
    ring (GitHub: briansmith / ring) good: praised by many and used in other big crates good: still maintained as of now - last commit on GitHub is from October 2021 bad: no audit yet - at least I couldn't find any statement bad: I have absolutely no clue how to use this, can't find any examples on the GitHub readme and nothing in the source tree that would give it away
  • A note from our sponsor - InfluxDB
    www.influxdata.com | 8 Jun 2023
    Ingest, store, & analyze all types of time series data in a fully-managed, purpose-built database. Keep data forever with low-cost storage and superior data compression. Learn more →


Basic ring repo stats
30 days ago
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives