Menu
Home Explore People Places Arts History Plants & Animals Science Life & Culture Technology
On this page
Comparison of cryptography libraries
List article

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 implementationInitiativeMain implementation languageOpen-source softwareSoftware licenseLatest release
BotanJack LloydC++YesSimplified BSD3.6.1 (October 26, 2024; 4 months ago (2024-10-26)1) [±]
Bouncy CastleLegion of the Bouncy Castle Inc.Java, C#YesMIT License
Java1.80 / January 14, 2025; 2 months ago (2025-01-14)2
Java LTSBC-LJA 2.73.7 / November 8, 2024; 4 months ago (2024-11-08)3
Java FIPSBC-FJA 2.0.0 / July 30, 2024; 7 months ago (2024-07-30)4
C#2.5.1 / February 14, 2025; 38 days ago (2025-02-14)5
C# FIPSBC-FNA 1.0.2 / March 11, 2024; 12 months ago (2024-03-11)6
BSAFEDell, formerly RSA SecurityJava, C, AssemblyNoProprietaryCrypto-C Micro Edition: 4.1.5 (December 17, 2020; 4 years ago (2020-12-17)7) [±]

Micro Edition Suite: 5.0.3 (December 3, 2024; 3 months ago (2024-12-03)8) [±]Crypto-J: 7.0.1 (March 17, 2025; 7 days ago (2025-03-17)9) [±]

6.3 (April 4, 2023; 23 months ago (2023-04-04)10) [±]

cryptlibPeter GutmannCYesSleepycat License or commercial license3.4.5 (2019; 6 years ago (2019)11) [±]
Crypto++The Crypto++ projectC++YesBoost (all individual files are public domain)Jan 10, 2023 (8.9.0)
GnuTLSNikos Mavrogiannopoulos, Simon JosefssonCYesLGPL-2.1-or-later3.8.912  2025-02-08
Java's default JCA/JCE providersOracleJavaYesGNU GPL v2 and commercial license

23.0.1 (October 15, 2024; 5 months ago (2024-10-15)13) [±]21.0.5 LTS (October 15, 2024; 5 months ago (2024-10-15)14) [±]17.0.13 LTS (October 15, 2024; 5 months ago (2024-10-15)15) [±]11.0.25 LTS (October 15, 2024; 5 months ago (2024-10-15)16) [±]8u431 LTS (October 15, 2024; 5 months ago (2024-10-15)17) [±]

LibreSSLOpenBSD FoundationCYesApache 1.04.0.018  2024-10-14
LibgcryptGnuPG community and g10codeCYesGNU LGPL v2.1+
stable1.11.0 / June 19, 2024; 9 months ago (2024-06-19)19
LTS1.8.11 / November 16, 2023; 16 months ago (2023-11-16)20
libsodiumFrank DenisCYesISCSep 13, 2023 (1.0.19)
Mbed TLSArm LimitedCYesApache 2.03.0.0 (July 7, 2021; 3 years ago (2021-07-07)21) [±]

2.27.0 (July 7, 2021; 3 years ago (2021-07-07)) [±]2.16.11 (July 7, 2021; 3 years ago (2021-07-07)) [±]

NaClDaniel J. Bernstein, Tanja Lange, Peter SchwabeCYesPublic domainFebruary 21, 201122
NettleCYesGNU GPL v2+ or GNU LGPL v3

3.10.123  2024-12-30

Network Security Services (NSS)MozillaCYesMPL 2.0
Standard3.84 / October 12, 2022; 2 years ago (2022-10-12)24
Extended Support Release3.79.1 / August 18, 2022; 2 years ago (2022-08-18)25
OpenSSLThe OpenSSL ProjectCYesApache 2.03.4.126  2025-02-11
wolfCryptwolfSSL, Inc.CYesGNU GPL v2 or commercial license5.7.6 (December 31, 2024; 2 months ago (2024-12-31)27) [±]

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,28 modules in process list29 and implementation under test list).30

ImplementationFIPS 140-2 modeFIPS 140-2 validatedFIPS 140-3 validated
BotanNoNoNo
Bouncy CastleYesYes31Yes32
BSAFEYesYes3334Yes35
cryptlibYesNoNo
Crypto++NoNo36No
GnuTLSNoYes3738In process39
Java's default JCA/JCE providersNoNo4041No
LibgcryptYesYes4243In process44
libsodiumNoNoNo
Mbed TLSNoNoNo
NaClNoNoNo
NettleNoNoNo
Network Security Services (NSS)YesYes4546In process47
OpenSSLYesYes4849In process50
wolfCryptYesYes51Yes52

Key operations

Key operations include key generation algorithms, key exchange agreements, and public key cryptography standards.

Public key algorithms

Further information: Public-key cryptography

