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 →
Similar projects and alternatives to ring
A modern TLS library in Rust
A (mostly) pure-Rust implementation of various cryptographic algorithms.
Access the most powerful time series database as a service. 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.
Fast and efficient ed25519 signing and verification in Rust.
OpenSSL bindings for Rust
[DEPRECATED] Sodium Oxide: Fast cryptographic library for Rust (bindings to libsodium)
Authenticated Encryption with Associated Data Algorithms: high-level encryption ciphers
Usable, easy and safe pure-Rust crypto [Moved to: https://github.com/orion-rs/orion] (by brycx)
Clean code begins in your IDE with SonarLint. Up your coding game and discover issues early. SonarLint is a free plugin that helps you find & fix bugs and security issues from the moment you start writing code. Install from your favorite IDE marketplace today.
TLS/SSL and crypto library
RFCs for changes to Rust
WebPKI X.509 Certificate Validation in Rust
Bindings to the macOS Security.framework
A catalogue of Rust design patterns, anti-patterns and idioms
Website for graphing performance of rustc
Orchestrate end-to-end encryption, cryptographic identities, mutual authentication, and authorization policies between distributed applications – at massive scale. Use Ockam to build secure-by-design applications that can Trust Data-in-Motion.
A black hole for Internet advertisements
ripgrep recursively searches directories for a regex pattern while respecting your gitignore
.NET is a cross-platform runtime for cloud, mobile, desktop, and IoT apps.
An HTTP library for Rust (by hyperium)
Rayon: A data parallelism library for Rust
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
ring reviews and mentions
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
briansmith/ring is an open source project licensed under GNU General Public License v3.0 or later which is an OSI approved license.
The primary programming language of ring is Assembly.