暗号ライブラリの比較（あんごうライブラリのひかく）では、暗号化アルゴリズムを扱い、サポートする各機能を呼び出すAPIを持つ暗号ライブラリを比較する。
 

 暗号ライブラリ 
 実装 開発元 開発言語 オープンソース ソフトウェアライセンス FIPS 140 検証 FIPS 140-2 モード 最新アップデートBouncy Castle Legion of the Bouncy Castle Inc. Java, C# MIT License CryptoComply SafeLogic Java, C 商用版 Continuouscryptlib Peter Gutmann C Sleepycat License または 商用版 Crypto++ The Crypto++ project C++ Boost Software License (すべての各ファイルは public domain) April 8, 2018 (7.0.0)Moved to FIPS 140 Historical Validation ListGnuTLS Nikos Mavrogiannopoulos, Simon Josefsson C GNU LGPL v2.1+ Libgcrypt GnuPG community and g10code C GNU LGPL v2.1+ libsodium Frank Denis C ISC license December 13, 2017 (1.0.16)NaCl Daniel J. Bernstein, Tanja Lange, Peter Schwabe C Public domain February 21, 2011Network Security Services Mozilla C MPL 2.0 OpenSSL The OpenSSL Project C Apache Licence 1.0 と 4-Clause BSD Licence wolfCrypt wolfSSL, Inc. C GPL v2 または 商用版 

 鍵処理 

鍵処理には鍵生成アルゴリズム、鍵交換合意、公開鍵暗号標準が含まれる。

 鍵生成と鍵交換 
 実装ECDHDHDSARSAElGamalNTRUDSSBouncy Castle CryptoComply cryptlibCrypto++ Libgcrypt libsodiumOpenSSL wolfCrypt 

 楕円曲線暗号サポート 
 実装NISTSECGECC BrainpoolECDSAECDHCurve25519EdDSAGOST R 34.10Bouncy Castle CryptoComply cryptlibCrypto++ Libgcrypt libsodiumOpenSSLwolfCrypt

 公開鍵暗号標準 
 実装PKCS#1PKCS#5PKCS#8PKCS#12IEEE P1363ASN.1Bouncy CastleCryptoComplycryptlib Crypto++LibgcryptlibsodiumOpenSSLwolfCrypt

 ハッシュ関数 
サポートされている暗号化ハッシュ関数を比較する。メッセージのMACタグを生成するために使用される暗号を含む。ここではハッシュ関数は、任意の長さのメッセージから、元のメッセージの復号が実質不可能な固定サイズの出力を生成するものとして定義する。

 実装MD5SHA-1SHA-2SHA-3RIPEMD-160TigerWhirlpoolGOSTStribogBLAKE2Bouncy CastleCryptoComplycryptlibCrypto++LibgcryptlibsodiumOpenSSLwolfCrypt

 MACアルゴリズム 
メッセージ認証コード（MAC）アルゴリズムの実装を比較する。MACは、メッセージを認証するために使用される短い情報である。メッセージが指定された送信者から送信されたもので（真正性）、送信中に変更されていない（完全性）ことを確認するために用いられる。

 実装HMAC-MD5HMAC-SHA1HMAC-SHA2Poly1305-AESBLAKE2-MACBouncy CastleCryptoComplycryptlib Crypto++ Libgcrypt libsodiumOpenSSL wolfCrypt

 ブロック暗号 
ブロック暗号の実装を比較する。ブロック暗号は、決定論的であり、対称鍵を用いて設定された数のビット（ブロックと呼ばれる）上で動作するものとして定義される。 各ブロック暗号は、実行可能な鍵サイズとブロック暗号モードに分割することができる。

ブロック暗号 アルゴリズム 
 ImplementationAESCamellia3DESBlowfishTwofishCAST5IDEAGOST 28147-89ARIABouncy CastleCryptoComplycryptlib Crypto++ Libgcrypt libsodiumOpenSSLwolfCrypt

 暗号モード 
 実装ECBCBCOFBCFBCTRCCMGCMOCBXTSAES-WrapStreamBouncy Castle CryptoComplycryptlibCrypto++ Libgcrypt libsodiumOpenSSLwolfCrypt

 ストリーム暗号 
ストリーム暗号の実装を比較する。ストリーム暗号は、擬似乱数暗号の文字列と結合した平文文字列を使用する。ストリーム暗号は通常、ブロック暗号より高速でハードウェアの複雑さは減るが、攻撃の影響を受けやすくなる。 

実装RC4HC-256RabbitSalsa20ChaChaSEALPanamaWAKEGrainVMPCISAACBouncy CastleCryptoComplycryptlibCrypto++LibgcryptlibsodiumOpenSSLwolfCrypt

 ハードウェアによるサポート 
ハードウェア暗号の使用可否を比較する。特定のハードウェアを利用できる場合、ライブラリは高速化、および/またはセキュリティを向上させることができる。

 Smartcard, SIM と HSM プロトコルサポート 
 実装 PKCS #11 PC/SC CCID Bouncy Castle CryptoComply cryptlib Crypto++ Libgcrypt libsodium OpenSSL wolfCrypt 

 汎用 CPU / プラットフォームアクセラレーションサポート 
 実装 AES-NI SSSE3 / SSE4.1 AVX / AVX2 RdRand VIA PadLock Intel QuickAssist AltiVec ARMv7-A NEON ARMv8-A CryptoComply cryptlib Crypto++ Libgcrypt libsodium OpenSSL wolfCrypt 

マイクロコントローラ 暗号化アクセラレータサポート 
 実装 STM32F2 STM32F4 Cavium NITROX Freescale CAU/mmCAU Microchip PIC32MZ Atmel ATECC508A TI TivaC Series CubeMX Nordic nRF51wolfCrypt

 コードサイズとコードコメント比率 

 実装 ソースコードサイズ
(kSLOC = 1000行のソースコード) コメント行に対するコードの割合Bouncy Castle13595.26cryptlib2412.66 Crypto++1155.74Libgcrypt2166.27libsodium4421.92OpenSSL4724.41wolfCrypt395.69

 移植性 

 実装 サポートOS スレッドセーフ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. CryptoComply Linux (RHEL, CentOS, Debian, Ubuntu, etc.), Windows, iOS, Android, FreeBSD, macOS, Solaris, Java Runtime Environment 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/Pocket PC/etc, XMK Crypto++ Unix (AIX, OpenBSD, Linux, MacOS, Solaris, etc.), Win32, Win64, Android, iOS, ARM Libgcrypt All 32 and 64 bit Unix Systems (GNU/Linux, FreeBSD, NetBSD, macOS etc.), Win32, Win64, WinCE 他 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 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 wolfCrypt Win32/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-UX, 非OS