ImplementationRSADSAECDSAEdDSAEd448DHECDHECIESElGamalNTRU(IEEE P1363.1)DSS
BotanYesYesYesYesYesYesYesYesYesNoYes
Bouncy CastleYesYesYesYesYesYesYesYesYesYesYes
BSAFEYesYesYesNoNoYesYesYesNoNoNo
cryptlibYesYesYesNoNoYesYesNoYesNoYes
Crypto++YesYesYesNoNoYesYesYesYesNoYes
GnuTLSYesNoNoNoNoNoNoNoNoNoNo
Java's default JCA/JCE providersYesYesYesYesYesYesYesNoNoNoYes
LibgcryptYesYesYesYesYesYesYes53NoYesNoYes
libsodiumNoNoNoYesNoNoNoNoNoNoNo
Mbed TLSYesYesYesNoNoYesYesNoNoNoNo
NettleYesYesNoYesNoNoNoNoNoNoNo
OpenSSLYesYesYesYesYesYesYesNoNoNoNo
wolfCryptYesYesYesYesYesYesYesYesNoYesYes

Elliptic-curve cryptography (ECC) support

Further information: Elliptic-curve cryptography

ImplementationNISTSECGECC BrainpoolCurve25519Curve448GOST R 34.1054SM2
BotanYesYesYesYesYesYesYes
Bouncy CastleYesYesYesYesYesYesYes
BSAFEYesYesNoNoNoNoNo
cryptlibYesYesYesNoNoNoNo
Crypto++YesYesYesYesNoNoNo
GnuTLSYesNoNoNoNoNoNo
Java's default JCA/JCE providersYesYesNoYesYesNoNo
LibgcryptYesYesYesYesYesYesYes
libsodiumYesNoNoYesYesNoNo
Mbed TLSYesYesYesYesNoNoNo
NettleYesPartialNoYesNoNoNo
OpenSSLYesYesYesYesYesYesYes
wolfCryptYesYesYesYesYesNoYes

Public key cryptography standards

Further information: PKCS

ImplementationPKCS #1PKCS #5,55 PBKDF2PKCS #8PKCS #12IEEE P1363ASN.1
BotanYesYesYesNoYesYes
Bouncy CastleYesYesYesYesYesYes
BSAFE Crypto-JYesYesYesYesNoYes
cryptlibYesYesYesYesNoYes
Crypto++YesYesYes56NoYesYes
GnuTLS
Java's default JCA/JCE providersYesYesYesYesYesYes
LibgcryptYesYes57Yes58Yes59Yes60Yes61
libsodiumNoNoNoNoNoNo
Mbed TLSYesNoYesYesNoYes
NettleYesYesNoNoNoNo
OpenSSLYesYesYesYesNoYes
wolfCryptYesYesYesYesNoYes

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.

ImplementationMD5SHA-1SHA-2SHA-3RIPEMD-160TigerWhirlpoolBLAKE2GOST R 34.11-9462(aka GOST 34.311-95)GOST R 34.11-2012(Stribog)63SM3
BotanYesYesYesYesYesYesYesYesYesYesYes
Bouncy CastleYesYesYesYesYesYesYesYesYesYesYes
BSAFE Crypto-JYesYesYesYesYesNoNoNoNoNoNo
cryptlibYesYesYesYesYesNoYesNoNoNoNo
Crypto++YesYesYesYesYesYesYesYesYesNoYes
GnuTLS
Java's default JCA/JCE providersYesYesYesYesNoNoNoNoNoNoNo
LibgcryptYesYesYesYesYesYesYesYesYesYesYes
libsodiumNoNoYesNoNoNoNoYesNoNoNo
Mbed TLSYesYesYesYesYesNoNoNoNoNoNo
NettleYesYesYesYesYesNoNoNoYesNoNo
OpenSSLYesYesYesYesYesYesYesYesYesNoYes
wolfCryptYesYesYesYesYesNoNoYesNoNoYes

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).

ImplementationHMAC-MD5HMAC-SHA1HMAC-SHA2Poly1305BLAKE2-MAC
BotanYesYesYesYesYes
Bouncy CastleYesYesYesYesYes
BSAFE Crypto-JYesYesYesYesNo
cryptlibYesYesYesNoNo
Crypto++YesYesYesYesYes
GnuTLS
Java's default JCA/JCE providersYesYesYesNoNo
LibgcryptYesYesYesYesYes
libsodiumNoNoYesYesYes
Mbed TLSYesYesYesNoNo
NettleYesYesYesYesNo
OpenSSLYesYesYesYesYes
wolfCryptYesYesYesYesYes

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

Further information: Block cipher

