Porovnání kryptografických knihoven - Comparison of cryptography libraries
Níže uvedené tabulky se porovnávají kryptografie knihovny, které se zabývají kryptografickými algoritmy a mají volání funkcí API pro každou z podporovaných funkcí.
Kryptografické knihovny
Implementace | Společnost | Vývojový jazyk | Otevřený zdroj | Softwarová licence | Poslední aktualizace | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Botan | Jack Lloyd | C ++ | Ano | Zjednodušená BSD | 2.16.0 (6. října 2020[1]) [±] | ||||||||
Skákací hrad | Legion of the Bouncy Castle Inc. | Java, C # | Ano | Licence MIT |
| ||||||||
cryptlib | Peter Gutmann | C | Ano | Licence Sleepycat nebo komerční licence | 3.4.5 (2019[6]) [±] | ||||||||
Crypto ++ | Projekt Crypto ++ | C ++ | Ano | Zvyšte licenci softwaru (všechny jednotlivé soubory jsou veřejná doména ) | 22. února 2019 (8.1.0) | ||||||||
GnuTLS | Nikos Mavrogiannopoulos, Simon Josefsson | C | Ano | GNU LGPL v2.1 + | 3.6.14 (3. června 2020[7]) [±] | ||||||||
LibreSSL | OpenBSD Foundation | C | Ano | Licence Apache 1.0 | 15. června 2020 | ||||||||
Libgcrypt | GnuPG komunita a kód g10 | C | Ano | GNU LGPL v2.1 + | 1.8.7 (23. října 2020[8]) [±] | ||||||||
libsodium | Frank Denis | C | Ano | Licence ISC | 30. května 2019 (1.0.18) | ||||||||
NaCl | Daniel J. Bernstein, Tanja Lange, Peter Schwabe | C | Ano | Veřejná doména | 21. února 2011[9] | ||||||||
Kopřiva | C | Ano | GNU GPL v2 + nebo GNU LGPL v3 | 3.5.1 (27. června 2019[10]) [±] | |||||||||
Služby zabezpečení sítě (NSS) | Mozilla | C | Ano | MPL 2.0 | 3,59 (13. listopadu 2020[11]) [±] | ||||||||
OpenSSL | Projekt OpenSSL | C | Ano | Licence Apache 1.0 a čtyřčlenná licence BSD | 1.1.1h (22. září 2020[12]) [±] | ||||||||
RSA BSAFE Crypto-C Micro Edition | Dell, dříve Zabezpečení RSA | C | Ne[A] | Proprietární | 4.1.4 (11. září 2019[13]) [±] | ||||||||
RSA BSAFE Crypto-J | Dell, dříve Zabezpečení RSA | Jáva | Ne[A] | Proprietární | 6.2.5 (15. srpna 2019[14]) [±] | ||||||||
vlčí krypta | wolfSSL, Inc. | C | Ano | GPL v2 nebo komerční licence | 4.5.0 (19. srpna 2020[15]) [±] | ||||||||
mbed TLS | ARM Limited | C | Ano | Licence Apache 2.0 | 2.16.2 (11. června 2019[16]) [±] | ||||||||
Themis | Kozácké laboratoře | C; integrované obaly pro C ++, Go, Objective-C, Swift, Java, PHP, Rust, JavaScript, Ruby, Python, WASM[17] | Ano | Licence Apache 2.0 | 0,13,5 (12. listopadu 2020[18] | )
Ověření FIPS 140
Tato část popisuje stav FIPS 140 certifikace pro uvedené kryptografické knihovny podle NIST Cryptographic Module Validation Program.[19]
Implementace | Ověření FIPS 140-2 | Ověření FIPS 140-3 |
---|---|---|
Botan | Ne | Ne |
Skákací hrad | Ano[20] | Ne |
cryptlib | Ne | Ne |
Crypto ++ | Ne[A] | Ne |
GnuTLS | Ne | Ne |
Libgcrypt | Ne[21][b] | Ne |
libsodium | Ne | Ne |
NaCl | Ne | Ne |
Kopřiva | Ne | Ne |
Služby zabezpečení sítě (NSS) | Ne[22][C] | Ne |
OpenSSL | V přípravě[23][d] | Ne |
RSA BSAFE Crypto-C Micro Edition | Ano[24][E] | Ne |
RSA BSAFE Crypto-J | Ano[25][E] | Ne |
vlčí krypta | Ano[26] | V přípravě[27][F] |
mbed TLS | Ne | Ne |
Themis | Ne | Ne |
- ^ Crypto ++ obdržela od roku 2003 do roku 2008 tři ověření FIPS 140. V roce 2016 NIST přesunula Crypto ++ do seznamu historických ověření. Tento krok efektivně odvolá ověření FIPS a federální agentury nemohou modul použít pro ověřenou kryptografii.
- ^ Samotný modul Libgcrypt není FIPS 140-2 ověřený GnuPG, i když pro verze od Amazon Web Services, Oracle, SafeLogic, Hewlett Packard Enterprise a Red Hat stále existují ověření.
- ^ Samotný modul Network Security Services (NSS) není FIPS 140-2 ověřený Mozillou, i když pro verze od Amazon Web Services, Oracle, Trend Micro, Cisco, Red Hat, SUSE, SafeLogic a Hewlett Packard Enterprise stále existují ověření.
- ^ Skutečný modul OpenSSL byl 1. září 2020 přesunut do Seznamu historických validací kvůli ukončení podpory FIPS 186-2, ačkoli pro verze od různých dodavatelů stále existují ověření. Tento krok efektivně odvolá ověření FIPS a federální agentury nemohou modul použít pro ověřenou kryptografii. OpenSSL zahájila proces ověření nového poskytovatele OpenSSL FIPS Provider 3.0, který se nyní zobrazuje jako Testování implementace na CMVP, ale časová osa je stále nedefinovaná a tento modul zatím není veřejnosti přístupný.
- ^ A b RSA BSAFE byl určen pro End of Extended Support (EOXS) se všemi verzemi končícími všemi aktualizacemi 31. ledna 2022. https://www.dell.com/support/article/en-us/sln322390/product-version-life-cycle-for-rsa-bsafe?lang=cs
- ^ Knihovna wolfCrypt je na seznamu Implementation Under Test na CMVP pro FIPS 140-3.
Klíčové operace
Mezi klíčové operace patří algoritmy generování klíčů, dohody o výměně klíčů a kryptografické standardy veřejného klíče.
Generování a výměna klíčů
Implementace | ECDH | DH | DSA | RSA | ElGamal | NTRU | DSS |
---|---|---|---|---|---|---|---|
Botan | Ano | Ano | Ano | Ano | Ano | Ne | Ano |
Skákací hrad | Ano | Ano | Ano | Ano | Ano | Ano | Ano |
cryptlib | Ano | Ano | Ano | Ano | Ano | Ne | Ano |
Crypto ++ | Ano | Ano | Ano | Ano | Ano | Ne | Ano |
Libgcrypt | Ano[A] | Ano | Ano | Ano | Ano | Ne | Ano |
libsodium | Ano | Ne | Ne | Ne | Ne | Ne | Ne |
Kopřiva | Ne | Ne | Ano | Ano | Ne | Ne | Ne |
OpenSSL | Ano | Ano | Ano | Ano | Ne | Ne | Ne |
RSA BSAFE Crypto-C Micro Edition | Ano | Ano | Ano | Ano | Ne | Ne | Ne |
RSA BSAFE Crypto-J | Ano | Ano | Ano | Ano | Ne | Ne | Ne |
vlčí krypta | Ano | Ano | Ano | Ano | Ne | Ano | Ano |
mbed TLS | Ano | Ano | Ano | Ano | Ne | Ne | Ne |
Themis | Ano[28] | Ne | Ne | Ano | Ne | Ne | Ne |
- ^ Pomocí rozhraní nižší úrovně.
Kryptografie eliptické křivky (ECC) Podpěra, podpora
Implementace | NIST | SECG | ECC Brainpool | ECDSA | ECDH | Křivka25519 | EdDSA | GOST R. 34.10 |
---|---|---|---|---|---|---|---|---|
Botan | Ano | Ano | Ano | Ano | Ano | Ano | Ano | Ano |
Skákací hrad | Ano | Ano | Ano | Ano | Ano | Ano | Ano | Ano |
cryptlib | Ano | Ano | Ano | Ano | Ano | Ne | Ne | Ne |
Crypto ++ | Ano | Ano | Ano | Ano | Ano | Ano | Ne | Ne |
Libgcrypt | Ano | Ano | Ano | Ano | Ano | Ano | Ano | Ano |
libsodium | Ano | Ne | Ne | Ne | Ne | Ano | Ano | Ne |
Kopřiva | Ano | Částečný | Ne | Ne | Ne | Ano | Ano | Ne |
OpenSSL | Ano | Ano | Ano | Ano | Ano | Ano | Ano | Ano |
RSA BSAFE Crypto-C Micro Edition | Ano | Ano | Ne | Ano | Ano | Ne | Ne | Ne |
RSA BSAFE Crypto-J | Ano | Ano | Ne | Ano | Ano | Ne | Ne | Ne |
vlčí krypta | Ano | Ne | Ano | Ano | Ano | Ano | Ano | Ne |
mbed TLS | Ano | Ano | Ano | Ano | Ano | Ano | Ne | Ne |
Themis | Ano[29] | Ne | Ne | Ano[30] | Ano[31] | Ano[32][33] | Ano[34][35] | Ne |
Standardy kryptografie veřejného klíče
Implementace | PKCS # 1 | PKCS # 5 | PKCS # 8 | PKCS # 12 | IEEE P1363 | ASN.1 |
---|---|---|---|---|---|---|
Botan | Ano | Ano | Ano | Ne | Ano | Ano |
Skákací hrad | Ano | Ano | Ano | Ano | Ano | Ano |
cryptlib | Ano | Ano | Ano | Ano | Ne | Ano |
Crypto ++ | Ano | Ano | Ano[A] | Ne | Ano | Ano |
Libgcrypt | Ano | Ano[b] | Ano[b] | Ano[b] | Ano[b] | Ano[b] |
libsodium | Ne | Ne | Ne | Ne | Ne | Ne |
Kopřiva | Ano | Ano | Ne | Ne | Ne | Ne |
OpenSSL | Ano | Ano | Ano | Ano | Ne | Ano |
RSA BSAFE Crypto-C Micro Edition | Ano | Ano | Ano | Ano | Ano | Ano |
RSA BSAFE Crypto-J | Ano | Ano | Ano | Ano | Ne | Ano |
vlčí krypta | Ano | Ano | Ano | Ano | Ne | Ano |
mbed TLS | Ano | Ne | Ano | Ano | Ne | Ano |
Themis | Ne | Ne | Ne | Ne | Ne | Ne |
- ^ Knihovna standardně nabízí kódování X.509 a PKCS # 8 bez PEM. Pro PEM kódování veřejných a soukromých klíčů Balíček PEM je potřeba.
- ^ A b C d E Tyto kryptografické standardy veřejného klíče (PKCS) jsou podporovány doprovodnými knihovnami a nástroji, které jsou také součástí Rámec GnuPG, i když ne podle skutečné knihovny libgcrypt.
Funkce hash
Porovnání podporovaných kryptografické hashovací funkce. V tuto chvíli tato část obsahuje také šifry, které se používají k vytvoření značky MAC pro zprávu. Zde jsou hashové funkce definovány jako převzetí zprávy s libovolnou délkou a vytvoření výstupu s pevnou velikostí, který je prakticky nemožné použít pro opětovné vytvoření původní zprávy.
Implementace | MD5 | SHA-1 | SHA-2 | SHA-3 | RIPEMD-160 | Tygr | vířivá vana | GOST | Stribog | BLAKE2 |
---|---|---|---|---|---|---|---|---|---|---|
Botan | Ano | Ano | Ano | Ano | Ano | Ano | Ano | Ano | Ano | Ano |
Skákací hrad | Ano | Ano | Ano | Ano | Ano | Ano | Ano | Ano | Ano | Ano |
cryptlib | Ano | Ano | Ano | Ano | Ano | Ne | Ano | Ne | Ne | Ne |
Crypto ++ | Ano | Ano | Ano | Ano | Ano | Ano | Ano | Ano | Ne | Ano |
Libgcrypt | Ano | Ano | Ano | Ano | Ano | Ano | Ano | Ano | Ano | Ano |
libsodium | Ne | Ne | Ano | Ne | Ne | Ne | Ne | Ne | Ne | Ano |
Kopřiva | Ano | Ano | Ano | Ano | Ano | Ne | Ne | Ano | Ne | Ne |
OpenSSL | Ano | Ano | Ano | Ano | Ano | Ano | Ano | Ano | Ne | Ano |
RSA BSAFE Crypto-C Micro Edition | Ano | Ano | Ano | Ano | Ne | Ne | Ne | Ano | Ne | Ne |
RSA BSAFE Crypto-J | Ano | Ano | Ano | Ano | Ano | Ne | Ne | Ne | Ne | Ne |
vlčí krypta | Ano | Ano | Ano | Ano | Ano | Ne | Ne | Ne | Ne | Ano |
mbed TLS | Ano | Ano | Ano | Ano | Ano | Ne | Ne | Ne | Ne | Ne |
Themis | Ne | Ne | Ano[36][37] | Ne | Ne | Ne | Ne | Ne | Ne | Ne |
Algoritmy MAC
Porovnání implementací ověřovací kód zprávy (MAC) algoritmy. MAC je krátká informace, která se používá k ověření zprávy - jinými slovy k potvrzení, že zpráva pochází od uvedeného odesílatele (její autenticita) a nebyla změněna během přenosu (její integrita).
Implementace | HMAC-MD5 | HMAC-SHA1 | HMAC -SHA2 | Poly1305-AES | BLAKE2-MAC |
---|---|---|---|---|---|
Botan | Ano | Ano | Ano | Ano | Ano |
Skákací hrad | Ano | Ano | Ano | Ano | Ano |
cryptlib | Ano | Ano | Ano | Ne | Ne |
Crypto ++ | Ano | Ano | Ano | Ano | Ano |
Libgcrypt | Ano | Ano | Ano | Ano | Ano |
libsodium | Ne | Ne | Ano | Ano | Ano |
Kopřiva | Ano | Ano | Ano | Ano | Ne |
OpenSSL | Ano | Ano | Ano | Ano | Ne |
RSA BSAFE Crypto-C Micro Edition | Ano | Ano | Ano | Ne | Ne |
RSA BSAFE Crypto-J | Ano | Ano | Ano | Ano | Ne |
vlčí krypta | Ano | Ano | Ano | Ano | Ano |
mbed TLS | Ano | Ano | Ano | Ne | Ne |
Themis | Ne | Ne | Ano[38][39] | Ne | Ne |
Blokovat šifry
Tabulka porovnává implementace blokových šifer. Blokové šifry jsou definovány jako deterministické a fungující na stanoveném počtu bitů (nazývaných blok) pomocí symetrického klíče. Každou blokovou šifru lze rozdělit na možné velikosti klíčů a režimy blokové šifry, se kterými lze běžet.
Bloková šifra algoritmy
Implementace | AES | Kamélie | 3DES | Blowfish | Twofish | CAST5 | IDEA | GOST 28147-89 / GOST R 34.12-2015 | ÁRIE |
---|---|---|---|---|---|---|---|---|---|
Botan | Ano | Ano | Ano | Ano | Ano | Ano | Ano | Ano | Ano |
Skákací hrad[40] | Ano | Ano | Ano | Ano | Ano | Ano | Ano | Ano | Ano |
cryptlib[41] | Ano | Ne | Ano | Ano | Ano | Ano | |||
Crypto ++ | Ano | Ano | Ano | Ano | Ano | Ano | Ano | Částečný[A] | Ano |
Libgcrypt | Ano | Ano | Ano | Ano | Ano | Ano | Ano | Ano | |
libsodium | Částečný[b] | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne |
Kopřiva | Ano | Ano | Ano | Ano | |||||
OpenSSL | Ano | Ano | Ano | Ano | Ne | Ano | Ano | Ano | Ano |
RSA BSAFE Crypto-C Micro Edition | Ano | Ano | Ano | Ne | Ne | Ne | Ne | Částečný[C] | Ano |
RSA BSAFE Crypto-J | Ano | Ne | Ano | Ne | Ne | Ne | Ne | Ne | Ne |
vlčí krypta | Ano | Ano | Ano | Ne | Ne | Ne | Ano | Ne | Ne |
mbed TLS | Ano | Ano | Ano | Ano | Ne | Ne | Ne | Ne | Ne |
Themis | Ano[42][43] | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne |
Šifrovací režimy
Implementace | ECB | CBC | OFB | CFB | CTR | CCM | GCM | OCB | XTS | AES-Wrap | Proud |
---|---|---|---|---|---|---|---|---|---|---|---|
Botan | Ne | Ano | Ano | Ano | Ano | Ano | Ano | Ano | Ano | Ano | Ano |
Skákací hrad | Ano | Ano | Ano | Ano | Ano | Ano | Ano | Ano | Ano | Ano | |
cryptlib | Ano | Ano | Ano | Ano | Ne | Ano | |||||
Crypto ++ | Ano | Ano | Ano | Ano | Ano | Ano | Ano | Ne | Ne | Ne | Ano |
Libgcrypt | Ano | Ano | Ano | Ano | Ano | Ano | Ano | Ano | Ano | Ano | Ano |
libsodium | Ne | Ne | Ne | Ne | Ano | Ne | Ano | Ne | Ne | Ne | Ne |
Kopřiva | Ano | Ano | Ne | Ne | Ano | Ano | Ano | Ne | Ne | Ne | Ne |
OpenSSL | Ano | Ano | Ano | Ano | Ano | Ano | Ano | Ano | Ano | Ano | Ano |
RSA BSAFE Crypto-C Micro Edition | Ano | Ano | Ano | Ano | Ano | Ano | Ano | Ne | Ano | Ano | Ano |
RSA BSAFE Crypto-J | Ano | Ano | Ano | Ano | Ano | Ano | Ano | Ne | Ano | Ano | Ano |
vlčí krypta | Ano | Ano | Ne | Ano | Ano | Ano | Ano | Ne | Ano | Ne | Ano |
mbed TLS | Ano | Ano | Ne | Ano | Ano | Ano | Ano | Ne | Ne | Ne | Ne |
Themis | Ne | Ne | Ne | Ne | Ano[44][45] | Ne | Ano | Ne | Ne | Ne | Ne |
Streamujte šifry
Tabulka porovnává implementace různých proudových šifer. Šifry proudu jsou definovány jako použití číslic prostého textu, které jsou kombinovány s proudem pseudonáhodné šifry číslic. Streamové šifry jsou obvykle rychlejší než blokové šifry a mohou mít nižší hardwarovou složitost, ale mohou být náchylnější k útokům.
Implementace | RC4 | HC-256 | Králičí | Salsa20 | ChaCha | TĚSNĚNÍ | Panama | PROBUDIT | Obilí | VMPC | ISAAC |
---|---|---|---|---|---|---|---|---|---|---|---|
Botan | Ano | Ne | Ne | Ano | Ano | Ne | Ne | Ne | Ne | Ne | Ne |
Skákací hrad | Ano | Ano | Ne | Ano | Ano | Ne | Ne | Ne | Ano | Ano | Ano |
cryptlib | Ano | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne |
Crypto ++ | Ano | Ano | Ano | Ano | Ano | Ano | Ano | Ano | Ne | Ne | Ne |
Libgcrypt | Ano | Ne | Ne | Ano | Ano | Ne | Ne | Ne | Ne | Ne | Ne |
libsodium | Ne | Ne | Ne | Ano | Ano | Ne | Ne | Ne | Ne | Ne | Ne |
Kopřiva | Ano | Ne | Ne | Ano | Ano | Ne | Ne | Ne | Ne | Ne | Ne |
OpenSSL | Ano | Ne | Ne | Ne | Ano | Ne | Ne | Ne | Ne | Ne | Ne |
RSA BSAFE Crypto-C Micro Edition | Ano | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne |
RSA BSAFE Crypto-J | Ano | Ne | Ne | Ne | Ano | Ne | Ne | Ne | Ne | Ne | Ne |
vlčí krypta | Ano | Ano | Ano | Ano | Ano | Ne | Ne | Ne | Ne | Ne | Ne |
mbed TLS | Ano | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne |
Themis | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne |
Hardwarová podpora
Tabulka porovnává schopnost využívat hardwarově vylepšenou kryptografii. S využitím pomoci konkrétního hardwaru může knihovna dosáhnout vyšších rychlostí a / nebo lepšího zabezpečení než jinak.
Chytrá karta, SIM a HSM podpora protokolu
Implementace | PKCS # 11 | PC / SC | CCID |
---|---|---|---|
Botan | Ano | Ne | Ne |
Skákací hrad | Ano [A] | Ne | Ne |
cryptlib | Ano | Ne | Ne |
Crypto ++ | Ne | Ne | Ne |
Libgcrypt | Ano [46] | Ano [47] | Ano [47] |
libsodium | Ne | Ne | Ne |
OpenSSL | Ano [48] | Ne | Ne |
RSA BSAFE Crypto-C Micro Edition | Ano | Ne | Ne |
RSA BSAFE Crypto-J | Ano[b] | Ne | Ne |
vlčí krypta | Ano | Ne | Ne |
mbed TLS | Ano [48] | Ne | Ne |
Themis | Ne | Ne | Ne |
Obecný účel procesor / podpora akcelerace platformy
Implementace | AES-NI | SSSE3 / SSE4.1 | AVX / AVX2 | RDRAND | VIA PadLock | Intel QuickAssist | AltiVec[A] | ARMv7-A NEON | Pokyny ke kryptografii ARMv8-A |
---|---|---|---|---|---|---|---|---|---|
Botan | Ano | Ano | Ano | Ano | Ne | Ne | Ano | Ano | Ano |
cryptlib | Ano | Ano | Ano | Ano | Ano | Ne | Ne | Ne | Ne |
Crypto ++ | Ano | Ano | Ano | Ano | Ano[b] | Ne | Ano | Ano | Ano |
Libgcrypt[49] | Ano | Ano | Ano | Ano | Ano | Ne | Ne | Ano | Ano |
libsodium | Ano | Ano | Ano | Ne | Ne | Ne | Ne | Ne | Ne |
OpenSSL | Ano | Ano | Ano | Ano[C] | Ano | Ne | Ano | Ano | Ano |
RSA BSAFE Crypto-C Micro Edition | Ano | Ano | Ano | Ano | Ne | Ne | Ne | Ne | Ano |
RSA BSAFE Crypto-J | Ano[d] | Ano[d] | Ano[d] | Ano[d] | Ne | Ne | Ne | Ne | Ano[d] |
vlčí krypta | Ano | Ano | Ano | Ano | Ne | Ano[50] | Ne | Ano | Ano[51] |
Themis | Ano[52] | Ano | Ano | Ano | Ano | Ne | Ano | Ano | Ano |
- ^ AltiVec zahrnuje zpracování POWER4 až POWER8 SIMD. POWER8 přidal jádro kryptoměny, které poskytuje zrychlené AES, SHA a PMUL podobně jako ARMv8.1.
- ^ Crypto ++ poskytuje přístup pouze k generátoru náhodných čísel Padlock. Jiné funkce, jako je zrychlení AES, nejsou k dispozici.
- ^ Podpora OpenSSL RDRAND je poskytována prostřednictvím rozhraní ENGINE. Generátor RDRAND se ve výchozím nastavení nepoužívá.
- ^ A b C d E Při použití RSA BSAFE Crypto-J v nativním režimu pomocí BSAFE Crypto-C Micro Edition
Velikost kódu a poměr kódu k komentáři
Implementace | Velikost zdrojového kódu (kSLOC = 1000 řádků zdrojového kódu) | Poměr kódových řádků k komentářovým řádkům |
---|---|---|
Botan | 133[53] | 4.55[53] |
Skákací hrad | 1359[54] | 5.26[54] |
cryptlib | 241 | 2.66 |
Crypto ++ | 115[55] | 5.74[55] |
Libgcrypt | 216[56] | 6.27[56] |
libsodium | 44[57] | 21.92[57] |
Kopřiva | 111[58] | 4.08[58] |
OpenSSL | 472[59] | 4.41[59] |
RSA BSAFE Crypto-C Micro Edition | 1117[A] | 4.04[A] |
RSA BSAFE Crypto-J | 271[b] | 1.3[b] |
vlčí krypta | 39 | 5.69 |
mbed TLS | 105[60] | 33.9[60] |
Themis | 69[61] | 3.9[61] |
- ^ A b Na základě CCME 4.1.4, včetně zdroje testů. Generováno pomocí https://github.com/XAMPPRocky/tokei
- ^ A b Na základě Crypto-J 6.2.5, s výjimkou zdroje testů. Generováno pomocí https://github.com/XAMPPRocky/tokei
Přenosnost
Implementace | Podporovaný operační systém | Vlákno bezpečné |
---|---|---|
Botan | Linux, Windows, macOS, Android, iOS, FreeBSD, NetBSD, OpenBSD, DragonflyBSD, AIX, QNX, Haiku, IncludeOS | Ano |
Skákací hrad | Obecné rozhraní Java API: J2ME, Java Runtime Environment 1.1+, Android. Java FIPS API: Java Runtime 1.5+, Android. C # API (General & FIPS): CLR 4. | |
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 atd.), VDK, VM / CMS, VxWorks, Win16, Win32, Win64, WinCE / PocketPC / atd., XMK | Ano |
Crypto ++ | Unix (AIX, OpenBSD, Linux, MacOS, Solaris atd.), Win32, Win64, Android, iOS, ARM | Ano[A] |
Libgcrypt | Všechny 32 a 64bitové systémy Unix (GNU / Linux, FreeBSD, NetBSD, macOS atd.), Win32, Win64, WinCE a další | Ano[62] |
libsodium | macOS, Linux, OpenBSD, NetBSD, FreeBSD, DragonflyBSD, Android, iOS, 32 a 64bitové Windows (Visual Studio, MinGW, C ++ Builder), NativeClient, QNX, JavaScript, AIX, MINIX, Solaris | Ano |
OpenSSL | Solaris, IRIX, HP-UX, MPE / iX, Tru64, Linux, Android, BSD (OpenBSD, NetBSD, FreeBSD, DragonflyBSD), NextSTEP, QNX, UnixWare, SCO, AIX, 32 a 64bitová Windows (Visual Studio, MinGW , UWIN, CygWin), UEFI, macOS (Darwin), iOS, HURD, VxWorks, uClinux, VMS, DJGPP (DOS), Haiku | Ano |
RSA BSAFE Crypto-C Micro Edition | Solaris, HP-UX, Tru64, Linux, Android, FreeBSD, AIX, 32 a 64bitová Windows (Visual Studio), macOS (Darwin), iOS, VxWorks | Ano |
RSA BSAFE Crypto-J | Solaris, Linux, Android, FreeBSD, AIX, 32 a 64bitová Windows, macOS (Darwin) | Ano |
vlčí krypta | Win32 / 64, Linux, macOS, Solaris, ThreadX, VxWorks, FreeBSD, NetBSD, OpenBSD, vestavěný Linux, WinCE, Haiku, OpenWRT, iPhone (iOS), Android, Nintendo Wii a Gamecube prostřednictvím DevKitPro, QNX, MontaVista, NonStop, TRON / ITRON / µITRON, μC / OS společnosti Micrium, FreeRTOS, SafeRTOS, Freescale MQX, Nucleus, TinyOS, HP-UX | Ano |
mbed TLS | Win32 / 64, Unix Systems, vestavěný Linux, µC / OS společnosti Micrium, FreeRTOS | ? |
Themis | Debian, Ubuntu, CentOS, RHEL, macOS, Windows (experimentální podpora MSYS2), Android, iOS, ARM, WASM, React Native[63] | Ano |
- ^ Crypto ++ je bezpečné na úrovni objektů, tj. Mezi instancemi nejsou sdílená data. Pokud ke stejnému objektu přistupují dvě různá vlákna, pak je za uzamčení odpovědný uživatel.
Reference
- ^ „Botan: Notes Release“. Citováno 2020-10-29.
- ^ „Poznámky k verzi - bouncycastle.org“. 2020-11-01. Citováno 2020-11-01.
- ^ „Prostředky Java FIPS - bouncycastle.org“. 2019-08-24. Citováno 2019-08-29.
- ^ „Legion of the Bouncy Castle C # Cryptography APIs“. 2020-09-22. Citováno 2020-11-01.
- ^ „Prostředky C # .NET FIPS - bouncycastle.org“. 2016-11-11. Citováno 2017-08-28.
- ^ Gutmann, Peter (2019). „Stahování“. cryptlib. University of Auckland School of Computer Science. Citováno 2019-08-07.
- ^ „Knihovna zabezpečení transportní vrstvy GnuTLS“. Citováno 30. června 2020.
- ^ „Vydán Libgcrypt 1.8.7“. dev.gnupg.org. 2020-10-23. Citováno 2020-10-24.
- ^ Stahování a instalace NaCl, Bernstein, Lange, Schwabe, vyvoláno 2017-05-22
- ^ „Soubor Nettle ChangeLog @ značka git nettle_3.5.1_release_20190627“.
- ^ A b „Poznámky k verzi pro nejnovější verze NSS“. Mozilla Developer Network. 13. listopadu 2020. Citováno 29. listopadu 2020.
- ^ „OpenSSL: Newslog“. Citováno 2020-09-22.
- ^ „RSA oznamuje vydání RSA BSAFE® Crypto-C Micro Edition 4.1.4“.
- ^ „RSA oznamuje vydání RSA BSAFE® Crypto-J 6.2.5“.
- ^ "wolfSSL ChangeLog". 2020-08-19. Citováno 2020-08-22.
- ^ A b „Vydáno Mbed TLS 2.16.0, 2.7.9 a 2.1.18“. 2018-12-21. Citováno 2018-03-24.
- ^ „Jazyky Themis“. Github. Citováno 2020-11-22.
- ^ https://github.com/cossacklabs/themis/releases/tag/0.13.5
- ^ https://csrc.nist.gov/projects/cryptographic-module-validation-program/validated-modules/search
- ^ https://csrc.nist.gov/projects/cryptographic-module-validation-program/validated-modules/search?SearchMode=Basic&Vendor=bouncy+castle&CertificateStatus=Active&ValidationYear=0
- ^ https://csrc.nist.gov/projects/cryptographic-module-validation-program/validated-modules/search?SearchMode=Basic&ModuleName=libgcrypt&CertificateStatus=Active&ValidationYear=0
- ^ https://csrc.nist.gov/projects/cryptographic-module-validation-program/validated-modules/search?SearchMode=Basic&ModuleName=+NSS&CertificateStatus=Active&ValidationYear=0
- ^ https://csrc.nist.gov/projects/cryptographic-module-validation-program/modules-in-process/iut-list
- ^ https://csrc.nist.gov/projects/cryptographic-module-validation-program/validated-modules/search?SearchMode=Basic&Vendor=rsa&ModuleName=crypto-c+micro&CertificateStatus=Active&ValidationYear=0
- ^ https://csrc.nist.gov/projects/cryptographic-module-validation-program/validated-modules/search?SearchMode=Basic&ModuleName=crypto-j&CertificateStatus=Active&ValidationYear=0
- ^ https://csrc.nist.gov/projects/cryptographic-module-validation-program/validated-modules/search?SearchMode=Basic&ModuleName=wolfcrypt&CertificateStatus=Active&ValidationYear=0
- ^ https://csrc.nist.gov/projects/cryptographic-module-validation-program/modules-in-process/iut-list
- ^ https://github.com/cossacklabs/themis#cryptosystems
- ^ https://docs.cossacklabs.com/themis/spec/asymmetric-keypairs/ecc/
- ^ https://docs.cossacklabs.com/themis/crypto-theory/cryptosystems/secure-message/
- ^ https://docs.cossacklabs.com/themis/crypto-theory/cryptosystems/secure-message/
- ^ https://docs.cossacklabs.com/themis/crypto-theory/cryptosystems/secure-comparator/
- ^ https://www.cossacklabs.com/files/secure-comparator-paper-rev12.pdf
- ^ https://docs.cossacklabs.com/themis/crypto-theory/cryptosystems/secure-comparator/
- ^ https://www.cossacklabs.com/files/secure-comparator-paper-rev12.pdf
- ^ https://docs.cossacklabs.com/themis/architecture/soter/#data-integrity-and-authentication
- ^ https://github.com/cossacklabs/themis/blob/master/src/soter/soter_hash.h#L68
- ^ https://docs.cossacklabs.com/themis/architecture/soter/#data-integrity-and-authentication
- ^ https://github.com/cossacklabs/themis/blob/master/src/themis/secure_session_utils.c#L154
- ^ Specifikace skákacího hradu, bouncycastle.org, vyvoláno 10. dubna 2018
- ^ cryptlib Encryption Toolkit, Peter Gutmann, vyvoláno 2015-11-28
- ^ https://github.com/cossacklabs/themis#cryptosystems
- ^ https://docs.cossacklabs.com/themis/crypto-theory/cryptosystems/secure-cell/
- ^ https://github.com/cossacklabs/themis#cryptosystems
- ^ https://docs.cossacklabs.com/themis/crypto-theory/cryptosystems/secure-cell/
- ^ S Scute, scute.org
- ^ A b S GnuPG SCdaemon & gpg-agent, gnupg.org
- ^ A b S libp11 motor
- ^ hwfeatures.c, dev.gnupg.org
- ^ https://www.wolfssl.com/wolfSSL/Blog/Entries/2017/1/18_wolfSSL_Asynchronous_Intel_QuickAssist_Support.html
- ^ https://www.wolfssl.com/wolfSSL/Blog/Entries/2016/10/13_wolfSSL_ARMv8_Support.html
- ^ https://docs.cossacklabs.com/themis/crypto-theory/cryptography-donors/
- ^ A b Jazyková analýza Botanu, OpenHub.net, vyvoláno 2018-07-18
- ^ A b Jazyková analýza skákacího hradu, OpenHub.net, vyvoláno 2015-12-23
- ^ A b Jazyková analýza Crypto ++, OpenHub.net, vyvoláno 2018-07-18
- ^ A b Jazyková analýza Libgcryptu, OpenHub.net, vyvoláno 2015-12-23
- ^ A b Jazyková analýza libsodia, OpenHub.net, vyvoláno 2017-05-07
- ^ A b Jazyková analýza kopřivy, OpenHub.net, vyvoláno 2015-12-23
- ^ A b Jazyková analýza OpenSSL, OpenHub.net, vyvoláno 2017-05-07
- ^ A b Jazyková analýza mbed-tls, OpenHub.net, vyvoláno 2019-09-15
- ^ A b Jazyková analýza Themis, OpenHub.net, vyvoláno 2020-11-06
- ^ Dokumentace GnuPG: Přehled Libgcrypt - bezpečnost vláken, GnuPG.org, vyvoláno 2016-04-16
- ^ „Dostupnost operačního systému Themis“. Github. Citováno 2020-11-22.