Bouncy Castle

Эта статья находится на начальном уровне проработки, в одной из её версий выборочно используется текст из источника, распространяемого под свободной лицензией
Материал из энциклопедии Руниверсалис
Bouncy Castle
Тип криптографическое API
Написана на C# и Java
Операционная система Кроссплатформенное программное обеспечение
Лицензия MIT License[1]
Сайт bouncycastle.org

Bouncy Castle — это программная библиотека, в которой представлена обширная функциональность из области криптографии. Существуют реализации библиотеки на языках программирования Java и C#. Библиотека включает в себя как реализации большого числа криптографических функций, так и поддержку стандартных высокоуровневых криптографических API соответствующих платформ, а также содержит низкоуровневые проприетарные API для более гибкого и эффективного доступа к функционалу.

Bouncy Castle был создан в Австралии и американские ограничения на экспорт криптографических алгоритмов[англ.] на него не распространяются.

История

Разработка Bouncy Castle была начата двумя коллегами, которые устали писать заново библиотеки криптографии каждый раз при смене работы. На дизайн Bouncy Castle сильно повлияло то, что его создатели активно работали с платформой JavaME. В результате чего появились два различных набора библиотек.

Архитектура

В основе архитектуры лежит набор низкоуровневых API, которые реализуют все криптографические алгоритмы. Причина, по которой используется именно низкоуровневое API, заключается в том, что в некоторых устройствах, работающих на платформе JavaME, очень ограничены ресурсы памяти либо когда доступ к библиотеке JCE невозможен (такая ситуация может возникнуть, например, при использовании апплетов).

Криптопровайдер, совместимый с JCE, построен на низкоуровневом API. Таким образом, исходный код криптопровайдера JCE может служить примером того, как решить многие «насущные» проблемы криптографии, используя низкоуровневый API.

См. также

Примечания

  1. Bouncy Castle - LICENSE (недоступная ссылка). Архивировано 3 июля 2012 года.

Ссылки