ImplementationAES3DESCamelliaBlowfishTwofishIDEACAST5ARIAGOST 28147-8964/ GOST R 34.12-2015(Magma65 & Kuznyechik66)SM4
BotanYesYesYesYesYesYesYesYesYesYes
Bouncy Castle67YesYesYesYesYesYesYesYesYesYes
BSAFE Crypto-JYesYesNoNoNoNoNoNoNoNo
cryptlib68YesYesNoYesNoYesYesNoNoNo
Crypto++YesYesYesYesYesYesYesYesPartial69Yes
GnuTLSYesNoYesNoNoNoNoNoNoNo
Java's default JCA/JCE providersYesYesNoYesNoNoNoNoNoNo
LibgcryptYesYesYesYesYesYesYesYesYesYes
libsodiumPartial70NoNoNoNoNoNoNoNoNo
Mbed TLSYesYesYesYesNoNoNoNoNoNo
NettleYesYesYesYesNoNoNoNoNoNo
OpenSSLYesYesYesYesNoYesYesYesYesYes
wolfCryptYesYesYesNoNoYesNoYesNoYes

Cipher modes

Further information: Block cipher mode of operation

ImplementationECBCBCOFBCFBCTRCCMGCMOCBXTSAES-WrapStreamEAX
BotanNoYesYesYesYesYesYesYesYesYesYesYes
Bouncy CastleYesYesYesYesYesYesYesYesNoYesYesYes
BSAFEYesYesYesYesYesYesYesNoYesYesYesNo
cryptlibYesYesYesYesNoNoYesNoNoNoNoNo
Crypto++YesYesYesYesYesYesYesNoYesNoYesYes
GnuTLS
Java's default JCA/JCE providersYesYesYesYesYesNoYesNoNoYesYesNo
LibgcryptYesYesYesYesYesYesYesYesYesYesYesYes
libsodiumNoNoNoNoYesNoYesNoNoNoNoNo
Mbed TLSYesYesNoYesYesYesYesNoNoNoNoNo
NettleYesYesNoNoYesYesYesNoNoNoNoNo
OpenSSLYesYesYesYesYesYesYesYesYesYesYesNo
wolfCryptYesYesYesYesYesYesYesNoYesYesYesYes

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.

ImplementationRC4HC-256RabbitSalsa20ChaChaSEALPanamaWAKEGrainVMPCISAAC
BotanYesNoNoYesYesNoNoNoNoNoNo
Bouncy CastleYesYesNoYesYesNoNoNoYesYesYes
BSAFE Crypto-JYesNoNoNoYesNoNoNoNoNoNo
cryptlibYesNoNoNoNoNoNoNoNoNoNo
Crypto++YesYesYesYesYesYesYesYesNoNoNo
GnuTLS
Java's default JCA/JCE providersYesNoNoNoYesNoNoNoNoNoNo
LibgcryptYesNoNoYesYesNoNoNoNoNoNo
libsodiumNoNoNoYesYesNoNoNoNoNoNo
Mbed TLSYesNoNoNoYesNoNoNoNoNoNo
NettleYesNoNoYesYesNoNoNoNoNoNo
OpenSSLYesNoNoNoYesNoNoNoNoNoNo
wolfCryptYesNoNoYesYesNoNoNoNoNoNo

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

Further information: Smart card, SIM card, and Hardware security module

ImplementationPKCS #11PC/SCCCID
BotanYesNoNo
Bouncy CastleYes71NoNo
BSAFEYes72NoNo
cryptlibYesNoNo
Crypto++NoNoNo
GnuTLSYesNoNo
Java's default JCA/JCE providersYesNo73No74
LibgcryptYes75Yes76Yes77
libsodiumNoNoNo
Mbed TLSYes78NoNo
OpenSSLYes79NoNo
wolfCryptYesNoNo

General purpose CPU, platform acceleration support

Further information: CPU

ImplementationAES-NISSSE3, SSE4.1AVX, AVX2AVX-512RDRANDVIA PadLockIntel QuickAssistARMv7-A NEONARMv8-A cryptography instructionsPower ISA v2.03 (AltiVec80)Power ISA v2.07 (e.g., POWER8 and later81)
BotanYesYesYesYesYesNoNoYesYesYesYes
BSAFEYes82Yes83Yes84NoYes85NoNoNoYes86NoNo
cryptlibYesYesYesNoYesYesNoNoNoNoNo
Crypto++YesYesYesNoYesYes87NoYesYesYesYes
GnuTLSYesNoNoNoNoYesNoNoNoNoNo
Java's default JCA/JCE providersYes88Yes89Yes90Yes91Yes92NoNoNoYes93NoYes94
Libgcrypt95YesYesYesYesYesYesNoYesYesNoYes
libsodiumYesYesYesNoNoNoNoNoNoNoNo
OpenSSLYesYesYesYesYes96YesNoYesYesYesYes
wolfCryptYesYesYesNoYesNoYes97YesYes98NoNo

