Comparison of cryptography libraries
In-game article clicks load inline without leaving the challenge.
The tables below compare cryptography libraries that deal with cryptography algorithms and have application programming interface (API) function calls to each of the supported features.
Cryptography libraries
| Name of implementation | Initiative | Main implementation language | Open-source software | Software license | Latest release |
|---|---|---|---|---|---|
| Botan | Jack Lloyd | C++ | Yes | Simplified BSD | 3.11.0 (March 15, 2026; 32 days ago(2026-03-15)) [±] |
| Bouncy Castle | Legion of the Bouncy Castle Inc. | Java, C# | Yes | MIT License | Java1.83 / November 27, 2025; 4 months ago(2025-11-27)Java LTSBC-LJA 2.73.9 / September 19, 2025; 6 months ago(2025-09-19)Java FIPSBC-FJA 2.0.0 / July 30, 2024; 20 months ago(2024-07-30)C#2.6.2 / July 15, 2025; 9 months ago(2025-07-15)C# FIPSBC-FNA 1.0.2 / March 11, 2024; 2 years ago(2024-03-11) |
| Java | 1.83 / November 27, 2025; 4 months ago(2025-11-27) | ||||
| Java LTS | BC-LJA 2.73.9 / September 19, 2025; 6 months ago(2025-09-19) | ||||
| Java FIPS | BC-FJA 2.0.0 / July 30, 2024; 20 months ago(2024-07-30) | ||||
| C# | 2.6.2 / July 15, 2025; 9 months ago(2025-07-15) | ||||
| C# FIPS | BC-FNA 1.0.2 / March 11, 2024; 2 years ago(2024-03-11) | ||||
| BSAFE | Dell, formerly RSA Security | Java, C, Assembly | No | Proprietary | Crypto-C Micro Edition: 4.1.5 (December 17, 2020; 5 years ago(2020-12-17)) [±] Micro Edition Suite: 5.0.3 (December 3, 2024; 16 months ago(2024-12-03)) [±] Crypto Module for C: 3.0.1 (December 9, 2024; 16 months ago(2024-12-09)) [±] Crypto-J: 7.1 (July 30, 2025; 8 months ago(2025-07-30)) [±]6.3.1 (May 15, 2025; 11 months ago(2025-05-15)) [±] |
| cryptlib | Peter Gutmann | C | Yes | Sleepycat License or commercial license | 3.4.8 (April 30, 2025; 11 months ago(2025-04-30)) [±] |
| Crypto++ | The Crypto++ project | C++ | Yes | Boost (all individual files are public domain) | Jan 10, 2023 (8.9.0) |
| GnuTLS | Nikos Mavrogiannopoulos, Simon Josefsson | C | Yes | LGPL-2.1-or-later | 3.8.12 2026-02-09 |
| Intel Cryptography Primitives Library | Intel | C, ASM | Yes | Apache 2.0 | March 2025 (2025.1.0 / 1.1.0) |
| Java's default JCA/JCE providers | Oracle | Java | Yes | GNU GPL v2 and commercial license | 25.0.2 LTS (January 20, 2026; 2 months ago(2026-01-20)) [±] 21.0.10 LTS (January 20, 2026; 2 months ago(2026-01-20)) [±] 17.0.18 LTS (January 20, 2026; 2 months ago(2026-01-20)) [±] 11.0.30 LTS (January 20, 2026; 2 months ago(2026-01-20)) [±] 8u481 LTS (January 20, 2026; 2 months ago(2026-01-20)) [±] |
| LibreSSL | OpenBSD Foundation | C | Yes | Apache 1.0 | 4.2.1 2025-10-31 |
| Libgcrypt | GnuPG community and g10code | C | Yes | GNU LGPL v2.1+ | stable1.12.0 / January 29, 2026; 2 months ago(2026-01-29)LTS1.8.11 / November 16, 2023; 2 years ago(2023-11-16) |
| stable | 1.12.0 / January 29, 2026; 2 months ago(2026-01-29) | ||||
| LTS | 1.8.11 / November 16, 2023; 2 years ago(2023-11-16) | ||||
| libsodium | Frank Denis | C | Yes | ISC | Sep 13, 2023 (1.0.19) |
| Mbed TLS | Arm Limited | C | Yes | Apache 2.0 | 3.0.0 (July 7, 2021; 4 years ago(2021-07-07)) [±] 2.27.0 (July 7, 2021; 4 years ago(2021-07-07)) [±] 2.16.11 (July 7, 2021; 4 years ago(2021-07-07)) [±] |
| NaCl | Daniel J. Bernstein, Tanja Lange, Peter Schwabe | C | Yes | Public domain | February 21, 2011 |
| Nettle | C | Yes | GNU GPL v2+ or GNU LGPL v3 | 4.0 2026-02-05 | |
| Network Security Services (NSS) | Mozilla | C | Yes | MPL 2.0 | Standard3.84 / October 12, 2022; 3 years ago(2022-10-12)Extended Support Release3.79.1 / August 18, 2022; 3 years ago(2022-08-18) |
| Standard | 3.84 / October 12, 2022; 3 years ago(2022-10-12) | ||||
| Extended Support Release | 3.79.1 / August 18, 2022; 3 years ago(2022-08-18) | ||||
| OpenSSL | The OpenSSL Project | C | Yes | Apache 2.0 | 4.0.0 2026-04-14 |
| wolfCrypt | wolfSSL, Inc. | C | Yes | GNU GPL v3 or commercial license | 5.8.4 (November 20, 2025; 4 months ago(2025-11-20)) [±] |
FIPS 140
This table denotes, if a cryptography library provides the technical requisites for FIPS 140, and the status of their FIPS 140 certification (according to NIST's CMVP search, modules in process list and implementation under test list).
| Implementation | FIPS 140-2 mode | FIPS 140-2 validated | FIPS 140-3 validated |
|---|---|---|---|
| Botan | No | No | No |
| Bouncy Castle | Yes | Yes | Yes |
| BSAFE | Yes | Yes | Yes |
| cryptlib | Yes | No | No |
| Crypto++ | No | No | No |
| GnuTLS | No | Yes | In process |
| Intel Cryptography Primitives Library | No | No | No |
| Java's default JCA/JCE providers | No | No | No |
| Libgcrypt | Yes | Yes | In process |
| libsodium | No | No | No |
| Mbed TLS | No | No | No |
| NaCl | No | No | No |
| Nettle | No | No | No |
| Network Security Services (NSS) | Yes | Yes | In process |
| OpenSSL | Yes | Yes | Yes |
| wolfCrypt | Yes | Yes | Yes |
Key operations
Key operations include key generation algorithms, key exchange agreements, and public key cryptography standards.
Public key algorithms
| Implementation | RSA | DSA | ECDSA | EdDSA | Ed448 | DH | ECDH | ECIES | ElGamal | NTRU (IEEE P1363.1) | DSS | ML-DSA | ML-KEM |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Botan | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | No | Yes | Yes |
| Bouncy Castle | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
| BSAFE | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | No | No | Yes | No |
| cryptlib | Yes | Yes | Yes | No | No | Yes | Yes | No | Yes | No | Yes | ||
| Crypto++ | Yes | Yes | Yes | No | No | Yes | Yes | Yes | Yes | No | Yes | ||
| GnuTLS | Yes | No | No | No | No | No | No | No | No | No | No | ||
| Intel Cryptography Primitives Library | Yes | Yes | Yes | Yes | No | Yes | Yes | No | No | No | Yes | ||
| Java's default JCA/JCE providers | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | No | No | Yes | ||
| Libgcrypt | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | No | Yes | ||
| libsodium | No | No | No | Yes | No | No | No | No | No | No | No | ||
| Mbed TLS | Yes | Yes | Yes | No | No | Yes | Yes | No | No | No | No | No | No |
| Nettle | Yes | Yes | No | Yes | No | No | No | No | No | No | No | ||
| OpenSSL | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | No | No | No | Yes | Yes |
| wolfCrypt | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | Yes | Yes | Yes |
Elliptic-curve cryptography (ECC) support
| Implementation | NIST | SECG | ECC Brainpool | Curve25519 | Curve448 | GOST R 34.10 | |
|---|---|---|---|---|---|---|---|
| Botan | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
| Bouncy Castle | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
| BSAFE | Yes | Yes | No | Yes | Yes | No | No |
| cryptlib | Yes | Yes | Yes | No | No | No | No |
| Crypto++ | Yes | Yes | Yes | Yes | No | No | No |
| GnuTLS | Yes | No | No | No | No | No | No |
| Intel Cryptography Primitives Library | Yes | No | No | Yes | No | No | Yes |
| Java's default JCA/JCE providers | Yes | Yes | No | Yes | Yes | No | No |
| Libgcrypt | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
| libsodium | Yes | No | No | Yes | Yes | No | No |
| Mbed TLS | Yes | Yes | Yes | Yes | No | No | No |
| Nettle | Yes | Partial | No | Yes | No | No | No |
| OpenSSL | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
| wolfCrypt | Yes | Yes | Yes | Yes | Yes | No | Yes |
Public key cryptography standards
| Implementation | PKCS #1 | PKCS #5, PBKDF2 | PKCS #8 | PKCS #12 | IEEE P1363 | ASN.1 |
|---|---|---|---|---|---|---|
| Botan | Yes | Yes | Yes | No | Yes | Yes |
| Bouncy Castle | Yes | Yes | Yes | Yes | Yes | Yes |
| BSAFE | Yes | Yes | Yes | Yes | No | Yes |
| cryptlib | Yes | Yes | Yes | Yes | No | Yes |
| Crypto++ | Yes | Yes | Yes | No | Yes | Yes |
| GnuTLS | ||||||
| Intel Cryptography Primitives Library | Yes | No | No | No | Yes | No |
| Java's default JCA/JCE providers | Yes | Yes | Yes | Yes | Yes | Yes |
| Libgcrypt | Yes | Yes | Yes | Yes | Yes | Yes |
| libsodium | No | No | No | No | No | No |
| Mbed TLS | Yes | No | Yes | Yes | No | Yes |
| Nettle | Yes | Yes | No | No | No | No |
| OpenSSL | Yes | Yes | Yes | Yes | No | Yes |
| wolfCrypt | Yes | Yes | Yes | Yes | No | Yes |
Hash functions
Comparison of supported cryptographic hash functions. Here hash functions are defined as taking an arbitrary length message and producing a fixed size output that is virtually impossible to use for recreating the original message.
| Implementation | MD5 | SHA-1 | SHA-2 | SHA-3 | RIPEMD-160 | Tiger | Whirlpool | BLAKE2 | GOST R 34.11-94 (aka GOST 34.311-95) | GOST R 34.11-2012 (Stribog) | SM3 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Botan | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
| Bouncy Castle | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
| BSAFE | Yes | Yes | Yes | Yes | Yes | No | No | No | Yes | No | No |
| cryptlib | Yes | Yes | Yes | Yes | Yes | No | Yes | No | No | No | No |
| Crypto++ | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes |
| GnuTLS | |||||||||||
| Intel Cryptography Primitives Library | Yes | Yes | Yes | Yes | No | No | No | No | No | No | Yes |
| Java's default JCA/JCE providers | Yes | Yes | Yes | Yes | No | No | No | No | No | No | No |
| Libgcrypt | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
| libsodium | No | No | Yes | No | No | No | No | Yes | No | No | No |
| Mbed TLS | Yes | Yes | Yes | Yes | Yes | No | No | No | No | No | No |
| Nettle | Yes | Yes | Yes | Yes | Yes | No | No | No | Yes | No | No |
| OpenSSL | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes |
| wolfCrypt | Yes | Yes | Yes | Yes | Yes | No | No | Yes | No | No | Yes |
MAC algorithms
Comparison of implementations of message authentication code (MAC) algorithms. A MAC is a short piece of information used to authenticate a message—in other words, to confirm that the message came from the stated sender (its authenticity) and has not been changed in transit (its integrity).
| Implementation | HMAC-MD5 | HMAC-SHA1 | HMAC-SHA2 | Poly1305 | BLAKE2-MAC |
|---|---|---|---|---|---|
| Botan | Yes | Yes | Yes | Yes | Yes |
| Bouncy Castle | Yes | Yes | Yes | Yes | Yes |
| BSAFE | Yes | Yes | Yes | Yes | No |
| cryptlib | Yes | Yes | Yes | Yes | No |
| Crypto++ | Yes | Yes | Yes | Yes | Yes |
| GnuTLS | |||||
| Intel Cryptography Primitives Library | Yes | Yes | Yes | No | No |
| Java's default JCA/JCE providers | Yes | Yes | Yes | No | No |
| Libgcrypt | Yes | Yes | Yes | Yes | Yes |
| libsodium | No | No | Yes | Yes | Yes |
| Mbed TLS | Yes | Yes | Yes | No | No |
| Nettle | Yes | Yes | Yes | Yes | No |
| OpenSSL | Yes | Yes | Yes | Yes | Yes |
| wolfCrypt | Yes | Yes | Yes | Yes | Yes |
Block ciphers
Table compares implementations of block ciphers. Block ciphers are defined as being deterministic and operating on a set number of bits (termed a block) using a symmetric key. Each block cipher can be broken up into the possible key sizes and block cipher modes it can be run with.
Block cipher algorithms
| Implementation | AES | 3DES | Camellia | Blowfish | Twofish | IDEA | CAST5 | ARIA | GOST 28147-89 / GOST R 34.12-2015 (Magma & Kuznyechik) | SM4 |
|---|---|---|---|---|---|---|---|---|---|---|
| Botan | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
| Bouncy Castle | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
| BSAFE | Yes | Yes | Yes | No | No | No | No | Yes | No | No |
| cryptlib | Yes | Yes | No | Yes | No | Yes | Yes | No | No | No |
| Crypto++ | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Partial | Yes |
| GnuTLS | Yes | No | Yes | No | No | No | No | No | No | No |
| Intel Cryptography Primitives Library | Yes | Yes | No | No | No | No | No | No | No | Yes |
| Java's default JCA/JCE providers | Yes | Yes | No | Yes | No | No | No | No | No | No |
| Libgcrypt | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
| libsodium | Partial | No | No | No | No | No | No | No | No | No |
| Mbed TLS | Yes | Yes | Yes | Yes | No | No | No | No | No | No |
| Nettle | Yes | Yes | Yes | Yes | No | No | No | No | No | No |
| OpenSSL | Yes | Yes | Yes | Yes | No | Yes | Yes | Yes | Yes | Yes |
| wolfCrypt | Yes | Yes | Yes | No | No | Yes | No | Yes | No | Yes |
Cipher modes
| Implementation | ECB | CBC | OFB | CFB | CTR | CCM | GCM | OCB | XTS | Stream | EAX | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Botan | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
| Bouncy Castle | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | Yes | Yes |
| BSAFE | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | Yes | Yes | No |
| cryptlib | Yes | Yes | Yes | Yes | Yes | No | Yes | No | No | No | No | No |
| Crypto++ | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | No | Yes | Yes |
| GnuTLS | ||||||||||||
| Intel Cryptography Primitives Library | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | No | Yes | No |
| Java's default JCA/JCE providers | Yes | Yes | Yes | Yes | Yes | No | Yes | No | No | Yes | Yes | No |
| Libgcrypt | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
| libsodium | No | No | No | No | Yes | No | Yes | No | No | No | No | No |
| Mbed TLS | Yes | Yes | No | Yes | Yes | Yes | Yes | No | No | No | No | No |
| Nettle | Yes | Yes | No | No | Yes | Yes | Yes | No | No | No | No | No |
| OpenSSL | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No |
| wolfCrypt | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | Yes | Yes | Yes |
Stream ciphers
The table below shows the support of various stream ciphers. Stream ciphers are defined as using plain text digits that are combined with a pseudorandom cipher digit stream. Stream ciphers are typically faster than block ciphers and may have lower hardware complexity, but may be more susceptible to attacks.
| Implementation | RC4 | HC-256 | Rabbit | Salsa20 | ChaCha | SEAL | Panama | WAKE | Grain | VMPC | ISAAC |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Botan | Yes | No | No | Yes | Yes | No | No | No | No | No | No |
| Bouncy Castle | Yes | Yes | No | Yes | Yes | No | No | No | Yes | Yes | Yes |
| BSAFE | Yes | No | No | No | Yes | No | No | No | No | No | No |
| cryptlib | Yes | No | No | No | Yes | No | No | No | No | No | No |
| Crypto++ | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | No | No |
| GnuTLS | |||||||||||
| Intel Cryptography Primitives Library | No | No | No | No | No | No | No | No | No | No | No |
| Java's default JCA/JCE providers | Yes | No | No | No | Yes | No | No | No | No | No | No |
| Libgcrypt | Yes | No | No | Yes | Yes | No | No | No | No | No | No |
| libsodium | No | No | No | Yes | Yes | No | No | No | No | No | No |
| Mbed TLS | Yes | No | No | No | Yes | No | No | No | No | No | No |
| Nettle | Yes | No | No | Yes | Yes | No | No | No | No | No | No |
| OpenSSL | Yes | No | No | No | Yes | No | No | No | No | No | No |
| wolfCrypt | Yes | No | No | Yes | Yes | No | No | No | No | No | No |
Hardware-assisted support
These tables compare the ability to use hardware enhanced cryptography. By using the assistance of specific hardware, the library can achieve greater speeds and/or improved security than otherwise.
Smart card, SIM, HSM protocol support
| Implementation | PKCS #11 | PC/SC | CCID |
|---|---|---|---|
| Botan | Yes | No | No |
| Bouncy Castle | Yes | No | No |
| BSAFE | Yes | No | No |
| cryptlib | Yes | No | No |
| Crypto++ | No | No | No |
| GnuTLS | Yes | No | No |
| Intel Cryptography Primitives Library | No | No | No |
| Java's default JCA/JCE providers | Yes | No | No |
| Libgcrypt | Yes | Yes | Yes |
| libsodium | No | No | No |
| Mbed TLS | Yes | No | No |
| OpenSSL | Yes | No | No |
| wolfCrypt | Yes | No | No |
General purpose CPU, platform acceleration support
| Implementation | AES-NI | SSSE3, SSE4.1 | AVX, AVX2 | AVX-512 | RDRAND | VIA PadLock | ARMv7-A NEON | ARMv8-A cryptography instructions | Power ISA v2.03 (AltiVec) | Power ISA v2.07 (e.g., POWER8 and later) | |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Botan | Yes | Yes | Yes | Yes | Yes | No | No | Yes | Yes | Yes | Yes |
| BSAFE | Yes | Yes | Yes | No | Yes | No | No | No | Yes | No | No |
| cryptlib | Yes | Yes | Yes | No | Yes | Yes | No | No | No | No | No |
| Crypto++ | Yes | Yes | Yes | No | Yes | Yes | No | Yes | Yes | Yes | Yes |
| GnuTLS | Yes | No | No | No | No | Yes | No | No | No | No | No |
| Intel Cryptography Primitives Library | Yes | Yes | Yes | Yes | Yes | No | No | No | No | No | No |
| Java's default JCA/JCE providers | Yes | Yes | Yes | Yes | Yes | No | No | No | Yes | No | Yes |
| Libgcrypt | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | Yes | No | Yes |
| libsodium | Yes | Yes | Yes | No | No | No | No | No | No | No | No |
| OpenSSL | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | Yes | Yes | Yes |
| wolfCrypt | Yes | Yes | Yes | No | Yes | No | Yes | Yes | Yes | No | No |
Code size and code to comment ratio
| Implementation | Source code size (kSLOC = 1000 lines of source code) | Code to comment lines ratio |
|---|---|---|
| Botan | 133 | 4.55 |
| Bouncy Castle | 1359 | 5.26 |
| BSAFE Crypto-J | 271 | 1.3 |
| cryptlib | 241 | 2.66 |
| Crypto++ | 115 | 5.74 |
| GnuTLS | 363 | 7.30 |
| Java's default JCA/JCE providers | ||
| Libgcrypt | 216 | 6.27 |
| libsodium | 44 | 21.92 |
| Mbed TLS | 105 | 33.9 |
| Nettle | 111 | 4.08 |
| OpenSSL | 472 | 4.41 |
| wolfCrypt | 39 | 5.69 |
Portability
| Implementation | Supported operating system | Thread safe |
|---|---|---|
| Botan | Linux, Windows, macOS, Android, iOS, FreeBSD, NetBSD, OpenBSD, DragonflyBSD, Solaris, AIX, QNX, Haiku | Yes |
| Bouncy Castle | General Java API: J2ME, Java Runtime Environment 1.1+, Android. Java FIPS API: Java Runtime 1.5+, Android. C# API (General & FIPS): CLR 4. Kotlin API (JVM Based). | |
| BSAFE | Solaris, Linux, Android, FreeBSD, AIX, 32 and 64-bit Windows, macOS (Darwin) | Yes |
| cryptlib | AMX, ARINC 653, BeOS, ChorusOS, CMSIS-RTOS/mbed-rtos, DOS, DOS32, eCOS, embOS, FreeRTOS/OpenRTOS, uItron, MQX, MVS, Nucleus, OS/2, Palm OS, QNX Neutrino, RTEMS, SMX, Tandem NonStop, Telit, ThreadX, uC/OS II, Unix (AIX, FreeBSD, HP-UX, Linux, macOS, Solaris, etc.), VDK, VM/CMS, VxWorks, Win16, Win32, Win64, WinCE/PocketPC/etc, XMK | Yes |
| Crypto++ | Unix (AIX, OpenBSD, Linux, MacOS, Solaris, etc.), Win32, Win64, Android, iOS, ARM | Yes |
| GnuTLS | Runs on most Unix platforms and Windows | ? |
| Intel Cryptography Primitives Library | Windows 10/11, Windows Server 2019/2022, Red Hat Enterprise Linux (RHEL) 8/9, SUSE Linux Enterprise Server (SLES) 15 SP4 / SP5 / SP6, Ubuntu 22.04 LTS / 24.04 LTS, Rocky Linux 9, Fedora 39 / 40, Debian 12 | Yes |
| Libgcrypt | All 32- and 64-bit Unix Systems (Linux, FreeBSD, NetBSD, macOS etc.), Win32, Win64, WinCE, and more | Yes |
| libsodium | macOS, Linux, OpenBSD, NetBSD, FreeBSD, DragonflyBSD, Android, iOS, 32 and 64-bit Windows (Visual Studio, MinGW, C++ Builder), NativeClient, QNX, JavaScript, AIX, MINIX, Solaris | Yes |
| Mbed TLS | Win32/64, Unix Systems, embedded Linux, Micrium's μC/OS, FreeRTOS | ? |
| OpenSSL | Solaris, IRIX, HP-UX, MPE/iX, Tru64, Linux, Android, BSD (OpenBSD, NetBSD, FreeBSD, DragonflyBSD), NextSTEP, QNX, UnixWare, SCO, AIX, 32 and 64-bit Windows (Visual Studio, MinGW, UWIN, CygWin), UEFI, macOS (Darwin), iOS, HURD, VxWorks, uClinux, VMS, DJGPP (DOS), Haiku | Yes |
| wolfCrypt | Win32/64, Linux, macOS, Solaris, ThreadX, VxWorks, FreeBSD, NetBSD, OpenBSD, embedded Linux, Yocto Linux, OpenEmbedded, WinCE, Haiku, OpenWRT, iPhone (iOS), Android, Nintendo Wii and GameCube through DevKitPro, QNX, MontaVista, NonStop, TRON/ITRON/μITRON, Micrium's μC/OS, FreeRTOS, SafeRTOS, Freescale MQX, Nucleus, TinyOS, HP-UX, AIX, ARC MQX, TI-RTOS, uTasker, embOS, INtime, Mbed, uT-Kernel, RIOT, CMSIS-RTOS, FROSTED, Green Hills INTEGRITY, Keil RTX, TOPPERS, PetaLinux, Apache Mynewt, PikeOS, Deos, Azure Sphere OS, Zephyr | Yes |