awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
weidai11 avatar

weidai11/cryptopp

0
View on GitHub↗
5,412 stars·1,667 forks·C++·other·28 viewscryptopp.com↗

Cryptopp

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, filters, and sinks. Memory management is handled with secure allocation and automatic wiping to prevent leakage of sensitive data.

Crypto++ covers authenticated encryption (GCM, CCM), key exchange protocols (Diffie-Hellman, ECDH), and hash-based integrity checking (HMAC, message digests). It also provides facilities for digital signature verification and secure data encryption in both symmetric and asymmetric settings.

Features

  • Public Key Cryptography - An implementation of RSA, ECC, DSA, and other public-key algorithms for secure key exchange and digital signatures.
  • Data Processing Pipelines - Processes data through composable stream objects that transform data in stages via sources, filters, and sinks.
  • Cryptographic Algorithm Selection - Uses C++ templates to select cryptographic algorithms at compile time, enabling zero-cost abstractions and compile-time polymorphism.
  • Integrity Checking Libraries - Computing message digests or HMACs to detect accidental or malicious changes to files, packets, or stored data.
  • Cryptographic Hash Verifiers - Hash any input to produce a fixed-size digest for verifying data integrity and authenticating messages.
  • Cryptographic Primitives - Writing or integrating low-level building blocks such as block ciphers, hash functions, and public key algorithms into a larger application.
  • Digital Signatures - Signing documents or verifying signatures to confirm the authenticity and integrity of data from a known sender.
  • Asymmetric Encryption - Encrypt data or exchange keys using a public-private key pair without a shared secret.
  • Key Agreement Protocols - Establishing a shared secret between two parties over an untrusted network using protocols such as Diffie-Hellman or ECDH.
  • Symmetric Cipher Implementations - A library providing block ciphers, stream ciphers, and hash functions for data integrity and confidentiality.
  • Symmetric Encryption - Encrypt plaintext into ciphertext using a shared secret key for data confidentiality and private communication.
  • Compile-Time Cryptographic Parameter Configurators - Configures encryption parameters such as key size and mode using template arguments to eliminate runtime overhead.
  • Secure Memory Allocators - Overrides allocation and deallocation to provide securely wiped memory buffers that prevent sensitive data leakage.
  • Static Cryptographic Factory Registries - Registers algorithm classes by name in a static factory, allowing runtime lookup and instantiation of cryptographic primitives.
  • Authenticated Encryption - Encrypting data while simultaneously verifying its integrity and authenticity using algorithms like GCM or CCM.
  • Cryptographic Toolkits - A cross-platform set of cryptographic classes that work on various operating systems without modification.
  • Invertible Cryptographic Transform Frameworks - Defines base classes for both directions of cryptographic transformations, ensuring symmetric interfaces for encryption and decryption pairs.
  • Cryptographic Libraries - Extensive C++ class library of cryptographic schemes.
  • Cryptography Libraries - Comprehensive class library for various cryptographic schemes.
  • Security & Privacy - Cryptographic schemes library

Star history

Star history chart for weidai11/cryptoppStar history chart for weidai11/cryptopp

How this analysis was created: This summary and feature list were written by an AI model that read the project's README and public documentation pages. Each feature links to the documentation it came from; stars, license and language come straight from the GitHub API. The model does not read the source code, and the analysis is refreshed when the project is re-analysed. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Open-source alternatives to Cryptopp

Similar open-source projects, ranked by how many features they share with Cryptopp.
  • phpseclib/phpseclibphpseclib avatar

    phpseclib/phpseclib

    5,572View on GitHub↗

    phpseclib is a pure-PHP cryptographic library that provides a comprehensive suite of cryptographic operations entirely without requiring compiled C extensions. At its core, it implements arbitrary-precision integer arithmetic for big-number math, ASN.1 DER encoding and decoding for working with cryptographic data structures, and a full set of pure-PHP cryptographic primitives. The library is designed to operate on PHP 5.6 and above, automatically detecting and using native extensions like GMP or BCMath when available, but falling back to its own pure-PHP implementations when they are not. The

    PHP
    View on GitHub↗5,572
  • krzyzanowskim/cryptoswiftkrzyzanowskim avatar

    krzyzanowskim/CryptoSwift

    10,556View on GitHub↗

    CryptoSwift is a cryptography library implemented entirely in the Swift programming language. It provides a collection of standard cryptographic algorithms for encryption, decryption, and hashing without relying on native C libraries or system frameworks. The library supports symmetric and asymmetric encryption, including RSA key generation and signature management. It features authenticated encryption schemes and the ability to generate cryptographic digests for data integrity verification. The toolset covers message authentication codes, secure key derivation from passwords, and data paddi

    Swiftaesaes-gcmcipher
    View on GitHub↗10,556
  • guanzhi/gmsslguanzhi avatar

    guanzhi/GmSSL

    6,075View on GitHub↗

    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

    Ccryptoencryptionpairing
    View on GitHub↗6,075
  • armmbed/mbedtlsARMmbed avatar

    ARMmbed/mbedtls

    6,712View on GitHub↗

    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

    C
    View on GitHub↗6,712
See all 30 alternatives to Cryptopp→

Frequently asked questions

What does weidai11/cryptopp do?

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.

What are the main features of weidai11/cryptopp?

The main features of weidai11/cryptopp are: Public Key Cryptography, Data Processing Pipelines, Cryptographic Algorithm Selection, Integrity Checking Libraries, Cryptographic Hash Verifiers, Cryptographic Primitives, Digital Signatures, Asymmetric Encryption.

What are some open-source alternatives to weidai11/cryptopp?

Open-source alternatives to weidai11/cryptopp include: phpseclib/phpseclib — phpseclib is a pure-PHP cryptographic library that provides a comprehensive suite of cryptographic operations entirely… krzyzanowskim/cryptoswift — CryptoSwift is a cryptography library implemented entirely in the Swift programming language. It provides a collection… guanzhi/gmssl — GmSSL is an open-source cryptographic library that implements the Chinese national cryptographic standards SM2, SM3,… armmbed/mbedtls — Mbed TLS is an open-source TLS and DTLS library with a small footprint, designed for embedded systems and IoT devices.… jedisct1/libsodium — Libsodium is a portable, C-based cryptographic library that provides a collection of modern primitives for encryption,… crazyguitar/pysheeet — pysheeet is a technical reference library providing a curated collection of code snippets and implementation patterns…