Сравнение криптографических библиотек
В таблицах ниже сравниваются шифрования библиотеки , которые работают с алгоритмами шифрования и имеют вызовы функций интерфейса прикладного программирования ( API ) для каждой из поддерживаемых функций.
Криптографические библиотеки [ править ]
Название реализации | Инициатива | Основной язык реализации | Программное обеспечение с открытым исходным кодом | Лицензия на программное обеспечение | Последний выпуск | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Ботан | Джек Ллойд | С++ | Да | Упрощенный BSD | 3.2.0 (9 октября 2023 г [1] ) [±] | ||||||||||
Надувной замок | Легион Надувного Замка Inc. | Ява, С# | Да | МОЯ лицензия |
| ||||||||||
БСАФЕ | Dell , ранее RSA Security | Ява, Си, Ассемблер | Нет | Собственный | Crypto-C Micro Edition : 4.1.5 (17 декабря 2020 г [7] ) [±]
| ||||||||||
криптлиб | Питер Гутманн | С | Да | Лицензия Sleepycat или коммерческая лицензия | 3.4.5 (2019 [12] ) [±] | ||||||||||
Крипто++ | Проект Крипто++ | С++ | Да | Boost (все отдельные файлы являются общественным достоянием ) | 10 января 2023 г. (8.9.0) | ||||||||||
ГнуTLS | Никос Маврогианнопулос, Саймон Йозефссон | С | Да | LGPL-2.1 или более поздняя версия | 3.8.5 [13] ![]() | ||||||||||
в Java по умолчанию JCA / JCE Поставщики | Оракул | Ява | Да | GNU GPL v2 и коммерческая лицензия | 22.0.1 (19 апреля 2024 г [±] 21.0.0 LTS (19 сентября 2023 г ) [±] | ) ||||||||||
LibreSSL | Фонд OpenBSD | С | Да | Апач 1.0 | 3.9.2 [16] ![]() | ||||||||||
Libgcrypt | Сообщество GnuPG и g10code | С | Да | GNU LGPL v2.1+ |
| ||||||||||
либнатрий | Фрэнк Денис | С | Да | ISC | 13 сентября 2023 г. (1.0.19) | ||||||||||
Мбед ТЛС | Арм Лимитед | С | Да | Апач 2.0 | 3.0.0 (7 июля 2021 г [19] ) [±] ) | ||||||||||
NaCl | Дэниэл Дж. Бернштейн , Таня Ланге , Питер Швабе | С | Да | Общественное достояние | 21 февраля 2011 г. [20] | ||||||||||
Крапива | С | Да | GNU GPL v2+ или GNU LGPL v3 | 3.10 [21] | |||||||||||
Службы сетевой безопасности (NSS) | Мозилла | С | Да | МПЛ 2.0 |
| ||||||||||
OpenSSL | Проект OpenSSL | С | Да | Апач 2.0 | 3.3.1 [23] ![]() | ||||||||||
волкСклеп | ВольфССЛ, Инк. | С | Да | GNU GPL v2 или коммерческая лицензия | 5.6.4 (30 октября 2023 г [24] ) [±] |
ФИПС edit140
В этой таблице указано, предоставляет ли криптографическая библиотека технические требования для FIPS 140 , а также статус ее сертификации FIPS 140 (согласно , NIST поиску CMVP модулям в списке процессов и реализации в списке испытаний ).
Выполнение | Режим ФИПС 140-2 | FIPS 140-2 Подтверждено | FIPS 140-3 Подтверждено |
---|---|---|---|
Ботан | Нет | Нет | Нет |
Надувной замок | Да | Да [25] | В процессе [26] |
БСАФЕ | Да | Да [27] [28] | В процессе [26] |
криптлиб | Да | Нет | Нет |
Крипто++ | Нет | Нет [а] | Нет |
ГнуTLS | Нет | Да [29] [б] | В процессе [30] |
в Java по умолчанию JCA / JCE Поставщики | Нет | Нет [31] [с] | Нет |
Libgcrypt | Да | Да [32] [д] | В процессе [30] |
либнатрий | Нет | Нет | Нет |
Мбед ТЛС | Нет | Нет | Нет |
NaCl | Нет | Нет | Нет |
Крапива | Нет | Нет | Нет |
Службы сетевой безопасности (NSS) | Да | Да [33] [и] | В процессе [30] |
OpenSSL | Да | Да [34] [ф] | В процессе [30] |
волкСклеп | Да | Да [35] | В процессе [26] |
- ^ Crypto++ получил три проверки FIPS 140 с 2003 по 2008 год. В 2016 году NIST переместил Crypto++ в Список исторических проверок.
- ^ Хотя GnuTLS не соответствует требованиям FIPS 140-2, проверенным GnuTLS.org, существуют проверки для версий от Amazon Web Services Inc., Oracle Corporation, Red Hat Inc. и SUSE LLC.
- ^ Хотя ни один из поставщиков JDK JCA/JCE по умолчанию не сертифицирован на соответствие FIPS 140-2, существуют другие сторонние поставщики JCE/JCA, которые прошли проверку на соответствие FIPS 140-2.
- ^ Хотя Libgcrypt не соответствует FIPS 140-2, проверенному g10code, существуют проверки для версий от Amazon Web Services Inc., Canonical Ltd., Oracle Corporation, Red Hat Inc. и SUSE LLC.
- ^ Хотя службы сетевой безопасности (NSS) не сертифицированы Mozilla Foundation на соответствие стандарту FIPS 140-2, существуют проверки версий от Amazon Web Services Inc., Canonical Ltd., Cisco Systems Inc., Hewlett Packard Enterprise, Oracle Corporation, Red Hat. Inc., SafeLogic Inc., SUSE LLC и Trend Micro Inc.
- ^ Хотя OpenSSL не соответствует стандарту FIPS 140-2, проверенному OpenSSL.org, существуют проверки для версий от 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 NV, 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. и Wickr Inc.
Ключевые операции [ править ]
Ключевые операции включают алгоритмы генерации ключей, соглашения об обмене ключами и стандарты криптографии с открытым ключом.
Алгоритмы с открытым ключом [ править ]
Выполнение | ЮАР | ДПО | ECDSA | ЭдДСА | Эд448 | ДХ | ECDH | ECIES | Эль-Гамаль | НТРУ ( ИИЭЭ П1363.1 ) | ДСС |
---|---|---|---|---|---|---|---|---|---|---|---|
Ботан | Да | Да | Да | Да | Нет | Да | Да | Да | Да | Нет | Да |
Надувной замок | Да | Да | Да | Да | Да | Да | Да | Да | Да | Да | Да |
БСАФЕ | Да | Да | Да | Нет | Нет | Да | Да | Да | Нет | Нет | Нет |
криптлиб | Да | Да | Да | Нет | Нет | Да | Да | Нет | Да | Нет | Да |
Крипто++ | Да | Да | Да | Нет | Нет | Да | Да | Да | Да | Нет | Да |
ГнуTLS | Да | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет |
в Java по умолчанию JCA / JCE Поставщики | Да | Да | Да | Да | Да | Да | Да | Нет | Нет | Нет | Да |
Libgcrypt | Да | Да | Да | Да | Да | Да | Да [а] | Нет | Да | Нет | Да |
либнатрий | Нет | Нет | Нет | Да | Нет | Нет | Нет | Нет | Нет | Нет | Нет |
Мбед ТЛС | Да | Да | Да | Нет | Нет | Да | Да | Нет | Нет | Нет | Нет |
Крапива | Да | Да | Нет | Да | Нет | Нет | Нет | Нет | Нет | Нет | Нет |
OpenSSL | Да | Да | Да | Да | Да | Да | Да | Нет | Нет | Нет | Нет |
волкСклеп | Да | Да | Да | Да | Да | Да | Да | Да | Нет | Да | Да |
- ^ С помощью интерфейса нижнего уровня.
эллиптической кривой ( ECC Поддержка криптографии с )
Выполнение | НИСТ | СЕКГ | ECC мозговой пул | Кривая25519 | Кривая448 | ГОСТ Р 34.10. [36] | СМ2 |
---|---|---|---|---|---|---|---|
Ботан | Да | Да | Да | Да | Нет | Да | Да |
Надувной замок | Да | Да | Да | Да | Нет | Да | Нет |
БСАФЕ | Да | Да | Нет | Нет | Нет | Нет | Нет |
криптлиб | Да | Да | Да | Нет | Нет | Нет | Нет |
Крипто++ | Да | Да | Да | Да | Нет | Нет | Нет |
ГнуTLS | Да | Нет | Нет | Нет | Нет | Нет | Нет |
в Java по умолчанию JCA / JCE Поставщики | Да | Да | Нет | Да | Да | Нет | Нет |
Libgcrypt | Да | Да | Да | Да | Да | Да | Да |
либнатрий | Да | Нет | Нет | Да | Да | Нет | Нет |
Мбед ТЛС | Да | Да | Да | Да | Нет | Нет | Нет |
Крапива | Да | Частичный | Нет | Да | Нет | Нет | Нет |
OpenSSL | Да | Да | Да | Да | Да | Да | Да |
волкСклеп | Да | Да | Да | Да | Да | Нет | Нет |
Стандарты криптографии ключом с открытым
Выполнение | ПККС №1 | ПККС №5 , [37] ПБКДФ2 | ПККС №8 | ПККС №12 | IEEE P1363 | АСН.1 |
---|---|---|---|---|---|---|
Ботан | Да | Да | Да | Нет | Да | Да |
Надувной замок | Да | Да | Да | Да | Да | Да |
BSAFE Крипто-J | Да | Да | Да | Да | Нет | Да |
криптлиб | Да | Да | Да | Да | Нет | Да |
Крипто++ | Да | Да | Да [а] | Нет | Да | Да |
ГнуTLS | ||||||
в Java по умолчанию JCA / JCE Поставщики | Да | Да | Да | Да | Да | Да |
Libgcrypt | Да | Да [б] | Да [б] | Да [б] | Да [б] | Да [б] |
либнатрий | Нет | Нет | Нет | Нет | Нет | Нет |
Мбед ТЛС | Да | Нет | Да | Да | Нет | Да |
Крапива | Да | Да | Нет | Нет | Нет | Нет |
OpenSSL | Да | Да | Да | Да | Нет | Да |
волкСклеп | Да | Да | Да | Да | Нет | Да |
- ^ Библиотека по умолчанию предлагает кодировку X.509 и PKCS #8 без PEM. Для PEM-кодирования открытых и закрытых ключей пакет PEM . необходим
- ^ Jump up to: Перейти обратно: а б с д и Эти стандарты шифрования с открытым ключом (PKCS) поддерживаются сопутствующими библиотеками и инструментами, которые также являются частью инфраструктуры GnuPG , но не самой библиотекой libgcrypt.
Хэш-функции [ править ]
Сравнение поддерживаемых криптографических хеш-функций . Здесь хеш-функции определяются как получение сообщения произвольной длины и создание выходных данных фиксированного размера, которые практически невозможно использовать для воссоздания исходного сообщения.
Выполнение | MD5 | ША-1 | ША-2 | ША-3 | РИПЕМД-160 | Тигр | джакузи | БЛЕЙК2 | ГОСТ Р 34.11-94. [38] (он же ГОСТ 34.311-95 ) | ГОСТ Р 34.11-2012. (Стрибог) [39] | СМ3 |
---|---|---|---|---|---|---|---|---|---|---|---|
Ботан | Да | Да | Да | Да | Да | Да | Да | Да | Да | Да | Да |
Надувной замок | Да | Да | Да | Да | Да | Да | Да | Да | Да | Да | Да |
BSAFE Крипто-J | Да | Да | Да | Да | Да | Нет | Нет | Нет | Нет | Нет | Нет |
криптлиб | Да | Да | Да | Да | Да | Нет | Да | Нет | Нет | Нет | Нет |
Крипто++ | Да | Да | Да | Да | Да | Да | Да | Да | Да | Нет | Да |
ГнуTLS | |||||||||||
в Java по умолчанию JCA / JCE Поставщики | Да | Да | Да | Да | Нет | Нет | Нет | Нет | Нет | Нет | Нет |
Libgcrypt | Да | Да | Да | Да | Да | Да | Да | Да | Да | Да | Да |
либнатрий | Нет | Нет | Да | Нет | Нет | Нет | Нет | Да | Нет | Нет | Нет |
Мбед ТЛС | Да | Да | Да | Да | Да | Нет | Нет | Нет | Нет | Нет | Нет |
Крапива | Да | Да | Да | Да | Да | Нет | Нет | Нет | Да | Нет | Нет |
OpenSSL | Да | Да | Да | Да | Да | Да | Да | Да | Да | Нет | Да |
волкСклеп | Да | Да | Да | Да | Да | Нет | Нет | Да | Нет | Нет | Нет |
Алгоритмы MAC [ править ]
Сравнение реализаций алгоритмов кода аутентификации сообщений (MAC). MAC — это короткий фрагмент информации, используемый для аутентификации сообщения, другими словами, для подтверждения того, что сообщение пришло от указанного отправителя (его подлинность) и не было изменено при передаче (его целостность).
Выполнение | HMAC - MD5 | HMAC- SHA1 | HMAC- SHA2 | Поли1305 | БЛЕЙК2-МАК |
---|---|---|---|---|---|
Ботан | Да | Да | Да | Да | Да |
Надувной замок | Да | Да | Да | Да | Да |
BSAFE Крипто-J | Да | Да | Да | Да | Нет |
криптлиб | Да | Да | Да | Нет | Нет |
Крипто++ | Да | Да | Да | Да | Да |
ГнуTLS | |||||
в Java по умолчанию JCA / JCE Поставщики | Да | Да | Да | Нет | Нет |
Libgcrypt | Да | Да | Да | Да | Да |
либнатрий | Нет | Нет | Да | Да | Да |
Мбед ТЛС | Да | Да | Да | Нет | Нет |
Крапива | Да | Да | Да | Да | Нет |
OpenSSL | Да | Да | Да | Да | Да |
волкСклеп | Да | Да | Да | Да | Да |
Блочные шифры [ править ]
В таблице сравниваются реализации блочных шифров. Блочные шифры определяются как детерминированные и работающие с заданным количеством битов (называемым блоком) с использованием симметричного ключа. Каждый блочный шифр можно разбить на возможные размеры ключей и режимы блочного шифрования, с которыми он может работать.
Алгоритмы блочного шифрования [ править ]
Выполнение | АЕС | 3DES | Камелия | Иглобрюхая рыба | Две рыбы | ИДЕЯ | КАСТ5 | ВОЗДУХ | ГОСТЬ 28147-89 [40] / ГОСТ Р 34.12-2015. (Магма [41] & Кузнечик [42] ) | СМ4 |
---|---|---|---|---|---|---|---|---|---|---|
Ботан | Да | Да | Да | Да | Да | Да | Да | Да | Да | Да |
Надувной замок [43] | Да | Да | Да | Да | Да | Да | Да | Да | Да | Да |
BSAFE Крипто-J | Да | Да | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет |
криптлиб [44] | Да | Да | Нет | Да | Нет | Да | Да | Нет | Нет | Нет |
Крипто++ | Да | Да | Да | Да | Да | Да | Да | Да | Частичный [а] | Да |
ГнуTLS | Да | Нет | Да | Нет | Нет | Нет | Нет | Нет | Нет | Нет |
в Java по умолчанию JCA / JCE Поставщики | Да | Да | Нет | Да | Нет | Нет | Нет | Нет | Нет | Нет |
Libgcrypt | Да | Да | Да | Да | Да | Да | Да | Нет | Да | Да |
либнатрий | Частичный [б] | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет |
Мбед ТЛС | Да | Да | Да | Да | Нет | Нет | Нет | Нет | Нет | Нет |
Крапива | Да | Да | Да | Да | Нет | Нет | Нет | Нет | Нет | Нет |
OpenSSL | Да | Да | Да | Да | Нет | Да | Да | Да | Да | Да |
волкСклеп | Да | Да | Да | Нет | Нет | Да | Нет | Нет | Нет | Нет |
Режимы шифрования [ править ]
Выполнение | ЕЦБ | Си-Би-Си | ОФБ | ЦФБ | CTR | СКК | ГКМ | ОКБ | XTS | AES-обертка | Транслировать | ЕАХ |
---|---|---|---|---|---|---|---|---|---|---|---|---|
Ботан | Нет | Да | Да | Да | Да | Да | Да | Да | Да | Да | Да | Да |
Надувной замок | Да | Да | Да | Да | Да | Да | Да | Да | Нет | Да | Да | Да |
БСАФЕ | Да | Да | Да | Да | Да | Да | Да | Нет | Да | Да | Да | Нет |
криптлиб | Да | Да | Да | Да | Нет | Нет | Да | Нет | Нет | Нет | Нет | Нет |
Крипто++ | Да | Да | Да | Да | Да | Да | Да | Нет | Да | Нет | Да | Да |
ГнуTLS | ||||||||||||
в Java по умолчанию JCA / JCE Поставщики | Да | Да | Да | Да | Да | Нет | Да | Нет | Нет | Да | Да | Нет |
Libgcrypt | Да | Да | Да | Да | Да | Да | Да | Да | Да | Да | Да | Да |
либнатрий | Нет | Нет | Нет | Нет | Да | Нет | Да | Нет | Нет | Нет | Нет | Нет |
Мбед ТЛС | Да | Да | Нет | Да | Да | Да | Да | Нет | Нет | Нет | Нет | Нет |
Крапива | Да | Да | Нет | Нет | Да | Да | Да | Нет | Нет | Нет | Нет | Нет |
OpenSSL | Да | Да | Да | Да | Да | Да | Да | Да | Да | Да | Да | Нет |
волкСклеп | Да | Да | Да | Да | Да | Да | Да | Нет | Да | Да | Да | Нет |
Потоковые шифры [ править ]
В таблице ниже показана поддержка различных потоковых шифров . Потоковые шифры определяются как использование цифр обычного текста, которые объединяются с потоком цифр псевдослучайного шифра. Потоковые шифры обычно быстрее блочных шифров и могут иметь меньшую аппаратную сложность, но могут быть более восприимчивы к атакам.
Выполнение | RC4 | ХК-256 | Кролик | Сальса20 | ЧаЧа | ТЮЛЕНЬ | Панама | БУДИТЬ | Зерно | ВМПК | ИСААК |
---|---|---|---|---|---|---|---|---|---|---|---|
Ботан | Да | Нет | Нет | Да | Да | Нет | Нет | Нет | Нет | Нет | Нет |
Надувной замок | Да | Да | Нет | Да | Да | Нет | Нет | Нет | Да | Да | Да |
BSAFE Крипто-J | Да | Нет | Нет | Нет | Да | Нет | Нет | Нет | Нет | Нет | Нет |
криптлиб | Да | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет |
Крипто++ | Да | Да | Да | Да | Да | Да | Да | Да | Нет | Нет | Нет |
ГнуTLS | |||||||||||
в Java по умолчанию JCA / JCE Поставщики | Да | Нет | Нет | Нет | Да | Нет | Нет | Нет | Нет | Нет | Нет |
Libgcrypt | Да | Нет | Нет | Да | Да | Нет | Нет | Нет | Нет | Нет | Нет |
либнатрий | Нет | Нет | Нет | Да | Да | Нет | Нет | Нет | Нет | Нет | Нет |
Мбед ТЛС | Да | Нет | Нет | Нет | Да | Нет | Нет | Нет | Нет | Нет | Нет |
Крапива | Да | Нет | Нет | Да | Да | Нет | Нет | Нет | Нет | Нет | Нет |
OpenSSL | Да | Нет | Нет | Нет | Да | Нет | Нет | Нет | Нет | Нет | Нет |
волкСклеп | Да | Да | Да | Да | Да | Нет | Нет | Нет | Нет | Нет | Нет |
Аппаратная поддержка [ править ]
В этих таблицах сравниваются возможности использования аппаратной шифрования. Используя специальное оборудование, библиотека может достичь более высоких скоростей и/или повышенной безопасности, чем в противном случае.
смарт-карт, SIM-карт, Поддержка HSM протокола
Выполнение | ПККС №11 | ПК/СК | CCID |
---|---|---|---|
Ботан | Да | Нет | Нет |
Надувной замок | Да [а] | Нет | Нет |
БСАФЕ | Да [б] | Нет | Нет |
криптлиб | Да | Нет | Нет |
Крипто++ | Нет | Нет | Нет |
ГнуTLS | Да | Нет | Нет |
в Java по умолчанию JCA / JCE Поставщики | Да | Нет [с] | Нет [с] |
Libgcrypt | Да [45] | Да [46] | Да [46] |
либнатрий | Нет | Нет | Нет |
Мбед ТЛС | Да [47] | Нет | Нет |
OpenSSL | Да [47] | Нет | Нет |
волкСклеп | Да | Нет | Нет |
- ^ В сочетании с провайдером PKCS#11 или посредством реализации операторских интерфейсов, обеспечивающих доступ к основным операциям.
- ^ При использовании BSAFE Crypto-J в собственном режиме с использованием BSAFE Crypto-C Micro Edition.
- ^ Jump up to: Перейти обратно: а б Поддержка доступна через пакет javax.smartcardio JDK.
, поддержка ускорения платформы ЦП общего назначения
Выполнение | AES-НИ | СССЭ3 , ССЕ4.1 | АВХ, АВХ2 | AVX-512 | РДРАНД | ВИА PadLock | Intel QuickAssist | ARMv7-А НЕОН | Инструкции по криптографии ARMv8-A | Power ISA v2.03 ( AltiVec [а] ) | Power ISA v2.07 (например, POWER8 и более поздние версии) [а] ) |
---|---|---|---|---|---|---|---|---|---|---|---|
Ботан | Да | Да | Да | Да | Да | Нет | Нет | Да | Да | Да | Да |
БСАФЕ | Да [б] | Да [б] | Да [б] | Нет | Да [б] | Нет | Нет | Нет | Да [б] | Нет | Нет |
криптлиб | Да | Да | Да | Нет | Да | Да | Нет | Нет | Нет | Нет | Нет |
Крипто++ | Да | Да | Да | Нет | Да | Да [с] | Нет | Да | Да | Да | Да |
ГнуTLS | Да | Нет | Нет | Нет | Нет | Да | Нет | Нет | Нет | Нет | Нет |
в Java по умолчанию JCA / JCE Поставщики | Да [д] | Да [д] | Да [д] | Да [д] | Да [д] | Нет | Нет | Нет | Да [д] | Нет | Да [д] |
Libgcrypt [48] | Да | Да | Да | Да | Да | Да | Нет | Да | Да | Нет | Да |
либнатрий | Да | Да | Да | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет |
OpenSSL | Да | Да | Да | Да | Да [и] | Да | Нет | Да | Да | Да | Да |
волкСклеп | Да | Да | Да | Нет | Да | Нет | Да [49] | Да | Да [50] | Нет | Нет |
- ^ Jump up to: Перейти обратно: а б AltiVec включает обработку SIMD от POWER4 до POWER8. В POWER8 добавлено встроенное шифрование, которое обеспечивает ускорение AES, SHA и PMUL, аналогично ARMv8.1.
- ^ Jump up to: Перейти обратно: а б с д и При использовании RSA BSAFE Crypto-J в собственном режиме с использованием BSAFE Crypto-C Micro Edition.
- ^ Crypto++ предоставляет доступ только к генератору случайных чисел Padlock. Другие функции, такие как ускорение AES, не предусмотрены.
- ^ Jump up to: Перейти обратно: а б с д и ж г При использовании JVM HotSpot
- ^ Поддержка OpenSSL RDRAND обеспечивается через интерфейс ENGINE. Генератор RDRAND не используется по умолчанию.
Размер кода и соотношение кода и комментариев [ править ]
Выполнение | исходного кода Размер (kSLOC = 1000 строк исходного кода) | Соотношение строк кода и комментариев |
---|---|---|
Ботан | 133 [51] | 4.55 [51] |
Надувной замок | 1359 [52] | 5.26 [52] |
BSAFE Крипто-J | 271 [а] | 1.3 [а] |
криптлиб | 241 | 2.66 |
Крипто++ | 115 [53] | 5.74 [53] |
ГнуTLS | 363 [54] | 7.30 [54] |
в Java по умолчанию JCA / JCE Поставщики | ||
Libgcrypt | 216 [55] | 6.27 [55] |
либнатрий | 44 [56] | 21.92 [56] |
Мбед ТЛС | 105 [57] | 33.9 [57] |
Крапива | 111 [58] | 4.08 [58] |
OpenSSL | 472 [59] | 4.41 [59] |
волкСклеп | 39 | 5.69 |
- ^ Jump up to: Перейти обратно: а б На основе Crypto-J 6.2.5, за исключением исходного кода тестов. Создано с использованием https://github.com/XAMPPRocky/tokei.
Портативность [ править ]
Выполнение | Поддерживаемая операционная система | Потокобезопасный |
---|---|---|
Ботан | Linux, Windows, macOS, Android, iOS, FreeBSD, NetBSD, OpenBSD, DragonflyBSD, Solaris, AIX, QNX, Haiku | Да |
Надувной замок | Общий API Java: J2ME, среда выполнения Java 1.1+, Android. Java FIPS API: Java Runtime 1.5+, Android. C# API (общий и FIPS): CLR 4. | |
BSAFE Крипто-J | Solaris, Linux, Android, FreeBSD, AIX, 32- и 64-битная Windows, macOS (Darwin) | Да |
криптлиб | 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 и т. д.), VDK, VM/CMS, VxWorks, Win16, Win32, Win64, WinCE/PocketPC /и т.д., ХМК | Да |
Крипто++ | Unix (AIX, OpenBSD, Linux, MacOS, Solaris и т. д.), Win32, Win64, Android, iOS, ARM | Да [а] |
ГнуTLS | Работает на большинстве платформ Unix и Windows. [60] | ? |
Libgcrypt | Все 32- и 64-битные системы Unix (Linux, FreeBSD, NetBSD, macOS и т. д.), Win32, Win64, WinCE и другие. | Да [61] |
либнатрий | macOS, Linux, OpenBSD, NetBSD, FreeBSD, DragonflyBSD, Android, iOS, 32- и 64-разрядные версии Windows (Visual Studio, MinGW, C++ Builder), NativeClient, QNX, JavaScript, AIX, MINIX, Solaris | Да |
Мбед ТЛС | Win32/64, системы Unix, встроенный Linux, микроC/OS Micrium, FreeRTOS | ? |
OpenSSL | Solaris, IRIX, HP-UX, MPE/iX, Tru64, Linux, Android, BSD (OpenBSD, NetBSD, FreeBSD, DragonflyBSD), NextSTEP, QNX, UnixWare, SCO, AIX, 32- и 64-битная Windows (Visual Studio, MinGW) , UWIN, CygWin), UEFI, macOS (Darwin), iOS, HURD, VxWorks, uClinux, VMS, DJGPP (DOS), Haiku | Да |
волкСклеп | Win32/64, Linux, macOS, Solaris, ThreadX, VxWorks, FreeBSD, NetBSD, OpenBSD, встроенный Linux, WinCE, Haiku, OpenWRT, iPhone (iOS), Android, Nintendo Wii и Gamecube через DevKitPro, QNX, MontaVista, NonStop, TRON /ITRON/μITRON, микроС/ОС Micrium, FreeRTOS, SafeRTOS, Freescale MQX, Nucleus, TinyOS, HP-UX | Да |
- ^ Crypto++ является потокобезопасным на уровне объекта, т.е. между экземплярами нет общих данных. Если два разных потока обращаются к одному и тому же объекту, ответственность за блокировку несет пользователь.
Ссылки [ править ]
- ^ «Ботан: Примечания к выпуску» . Проверено 9 октября 2023 г.
- ^ «Примечания к выпуску — jumpycastle.org» . 13 ноября 2023 г. Проверено 18 ноября 2023 г.
- ^ «Ресурсы Java LTS — jumpycastle.org» . 01.03.2024 . Проверено 31 марта 2024 г.
- ^ «Ресурсы Java FIPS — jumpycastle.org» . 28 сентября 2023 г. Проверено 29 сентября 2022 г.
- ^ «Легион API криптографии надувного замка C#» . 05 февраля 2024 г. Проверено 6 февраля 2024 г.
- ^ «Ресурсы C# .NET FIPS — jumpycastle.org» . 28 февраля 2023 г. Проверено 28 февраля 2023 г.
- ^ «Информация о выпуске Dell BSAFE Crypto-C Micro Edition 4.1.5 и Micro Edition Suite 4.6» .
- ^ «Информация о выпуске Dell BSAFE Micro Edition Suite 4.6.2» .
- ^ «Информация о выпуске Dell BSAFE Micro Edition Suite 5.0.2.1» .
- ^ «Информация о выпуске Dell BSAFE Crypto-J 7.0» .
- ^ «Информация о выпуске Dell BSAFE Crypto-J 6.3» .
- ^ Гутманн, Питер (2019). «Загрузка» . cryptlib. Оклендского университета Школа компьютерных наук . Проверено 7 августа 2019 г.
- ^ "gnutls 3.8.5" .
- ^ «Релизы JDK» . Корпорация Оракл . Проверено 9 декабря 2022 г.
- ^ «Релизы JDK» . Корпорация Оракл . Проверено 17 января 2024 г.
- ^ Брент Кук (12 мая 2024 г.). «Выпущена LibreSSL 3.9.2» . Проверено 12 мая 2024 г.
- ^ «Выпущена версия Libgcrypt 1.11.0» . dev.gnupg.org . 19 июня 2024 г. Проверено 20 июня 2024 г.
- ^ «Выпущена версия Libgcrypt 1.8.11» . dev.gnupg.org . 16 ноября 2023 г. Проверено 16 ноября 2023 г.
- ^ «Выпуски Mbed TLS» . 07.07.2021 . Проверено 14 октября 2021 г.
- ^ Загрузка и установка NaCl , Бернштейн, Ланге, Швабе, получено 22 мая 2017 г.
- ^ Нильс Мёллер (16 июня 2024 г.). «АНОНС: Крапива-3.10» . Проверено 16 июня 2024 г.
- ^ Jump up to: Перейти обратно: а б «НСС:Релизные версии» . Мозилла Вики . Проверено 7 ноября 2022 г.
- ^ «Опубликована версия OpenSSL 3.3.1» . 4 июня 2024 г. Проверено 5 июня 2024 г.
- ^ «Журнал изменений wolfSSL» . 31 октября 2023 г. Проверено 31 октября 2023 г.
- ^ «Программа проверки криптографического модуля» . CSRC.nist.gov . Архивировано из оригинала 21 октября 2021 г.
- ^ Jump up to: Перейти обратно: а б с «Список модулей в процессе — программа проверки криптографических модулей» . ЦРСЦ .
- ^ «Программа проверки криптографического модуля» . CSRC.nist.gov . Архивировано из оригинала 24 сентября 2021 г.
- ^ «Программа проверки криптографического модуля» . CSRC.nist.gov . Архивировано из оригинала 23 октября 2021 г.
- ^ «Поиск — Программа проверки криптографических модулей» . ЦРСЦ . Проверено 29 мая 2022 г.
- ^ Jump up to: Перейти обратно: а б с д «Список тестируемых реализаций — программа проверки криптографического модуля» . ЦРСЦ .
- ^ «Поиск — Программа проверки криптографических модулей» . ЦРСЦ . 11 октября 2016 г.
- ^ https://csrc.nist.gov/projects/cryptographic-module-validation-program/validated-modules/search?SearchMode=Basic&ModuleName=libgcrypt&CertificateStatus=Active&ValidationYear=0 [ мертвая ссылка ]
- ^ «Программа проверки криптографического модуля» . CSRC.nist.gov . Архивировано из оригинала 24 сентября 2021 г.
- ^ «Программа проверки криптографического модуля» . CSRC.nist.gov . Архивировано из оригинала 14 апреля 2021 г.
- ^ https://csrc.nist.gov/projects/cryptographic-module-validation-program/certificate/3389
- ^ RFC 7091
- ^ RFC 8018
- ^ RFC 5831
- ^ RFC 6986
- ^ RFC 5830
- ^ RFC 8891
- ^ RFC 7801
- ↑ Технические характеристики Bouncy Castle , jumpycastle.org, получено 10 апреля 2018 г.
- ^ cryptlib Encryption Toolkit , Питер Гутманн , получено 28 ноября 2015 г.
- ^ Со Скютом , scute.org
- ^ Jump up to: Перейти обратно: а б GnuPG , gnupg.org С SCdaemon и gpg-агентом
- ^ Jump up to: Перейти обратно: а б С libp11 движком
- ^ hwfeatures.c , dev.gnupg.org
- ^ «Асинхронная поддержка WolfSSL Intel QuickAssist — wolfSSL» . 18 января 2017 г.
- ^ «Поддержка WolfSSL ARMv8 — wolfSSL» . 13 октября 2016 г.
- ^ Jump up to: Перейти обратно: а б Языковой анализ Botan , OpenHub.net, получено 18 июля 2018 г.
- ^ Jump up to: Перейти обратно: а б Языковой анализ Bouncy Castle , OpenHub.net, получено 23 декабря 2015 г.
- ^ Jump up to: Перейти обратно: а б Языковой анализ Crypto++ , OpenHub.net, получено 18 июля 2018 г.
- ^ Jump up to: Перейти обратно: а б Языковой анализ GnuTLS , OpenHub.net, получено 15 сентября 2020 г.
- ^ Jump up to: Перейти обратно: а б Языковой анализ Libgcrypt , OpenHub.net, получено 23 декабря 2015 г.
- ^ Jump up to: Перейти обратно: а б Языковой анализ libsodium , OpenHub.net, получено 7 мая 2017 г.
- ^ Jump up to: Перейти обратно: а б Языковой анализ mbed-tls , OpenHub.net, получено 15 сентября 2019 г.
- ^ Jump up to: Перейти обратно: а б Языковой анализ крапивы , OpenHub.net, получено 23 декабря 2015 г.
- ^ Jump up to: Перейти обратно: а б Языковой анализ OpenSSL , OpenHub.net, получено 7 мая 2017 г.
- ^ GnuTLS — возможности , GnuTLS.org, получено 15 сентября 2022 г.
- ^ Документация GnuPG: Обзор Libgcrypt — потокобезопасность , GnuPG.org, получено 16 апреля 2016 г.