Code size and code to comment ratio

ImplementationSource code size

(kSLOC = 1000 lines of source code)

Code to comment lines ratio
Botan133994.55100
Bouncy Castle13591015.26102
BSAFE Crypto-J2711031.3104
cryptlib2412.66
Crypto++1151055.74106
GnuTLS3631077.30108
Java's default JCA/JCE providers
Libgcrypt2161096.27110
libsodium4411121.92112
Mbed TLS10511333.9114
Nettle1111154.08116
OpenSSL4721174.41118
wolfCrypt395.69

Portability

ImplementationSupported operating systemThread safe
BotanLinux, Windows, macOS, Android, iOS, FreeBSD, NetBSD, OpenBSD, DragonflyBSD, Solaris, AIX, QNX, HaikuYes
Bouncy CastleGeneral Java API: J2ME, Java Runtime Environment 1.1+, Android. Java FIPS API: Java Runtime 1.5+, Android. C# API (General & FIPS): CLR 4.
BSAFE Crypto-JSolaris, Linux, Android, FreeBSD, AIX, 32 and 64-bit Windows, macOS (Darwin)Yes
cryptlibAMX, 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, XMKYes
Crypto++Unix (AIX, OpenBSD, Linux, MacOS, Solaris, etc.), Win32, Win64, Android, iOS, ARMYes119
GnuTLSRuns on most Unix platforms and Windows120?
LibgcryptAll 32- and 64-bit Unix Systems (Linux, FreeBSD, NetBSD, macOS etc.), Win32, Win64, WinCE, and moreYes121
libsodiummacOS, Linux, OpenBSD, NetBSD, FreeBSD, DragonflyBSD, Android, iOS, 32 and 64-bit Windows (Visual Studio, MinGW, C++ Builder), NativeClient, QNX, JavaScript, AIX, MINIX, SolarisYes
Mbed TLSWin32/64, Unix Systems, embedded Linux, Micrium's μC/OS, FreeRTOS?
OpenSSLSolaris, 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), HaikuYes
wolfCryptWin32/64, Linux, macOS, Solaris, ThreadX, VxWorks, FreeBSD, NetBSD, OpenBSD, embedded Linux, 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-UXYes

