30 open-source projects similar to briansmith/ring, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Ring alternative.
This library provides a collection of low-level mathematical primitives for Curve25519 and Ristretto group operations. It serves as a foundation for building secure cryptographic protocols, offering tools for elliptic curve arithmetic, key exchange, and digital signature generation. The implementation prioritizes side-channel resistance by utilizing constant-time arithmetic logic across all operations, ensuring that secret-dependent timing variations are prevented. It leverages the Rust type system to enforce state validity, making illegal group elements unrepresentable at compile time. To ma
ISPC is a vectorizing compiler and SIMD parallel programming language that implements a single program multiple data model. It serves as a toolchain for translating C-based code with parallel extensions into optimized machine code for various CPU and GPU architectures using an LLVM backend. The compiler is designed for cross-platform SIMD toolchain support, generating specialized instruction sets for x86 SSE/AVX, ARM NEON, and Intel GPU from a single source. It features a runtime dispatch mechanism that selects the most efficient hardware-specific implementation for the current system during
Lucia is an authentication library that provides session management, OAuth integration, and password-based login for web applications. It creates and validates server-side sessions using cryptographically random tokens stored in HttpOnly, Secure, SameSite=Lax cookies, with constant-time token comparison to prevent timing side-channel attacks. The library supports authentication through email and password, GitHub OAuth, Google OAuth, and passkey-based sign-in. It enforces two-factor authentication using time-based one-time passwords (TOTP) from authenticator apps, generates recovery codes for
Libsodium is a portable, C-based cryptographic library that provides a collection of modern primitives for encryption, decryption, digital signatures, password hashing, and secure key exchange. It is designed to facilitate secure communication and data integrity across diverse hardware architectures and operating systems. The library distinguishes itself by utilizing constant-time primitive execution to prevent side-channel attacks and employing memory-hard algorithms to increase the difficulty of brute-force password attacks. It abstracts complex mathematical operations into simplified inter
Vyper is a security-focused, typed programming language and compiler designed for creating smart contracts that execute on the Ethereum Virtual Machine. It utilizes a Pythonic syntax to define contract logic and state, serving as a target for formal verification to allow for machine-checked proofs of correctness. The language distinguishes itself through strict architectural constraints that prioritize predictability and security. It enforces acyclic call graphs by prohibiting recursion and mandates bounded loops to ensure static gas prediction. Additionally, it features a native fixed-point
Liboqs is a C library that provides a unified interface for quantum-resistant cryptographic algorithms, including key encapsulation and digital signature mechanisms. It is designed to facilitate the integration of post-quantum security into existing protocols and applications, ensuring data protection against future threats from large-scale quantum computers. The library distinguishes itself through a focus on high-assurance implementations and side-channel resistance, utilizing constant-time primitives to prevent timing-based information leakage. It offers extensive build-time configuration,
Crypto++ is a comprehensive C++ cryptographic library that implements a broad range of algorithms for symmetric and asymmetric encryption, hashing, and digital signatures. It is designed as a portable toolkit, usable across different operating systems without modification. The library distinguishes itself through its architecture: cryptographic parameters such as key size and mode are configured at compile time via C++ templates, eliminating runtime overhead. Algorithms are registered in a static factory for runtime lookup, while data processing follows a pipeline model of composable sources,
edk2 is a development project for creating system firmware that complies with the UEFI specification. It provides the necessary infrastructure to initialize hardware platforms and boot operating systems across multiple CPU architectures. The project utilizes a modular firmware architecture that decouples high-level management protocols from physical transport layers. It implements critical security features, including a measured boot chain, cryptographic primitives for image authentication, and support for Trusted Platform Module hardware and software implementations. Its capability surface
php-encryption is a symmetric encryption library for PHP that provides tools for authenticated encryption and key derivation to ensure data confidentiality and integrity. It functions as a cryptography toolkit that wraps complex primitives into simplified interfaces to prevent common implementation errors. The library includes a binary-safe ciphertext serializer to maintain data structure during storage and transmission, as well as a password-based key derivation tool that transforms low-entropy passwords into cryptographically strong keys through iterative processes. The project covers a br
This project is an educational textbook and technical handbook focused on the practical implementation of cryptographic algorithms for software development. It serves as a comprehensive resource for engineers seeking to apply mathematical primitives to secure data storage and network communications. The material covers the application of symmetric and asymmetric ciphers, digital signature verification, and key derivation functions. It details the construction of secure protocols by combining fundamental building blocks such as hashes and message authentication codes to ensure data privacy, in
This project provides a collection of practical implementations and code references for establishing secure network communications using transport layer security protocols. It serves as a guide for developers to implement public key infrastructure and enforce encryption standards within client and server applications. The repository focuses on cryptographic certificate management, including the generation of public and private key pairs and the creation of self-signed certificates for local testing environments. It covers the configuration of secure web servers, offering methods to harden ser
Sui is a blockchain platform featuring an object-centric state model and resource-oriented smart contracts. It utilizes parallel transaction execution to increase network throughput and supports programmable transaction blocks that bundle multiple operations into single atomic units. The platform distinguishes itself with a capability-based access control system and zero-knowledge login mechanisms, enabling users to authenticate via identity providers without seed phrases. It also implements deterministic object addressing to allow predictable state lookups and supports the creation of soulbo
Ockam is an end-to-end encryption framework and distributed identity provider designed to establish secure communication between applications and devices. It provides a secure network overlay that utilizes cryptographic identities and attribute-based access control to implement zero trust network access. The project distinguishes itself through metadata-driven multi-hop routing and a pluggable transport layer, allowing encrypted traffic to move across diverse network topologies without requiring virtual IP overlays. It specifically enables secure tunneling for legacy applications by wrapping
This project is a cross-compiler toolchain for RISC-V software development. It provides the necessary components to compile C and C++ source code into executable binaries and libraries specifically for the RISC-V hardware architecture. The toolchain supports multi-architecture binary generation and multilib capabilities, allowing a single installation to target various instruction set specifications and bit-widths. It integrates with alternative compilers such as LLVM and Clang and includes a bootstrapped build pipeline to produce high-performance versions of the tools. The system covers bro
Flex is a scanner generator and lexical analyzer generator that transforms regular expression definitions into software capable of converting input text into tokens. It primarily generates C and C++ source code for use in the development of compilers and interpreters. The tool provides a specific generator for producing object-oriented scanner implementations as classes, allowing lexical analysis tools to integrate directly into C++ software projects. It also includes a cross-compilation toolchain to build scanner implementations for target platforms different from the host machine. The proj
OCaml is a strongly typed functional language featuring a sophisticated type system and a focus on safety and expressiveness. It provides a comprehensive compiling toolchain that transforms source code into either portable bytecode or high-performance native binaries. The project is distinguished by a shared memory parallel runtime that executes computations across multiple processor cores using domains, and an algebraic effect system for managing side effects and control flow through execution context handlers. It also includes a dedicated parser generator to automatically create lexers and
GmSSL is an open-source cryptographic library that implements the Chinese national cryptographic standards SM2, SM3, SM4, SM9, and ZUC as a unified algorithm suite. It provides a comprehensive set of cryptographic primitives including symmetric and asymmetric encryption, digital signatures, hashing, and key exchange, all built around these national standards for government and enterprise security applications. The library distinguishes itself through several integration capabilities. It includes an OpenSSL compatibility layer that maps GmSSL functions to OpenSSL API calls, enabling drop-in re
The Operator SDK is a framework for building, packaging, and managing custom controllers that extend the Kubernetes API. It serves as a toolset for defining new API types and implementing reconcile loops to automate the lifecycles of complex applications. The project provides specialized support for creating operators based on Helm charts or Ansible playbooks, allowing users to maintain a desired cluster state using existing automation tools. It includes a dedicated system for packaging controllers into standardized container image bundles for distribution via the Operator Lifecycle Manager.
Mbed TLS is a C library that provides a full implementation of the TLS and DTLS protocols for secure network communication, a library of fundamental cryptographic primitives, and a reference implementation of the PSA Cryptography API. It also includes libraries for parsing, validating, and managing X.509 digital certificates, as well as support for integrating hardware cryptoprocessors through the PSA Cryptoprocessor Driver Interface. The library is designed for resource-constrained environments and is built from source with a customizable feature set, allowing developers to select which TLS
This project is a comprehensive security suite and knowledge base focused on the engineering and construction of trustworthy digital and physical systems. It provides a systematic framework for security engineering design, covering the establishment of high-assurance architectures and the implementation of security models that govern how a system achieves its safety goals. The project is distinguished by its focus on formal assurance and adversarial deterrence. It includes methodologies for creating security assurance cases and proofs to verify system trustworthiness, alongside economic and t
Mbed TLS is an open-source TLS and DTLS library with a small footprint, designed for embedded systems and IoT devices. It provides a portable cryptographic library that includes symmetric ciphers, hashing, and public-key cryptography, along with a reference implementation of the PSA Cryptography API for standardized cryptographic operations across platforms. The library also offers X.509 certificate management for parsing, validating, and managing certificate chains in secure communications. The library is built around a platform abstraction layer that decouples it from OS-specific services t
This project provides a collection of infrastructure components for multichain wallet integration, including a cryptographic library for cross-chain transaction signing and a curated repository for cryptocurrency asset metadata. It serves as a central hub for managing token logos, contract addresses, and technical specifications for digital assets across multiple blockchains. The system includes a Model Context Protocol server that exposes real-time blockchain data and technical documentation to large language models. It further extends this AI integration by providing a standardized tool-cal
WebClient is an encrypted productivity suite consisting of integrated web tools for secure email, calendar, drive, and password management. It serves as an end-to-end encrypted email client, a secure cloud storage interface, and a private calendar management application. The project includes specialized interfaces for a variety of secure services, including a web-based VPN controller, a secure cryptocurrency wallet interface, and an encrypted video conferencing client for real-time audio and video meetings. The suite covers broader capabilities for managing digital identities, organizing enc
This project is a Python cryptography library that provides a collection of cryptographic primitives and high-level recipes for implementing secure encryption and authentication. It functions as a symmetric encryption toolkit and a cryptographic hash provider, offering both a low-level cryptographic interface for building custom protocols and high-level tools for securing data. The library covers a broad range of security capabilities, including symmetric data encryption, the derivation of cryptographic keys from passwords or secret values, and data integrity verification through the generati
sjcl is a JavaScript cryptography library providing a collection of primitives for encryption, hashing, and encoding within a web browser. It functions as an AES symmetric encryption tool, a cryptographic hashing library, and a Base32 data encoder. The project provides implementations for the Advanced Encryption Standard to secure data through symmetric key encryption and decryption. It also enables the generation of fixed-length data fingerprints to verify information integrity and authenticity. The library covers a broader range of security capabilities, including client-side data hashing,
Tink is a multi-language cryptography library and security toolkit providing secure APIs for data encryption and digital signatures. It functions as a data encryption library and digital signature framework designed to prevent common implementation errors across different platforms and operating systems. The project serves as a cryptographic keyset manager, utilizing JSON for the storage, rotation, and serialization of keys to maintain consistency across various programming languages. It ensures identical cryptographic behavior globally by mapping language-specific libraries to a unified set
randomcompat is a backward-compatibility library that provides cryptographically secure random number generation functions for PHP 5.x environments. It delivers the randombytes() and random_int() functions that are natively available in PHP 7+, enabling legacy applications to generate secure random bytes and unbiased integers from system entropy sources. The library implements a priority-based fallback chain across operating-system CSPRNGs, selecting the best available random source in order of security. It uses rejection sampling to convert raw random bytes into unbiased integers withi
Bun is a high-performance runtime environment designed to execute JavaScript and TypeScript applications with minimal latency and high throughput. Built on a native core implemented in Zig, it provides a unified execution engine that leverages JavaScriptCore for efficient memory management and low-latency startup. The project functions as an all-in-one toolchain, integrating a native bundler, transpiler, package manager, and test runner into a single command-line interface. What distinguishes Bun is its focus on native system integration and developer productivity. It features a high-performa
Grin is a protocol implementation and blockchain node that provides a confidential transaction system. It uses Pedersen Commitments and homomorphic encryption to verify value integrity and ensure a consistent money supply without revealing specific transaction amounts or participant identities. The project distinguishes itself through an interactive transaction exchange model, where wallets coordinate multi-round data exchanges to build signed transactions. To maintain anonymity, the system supports onion-routed transaction delivery and masks originating IP addresses through specialized relay
Coq is an interactive theorem prover and proof assistant used for formal mathematical verification and verified software development. It utilizes the Gallina functional language to define computable functions and logical propositions, which are then verified through a machine-checked kernel. The system employs a dependent type system and a Caldicott-style proof engine to automate proof search and tactic execution. These capabilities allow for the creation of formal specifications and the development of algorithms that are mathematically proven to meet specific requirements. The toolset inclu