Крипто ++ - Crypto++
Разработчики) | изначально Wei Dai , проект Crypto ++ с 2015 года |
---|---|
Первый выпуск | 1995 г. |
Стабильный выпуск | 8.6 / 24 сентября 2021 г .
|
Репозиторий | |
Написано в | C ++ |
Операционная система | Кроссплатформенность |
Тип | Библиотека безопасности |
Лицензия | Повышение лицензии на программное обеспечение (ранее лицензия Crypto ++ ) / отдельные файлы в общественное достояние |
Веб-сайт | www |
Crypto ++ (также известный как CryptoPP , libcrypto ++ , и libcryptopp ) является свободным и открытым исходным кодом C ++ , класс библиотеки из криптографических алгоритмов и схем , написанных Wei Dai . Crypto ++ широко используется в академических кругах, студенческих проектах, проектах с открытым исходным кодом и некоммерческих проектах, а также в бизнесе. Выпущенная в 1995 году, библиотека полностью поддерживает 32-битные и 64-битные архитектуры для многих основных операционных систем и платформ, включая Android (с использованием STLport ), Apple (Mac OS X и iOS), BSD , Cygwin , IBM AIX и S / 390. , Linux , MinGW , Solaris , Windows , Windows Phone и Windows RT . Проект также поддерживает компиляцию с использованием библиотек времени выполнения C ++ 03, C ++ 11, C ++ 14 и C ++ 17; и различные компиляторы и IDE , включая Borland Turbo C ++ , Borland C ++ Builder , Clang , CodeWarrior Pro , GCC (включая Apple GCC), Intel C ++ Compiler (ICC) , Microsoft Visual C / C ++ и Sun Studio .
Crypto ++ 1.0 был выпущен в июне 1995 года, но загрузка больше не доступна. Релиз Crypto ++ 1.0 был отозван из-за заявления RSA Data Security, Inc об авторских правах на алгоритм RSA . Все остальные версии библиотеки доступны для скачивания.
Алгоритмы
Crypto ++ обычно предоставляет полные криптографические реализации и часто включает менее популярные, менее часто используемые схемы. Например, Camellia - это одобренный ISO / NESSIE / IETF блочный шифр, примерно эквивалентный AES , а Whirlpool - одобренная ISO / NESSIE / IETF хеш-функция, примерно эквивалентная SHA ; оба включены в библиотеку.
Кроме того, библиотека Crypto ++ иногда делает предлагаемые и новейшие алгоритмы и реализации доступными для изучения криптографическим сообществом. Например, VMAC , универсальный код проверки подлинности сообщений на основе хэшей , был добавлен в библиотеку во время ее представления Инженерной группе Интернета (рабочая группа CFRG) ; и кривые Brainpool, предложенные в марте 2009 г. как Интернет-проект в RFC 5639, были добавлены в Crypto ++ 5.6.0 в том же месяце.
Библиотека также предоставляет примитивы для теоретико-числовых операций, такие как быстрые целые числа с высокой точностью; генерация и проверка простых чисел; арифметика конечных полей, включая GF (p) и GF (2 n ); эллиптические кривые; и полиномиальные операции.
Кроме того, библиотека сохраняет набор небезопасных или устаревших алгоритмов для обратной совместимости и исторической ценности: MD2, MD4, MD5, Panama Hash, DES, ARC4, SEAL 3.0, WAKE, WAKE-OFB, DESX (DES-XEX3), RC2, БЕЗОПАСНЫЙ, 3-ХОДОВОЙ, ГОСТ, АКУЛА, КАСТ-128 и Квадрат.
Представление
В документе семинара ECRYPT 2007 года, посвященном реализации открытых ключей восьми библиотек , Ашраф Абушарех и Крис Кадж обнаружили, что «Crypto ++ 5.1 [sic] лидирует с точки зрения поддержки криптографических примитивов и схем, но является самой медленной из всех исследованных библиотек».
В 2008 году тесты скорости, проведенные Тимо Бингманном с использованием семи библиотек безопасности с открытым исходным кодом с 15 блочными шифрами , показали, что Crypto ++ 5.5.2 была самой производительной библиотекой при двух блочных шифрах и не уступала средней производительности библиотеки при остальных блочных шифрах. .
Crypto ++ также включает функцию автоматического тестирования производительности, доступную из командной строки ( cryptest.exe b ), результаты которой доступны в Crypto ++ 5.6.0 Benchmarks .
Как и многие другие криптографические библиотеки, доступные для 32-разрядных и 64-разрядных архитектур x86 , Crypto ++ включает процедуры сборки для AES с использованием AES-NI . С помощью AES-NI производительность AES значительно улучшается: пропускная способность 128-битного AES / GCM увеличивается примерно с 28,0 циклов на байт до 3,5 циклов на байт.
Версии релизов
Crypto ++ 1.0 был выпущен в июне 1995 года. С момента первого выпуска библиотека претерпела почти два десятка ревизий, включая архитектурные изменения в версии 5.0. С марта 2009 года было выпущено десять выпусков, использующих архитектуру версии 5.0.
Версия | Дата выхода |
---|---|
Крипто ++ 6.0.0 | 22 января 2018 г. |
Крипто ++ 6.1.0 | 22 февраля 2018 г. |
Крипто ++ 7.0.0 | 8 апреля 2018 г. |
Крипто ++ 8.0.0 | 28 декабря 2018 г. |
Крипто ++ 8.1.0 | 11 февраля 2019 г., |
Крипто ++ 8.2.0 | 28 апреля 2019 г., |
Крипто ++ 8.3.0 | 20 декабря 2020 г. |
Крипто ++ 8.4.0 | 2 января 2021 г. |
Крипто ++ 8.5.0 | 7 марта 2021 г. |
Крипто ++ 8.6.0 | 24 сентября 2021 г. |
Компиляцию предыдущих выпусков Crypto ++ 1995 года, составленную Лоуренсом Тео, можно найти в архивах групп пользователей.
Проверки FIPS
Crypto ++ получил три проверки модуля Федерального стандарта обработки информации (FIPS) 140-2 уровня 1 без каких-либо проблем после проверки.
Версия | Сертификат | Даты |
---|---|---|
Крипто ++ 5.0.4 | Сертификат 343 | 2003-09-05, 2005-10-28 |
Крипто ++ 5.2.3 | Сертификат 562 | 2005-07-29, 2005-08-24, 2005-10-28 |
Крипто ++ 5.3.0 | Сертификат 819 | 2007-08-13, 2007-08-17 |
Crypto ++ был перемещен в список исторической проверки CMVP в 2016 году. Этот переход фактически означает, что библиотека больше не проверяется.
Лицензирование
Начиная с версии 5.6.1, Crypto ++ состоит только из файлов общественного достояния , с авторским правом на компиляцию и единой лицензией с открытым исходным кодом для авторского права на компиляцию:
Лицензия Crypto ++ несколько необычна среди проектов с открытым исходным кодом. Различают библиотеку как компиляцию (т. Е. Коллекцию), авторские права на которую принадлежат Wei Dai , и отдельные файлы в ней, которые являются общественным достоянием . Библиотека защищена авторским правом как компиляция, чтобы включить в лицензию определенные заявления об отказе от ответственности (в отношении гарантии, экспорта и патентов) и сохранить в неприкосновенности атрибуцию и декларации общественного достояния, когда Crypto ++ распространяется в форме исходного кода. Тот факт, что отдельные файлы являются общественным достоянием, означает, что по закону вы можете размещать сегменты кода, целые файлы или небольшие наборы файлов (до предела, установленного добросовестным использованием) в свой собственный проект и делать с ними все, что захотите, не беспокоясь о авторское право.
Смотрите также
использованная литература
внешние ссылки
- Официальный веб-сайт
- Проект Crypto ++ GitHub
- Список проектов, использующих Crypto ++ (включая некоммерческие и коммерческие проекты)
- Группа пользователей Crypto ++