References

  1. "Botan: Release Notes". Retrieved 2025-01-22. https://botan.randombit.net/#releases

  2. "Download Bouncy Castle for Java - bouncycastle.org". 2025-01-14. Retrieved 2025-02-16. https://www.bouncycastle.org/download/bouncy-castle-java/

  3. "Download Bouncy Castle for Java LTS - bouncycastle.org". 2024-11-08. Retrieved 2024-11-29. https://www.bouncycastle.org/download/bouncy-castle-java-lts/

  4. "Download Bouncy Castle for Java FIPS - bouncycastle.org". 2024-07-30. Retrieved 2024-11-29. https://www.bouncycastle.org/download/bouncy-castle-java-fips/

  5. "Download Bouncy Castle for C# .NET - bouncycastle.org". 2025-02-14. Retrieved 2024-02-16. https://www.bouncycastle.org/download/bouncy-castle-c/

  6. "Download Bouncy Castle for C# .NET FIPS - bouncycastle.org". 2024-03-11. Retrieved 2024-11-29. https://www.bouncycastle.org/download/bouncy-castle-c-fips/

  7. "Dell BSAFE Crypto-C Micro Edition 4.1.5 and Micro Edition Suite 4.6 Release Advisory". https://www.dell.com/support/kbdoc/000181234

  8. "Dell BSAFE Micro Edition Suite 5.0.3 Release Advisory". https://www.dell.com/support/kbdoc/000254066

  9. "Dell BSAFE Crypto-J 7.0.1 Release Advisory". https://www.dell.com/support/kbdoc/000296109/dell-bsafe-crypto-j-7-0-1-release-advisory

  10. "Dell BSAFE Crypto-J 6.3 Release Advisory". https://www.dell.com/support/kbdoc/000212037/dell-bsafe-crypto-j-6-3-release-advisory

  11. Gutmann, Peter (2019). "Downloading". cryptlib. University of Auckland School of Computer Science. Retrieved 2019-08-07. /wiki/Peter_Gutmann_(computer_scientist)

  12. Daiki Ueno (8 February 2025). https://lists.gnupg.org/pipermail/gnutls-help/2025-February/004875.html. Retrieved 13 February 2025. {{cite web}}: Missing or empty |title= (help) https://lists.gnupg.org/pipermail/gnutls-help/2025-February/004875.html

  13. "Java™ SE Development Kit 23, 23.0.1 Release Notes". Oracle Corporation. Retrieved 2024-10-16. https://www.oracle.com/java/technologies/javase/23-0-1-relnotes.html

  14. "Java™ SE Development Kit 21, 21.0.5 Release Notes". Oracle Corporation. Retrieved 2024-10-16. https://www.oracle.com/java/technologies/javase/21-0-5-relnotes.html

  15. "Java™ SE Development Kit 17, 17.0.13 Release Notes". Oracle Corporation. Retrieved 2024-10-16. https://www.oracle.com/java/technologies/javase/17-0-13-relnotes.html

  16. "Java™ SE Development Kit 11, 11.0.25 Release Notes". Oracle Corporation. Retrieved 2024-10-16. https://www.oracle.com/java/technologies/javase/11-0-25-relnotes.html

  17. "Java™ SE Development Kit 8, Update 431 Release Notes". Oracle Corporation. Retrieved 2024-10-16. https://www.oracle.com/java/technologies/javase/8u431-relnotes.html

  18. "LibreSSL 4.0.0 Released". 14 October 2024. Retrieved 15 October 2024. https://marc.info/?l=openbsd-announce&m=172897399729957&w=2

  19. "Libgcrypt 1.11.0 released". dev.gnupg.org. 2024-06-19. Retrieved 2024-06-20. https://lists.gnu.org/archive/html/info-gnu/2024-06/msg00004.html

  20. "Libgcrypt 1.8.11 released". dev.gnupg.org. 2023-11-16. Retrieved 2023-11-16. https://dev.gnupg.org/source/libgcrypt/browse/LIBGCRYPT-1.8-BRANCH/NEWS%3Blibgcrypt-1.8.11?view=raw

  21. "Mbed TLS releases". 2021-07-07. Retrieved 2021-10-14. https://github.com/ARMmbed/mbedtls/releases

  22. Downloading and installing NaCl, Bernstein, Lange, Schwabe, retrieved 2017-05-22 https://nacl.cr.yp.to/install.html

  23. Niels Möller (30 December 2024). "ANNOUNCE: Nettle-3.10.1". Retrieved 1 January 2025. https://lists.gnu.org/archive/html/info-gnu/2024-12/msg00008.html

  24. "NSS:Release versions". Mozilla Wiki. Retrieved 7 November 2022. https://wiki.mozilla.org/NSS:Release_Versions

  25. "NSS:Release versions". Mozilla Wiki. Retrieved 7 November 2022. https://wiki.mozilla.org/NSS:Release_Versions

  26. "OpenSSL 3.4.1". 11 February 2025. Retrieved 11 February 2025. https://github.com/openssl/openssl/releases/tag/openssl-3.4.1

  27. "wolfSSL ChangeLog". 2024-12-31. Retrieved 2024-12-31. https://www.wolfssl.com/docs/wolfssl-changelog/

  28. Computer Security Division, Information Technology Laboratory (2016-10-11). "Search - Cryptographic Module Validation Program | CSRC | CSRC". CSRC | NIST. Retrieved 2024-11-22. https://csrc.nist.gov/projects/cryptographic-module-validation-program/validated-modules/search

  29. Computer Security Division, Information Technology Laboratory (2016-10-11). "Modules In Process List - Cryptographic Module Validation Program | CSRC | CSRC". CSRC | NIST. Retrieved 2024-11-22. https://csrc.nist.gov/Projects/cryptographic-module-validation-program/modules-in-process/Modules-In-Process-List

  30. "Cryptographic Module Validation Program CMVP". csrc.nist.gov. 11 October 2016. https://csrc.nist.gov/Projects/cryptographic-module-validation-program/modules-in-process/IUT-List

  31. "Cryptographic Module Validation Program". CSRC.nist.gov. Archived from the original on 2021-10-21. https://web.archive.org/web/20211021224834/https://csrc.nist.gov/projects/cryptographic-module-validation-program/validated-modules/search?SearchMode=Basic&Vendor=bouncy+castle&CertificateStatus=Active&ValidationYear=0

  32. "Certificate #4743". CSRC. 16 February 2025. https://csrc.nist.gov/projects/cryptographic-module-validation-program/certificate/4743

  33. "Cryptographic Module Validation Program". CSRC.nist.gov. Archived from the original on 2021-09-24. https://web.archive.org/web/20210924205508/https://csrc.nist.gov/projects/cryptographic-module-validation-program/validated-modules/search?SearchMode=Basic&ModuleName=crypto-c&CertificateStatus=Active&ValidationYear=0

  34. "Cryptographic Module Validation Program". CSRC.nist.gov. Archived from the original on 2021-10-23. https://web.archive.org/web/20211023002317/https://csrc.nist.gov/projects/cryptographic-module-validation-program/validated-modules/search?SearchMode=Basic&ModuleName=crypto-j&CertificateStatus=Active&ValidationYear=0

  35. "Cryptographic Module Validation Program | CSRC". https://csrc.nist.gov/projects/cryptographic-module-validation-program/validated-modules/search?SearchMode=Advanced&ModuleName=bsafe&Standard=140-3&CertificateStatus=Active&ValidationYear=0

  36. Crypto++ received three FIPS 140 validations from 2003 through 2008. In 2016 NIST moved Crypto++ to the Historical Validation List.

  37. "Search - Cryptographic Module Validation Program". CSRC. Retrieved 2022-05-29. https://csrc.nist.gov/projects/cryptographic-module-validation-program/validated-modules/search?SearchMode=Basic&ModuleName=GnuTLS&CertificateStatus=Active&ValidationYear=0

  38. While GnuTLS is not FIPS 140-2 validated by GnuTLS.org, validations exist for versions from Amazon Web Services Inc., Oracle Corporation, Red Hat Inc. and SUSE LLC.

  39. "Implementation Under Test List - Cryptographic Module Validation Program". CSRC. 11 October 2016. https://csrc.nist.gov/projects/cryptographic-module-validation-program/modules-in-process/iut-list

  40. "Search - Cryptographic Module Validation Program". CSRC. 11 October 2016. https://csrc.nist.gov/projects/cryptographic-module-validation-program/validated-modules/search?SearchMode=Basic&ModuleName=Java&CertificateStatus=Active&ValidationYear=0

  41. While none of default JDK JCA/JCE providers is FIPS 140-2 validated, there are other JCE/JCA third party providers which are FIPS 140-2 validated.

  42. Computer Security Division, Information Technology Laboratory (October 11, 2016). "Search - Cryptographic Module Validation Program | CSRC | CSRC". CSRC | NIST. https://csrc.nist.gov/projects/cryptographic-module-validation-program/validated-modules/search?SearchMode=Basic&ModuleName=libgcrypt&CertificateStatus=Active&ValidationYear=0

  43. While Libgcrypt is not FIPS 140-2 validated by g10code, validations exist for versions from Amazon Web Services Inc., Canonical Ltd., Oracle Corporation, Red Hat Inc. and SUSE LLC.

  44. "Implementation Under Test List - Cryptographic Module Validation Program". CSRC. 11 October 2016. https://csrc.nist.gov/projects/cryptographic-module-validation-program/modules-in-process/iut-list

  45. "Cryptographic Module Validation Program". CSRC.nist.gov. Archived from the original on 2021-09-24. https://web.archive.org/web/20210924205511/https://csrc.nist.gov/projects/cryptographic-module-validation-program/validated-modules/search?SearchMode=Basic&ModuleName=NSS+&CertificateStatus=Active&ValidationYear=0

  46. While the Network Security Services (NSS) are not FIPS 140-2 validated by the Mozilla Foundation, validations exist for versions from Amazon Web Services Inc., Canonical Ltd., Cisco Systems Inc., Hewlett Packard Enterprise, Oracle Corporation, Red Hat Inc., SafeLogic Inc., SUSE LLC and Trend Micro Inc.

  47. "Implementation Under Test List - Cryptographic Module Validation Program". CSRC. 11 October 2016. https://csrc.nist.gov/projects/cryptographic-module-validation-program/modules-in-process/iut-list

  48. "Cryptographic Module Validation Program". CSRC.nist.gov. Archived from the original on 2021-04-14. https://web.archive.org/web/20210414133436/https://csrc.nist.gov/projects/cryptographic-module-validation-program/validated-modules/search?SearchMode=Basic&ModuleName=openssl&CertificateStatus=Active&ValidationYear=0

  49. While OpenSSL is not FIPS 140-2 validated by OpenSSL.org, validations exist for versions from Amazon Web Services Inc., Aqua Security Software Ltd., Broadcom Inc., Canonical Ltd., Cisco Systems Inc., Cohesity Inc., ControlUp Technologies Inc., Crestron Electronics Inc., Dell Inc., Gallagher Group, Hewlett Packard Enterprise, IBM Corporation, ICU Medical Inc., Intelligent Waves, Ixia, KeyPair Consulting Inc., Koninklijke Philips N.V., Lenovo Group Limited, LG Electronics Inc., LogRhythm, McAfee LLC, Metaswitch Networks Ltd, NetBrain Technologies Inc., Nutanix Inc., Onclave Networks Inc., Oracle Corporation, REDCOM Laboratories Inc., Red Hat Inc., SafeLogic Inc., Super Micro Computer Inc., SUSE LLC, Tanium Inc., Trend Micro Inc., Unisys Corporation, Verizon, VMware Inc. and Wickr Inc.

  50. "Implementation Under Test List - Cryptographic Module Validation Program". CSRC. 11 October 2016. https://csrc.nist.gov/projects/cryptographic-module-validation-program/modules-in-process/iut-list

  51. Computer Security Division, Information Technology Laboratory (October 11, 2016). "Cryptographic Module Validation Program | CSRC | CSRC". CSRC | NIST. https://csrc.nist.gov/projects/cryptographic-module-validation-program/certificate/3389

  52. "Cryptographic Module Validation Program | CSRC". https://csrc.nist.gov/projects/cryptographic-module-validation-program/certificate/4718

  53. By using the lower level interface.

  54. RFC 7091 /wiki/RFC_(identifier)

  55. RFC 8018 /wiki/RFC_(identifier)

  56. The library offers X.509 and PKCS #8 encoding without PEM by default. For PEM encoding of public and private keys the PEM Pack is needed. https://www.cryptopp.com/wiki/PEM_Pack

  57. These Public Key Cryptographic Standards (PKCS) are supported by accompanying libraries and tools, which are also part of the GnuPG framework, although not by the actual libgcrypt library. https://gnupg.org/download/

  58. These Public Key Cryptographic Standards (PKCS) are supported by accompanying libraries and tools, which are also part of the GnuPG framework, although not by the actual libgcrypt library. https://gnupg.org/download/

  59. These Public Key Cryptographic Standards (PKCS) are supported by accompanying libraries and tools, which are also part of the GnuPG framework, although not by the actual libgcrypt library. https://gnupg.org/download/

  60. These Public Key Cryptographic Standards (PKCS) are supported by accompanying libraries and tools, which are also part of the GnuPG framework, although not by the actual libgcrypt library. https://gnupg.org/download/

  61. These Public Key Cryptographic Standards (PKCS) are supported by accompanying libraries and tools, which are also part of the GnuPG framework, although not by the actual libgcrypt library. https://gnupg.org/download/

  62. RFC 5831 /wiki/RFC_(identifier)

  63. RFC 6986 /wiki/RFC_(identifier)

  64. RFC 5830 /wiki/RFC_(identifier)

  65. RFC 8891 /wiki/RFC_(identifier)

  66. RFC 7801 /wiki/RFC_(identifier)

  67. Bouncy Castle Specifications, bouncycastle.org, retrieved 2018-04-10 https://www.bouncycastle.org/specifications.html

  68. cryptlib Encryption Toolkit, Peter Gutmann, retrieved 2015-11-28 https://www.cs.auckland.ac.nz/~pgut001/cryptlib/

  69. Crypto++ only supports GOST 28147-89, but not GOST R 34.12-2015.

  70. libsodium only supports AES-256, but not AES-128 or AES-192.

  71. In conjunction with the PKCS#11 provider, or through the implementation of operator interfaces providing access to basic operations.

  72. When using BSAFE Crypto-J in native mode using BSAFE Crypto-C Micro Edition.

  73. Support is available through javax.smartcardio package of JDK.

  74. Support is available through javax.smartcardio package of JDK.

  75. With Scute, scute.org http://www.scute.org/scute.html/Overview.html

  76. With GnuPG's SCdaemon & gpg-agent, gnupg.org https://www.gnupg.org/documentation/manuals/gnupg/Scdaemon-Options.html

  77. With GnuPG's SCdaemon & gpg-agent, gnupg.org https://www.gnupg.org/documentation/manuals/gnupg/Scdaemon-Options.html

  78. With an libp11 engine https://github.com/OpenSC/libp11

  79. With an libp11 engine https://github.com/OpenSC/libp11

  80. AltiVec includes POWER4 through POWER8 SIMD processing. POWER8 added in-core crypto, which provides accelerated AES, SHA and PMUL similar to ARMv8.1. /wiki/AltiVec

  81. AltiVec includes POWER4 through POWER8 SIMD processing. POWER8 added in-core crypto, which provides accelerated AES, SHA and PMUL similar to ARMv8.1. /wiki/AltiVec

  82. When using RSA BSAFE Crypto-J in native mode using BSAFE Crypto-C Micro Edition

  83. When using RSA BSAFE Crypto-J in native mode using BSAFE Crypto-C Micro Edition

  84. When using RSA BSAFE Crypto-J in native mode using BSAFE Crypto-C Micro Edition

  85. When using RSA BSAFE Crypto-J in native mode using BSAFE Crypto-C Micro Edition

  86. When using RSA BSAFE Crypto-J in native mode using BSAFE Crypto-C Micro Edition

  87. Crypto++ only provides access to the Padlock random number generator. Other functions, like AES acceleration, are not provided.

  88. When using the HotSpot JVM /wiki/HotSpot_(virtual_machine)

  89. When using the HotSpot JVM /wiki/HotSpot_(virtual_machine)

  90. When using the HotSpot JVM /wiki/HotSpot_(virtual_machine)

  91. When using the HotSpot JVM /wiki/HotSpot_(virtual_machine)

  92. When using the HotSpot JVM /wiki/HotSpot_(virtual_machine)

  93. When using the HotSpot JVM /wiki/HotSpot_(virtual_machine)

  94. When using the HotSpot JVM /wiki/HotSpot_(virtual_machine)

  95. hwfeatures.c, dev.gnupg.org https://dev.gnupg.org/source/libgcrypt/browse/master/src/hwfeatures.c

  96. OpenSSL RDRAND support is provided through the ENGINE interface. The RDRAND generator is not used by default.

  97. "WolfSSL Asynchronous Intel QuickAssist Support - wolfSSL". 18 January 2017. https://www.wolfssl.com/wolfSSL/Blog/Entries/2017/1/18_wolfSSL_Asynchronous_Intel_QuickAssist_Support.html

  98. "WolfSSL ARMv8 Support - wolfSSL". 13 October 2016. https://www.wolfssl.com/wolfSSL/Blog/Entries/2016/10/13_wolfSSL_ARMv8_Support.html

  99. Language Analysis of Botan, OpenHub.net, retrieved 2018-07-18 https://www.openhub.net/p/botan/analyses/latest/languages_summary

  100. Language Analysis of Botan, OpenHub.net, retrieved 2018-07-18 https://www.openhub.net/p/botan/analyses/latest/languages_summary

  101. Language Analysis of Bouncy Castle, OpenHub.net, retrieved 2015-12-23 https://www.openhub.net/p/5523/analyses/latest/languages_summary

  102. Language Analysis of Bouncy Castle, OpenHub.net, retrieved 2015-12-23 https://www.openhub.net/p/5523/analyses/latest/languages_summary

  103. Based on Crypto-J 6.2.5, excluding tests source. Generated using https://github.com/XAMPPRocky/tokei https://github.com/XAMPPRocky/tokei

  104. Based on Crypto-J 6.2.5, excluding tests source. Generated using https://github.com/XAMPPRocky/tokei https://github.com/XAMPPRocky/tokei

  105. Language Analysis of Crypto++, OpenHub.net, retrieved 2018-07-18 https://www.openhub.net/p/3522/analyses/latest/languages_summary

  106. Language Analysis of Crypto++, OpenHub.net, retrieved 2018-07-18 https://www.openhub.net/p/3522/analyses/latest/languages_summary

  107. Language Analysis of GnuTLS, OpenHub.net, retrieved 2020-09-15 https://www.openhub.net/p/gnutls/analyses/latest/languages_summary

  108. Language Analysis of GnuTLS, OpenHub.net, retrieved 2020-09-15 https://www.openhub.net/p/gnutls/analyses/latest/languages_summary

  109. Language Analysis of Libgcrypt, OpenHub.net, retrieved 2015-12-23 https://www.openhub.net/p/libgcrypt/analyses/latest/languages_summary

  110. Language Analysis of Libgcrypt, OpenHub.net, retrieved 2015-12-23 https://www.openhub.net/p/libgcrypt/analyses/latest/languages_summary

  111. Language Analysis of libsodium, OpenHub.net, retrieved 2017-05-07 https://www.openhub.net/p/libsodium/analyses/latest/languages_summary

  112. Language Analysis of libsodium, OpenHub.net, retrieved 2017-05-07 https://www.openhub.net/p/libsodium/analyses/latest/languages_summary

  113. Language Analysis of mbed-tls, OpenHub.net, retrieved 2019-09-15 https://www.openhub.net/p/mbed-tls/analyses/latest/languages_summary

  114. Language Analysis of mbed-tls, OpenHub.net, retrieved 2019-09-15 https://www.openhub.net/p/mbed-tls/analyses/latest/languages_summary

  115. Language Analysis of Nettle, OpenHub.net, retrieved 2015-12-23 https://www.openhub.net/p/nettle/analyses/latest/languages_summary

  116. Language Analysis of Nettle, OpenHub.net, retrieved 2015-12-23 https://www.openhub.net/p/nettle/analyses/latest/languages_summary

  117. Language Analysis of OpenSSL, OpenHub.net, retrieved 2017-05-07 https://www.openhub.net/p/openssl/analyses/latest/languages_summary

  118. Language Analysis of OpenSSL, OpenHub.net, retrieved 2017-05-07 https://www.openhub.net/p/openssl/analyses/latest/languages_summary

  119. Crypto++ is thread safe at the object level, i.e. there is no shared data among instances. If two different threads access the same object then the user is responsible for locking.

  120. GnuTLS - features, GnuTLS.org, retrieved 2022-09-15 https://www.gnutls.org/#features

  121. GnuPG documentation: Libgcrypt overview - thread safety, GnuPG.org, retrieved 2016-04-16 https://gnupg.org/documentation/manuals/gcrypt-devel/Overview.html