Bouncy Castle (cryptography): Difference between revisions
disambiguation needed because google shows crypto before inflatable |
|||
Line 1: | Line 1: | ||
{{for|the inflatable structure|Bouncy Castle#Inflatable castles}} |
|||
{{Infobox Software |
{{Infobox Software |
||
| name = Bouncy Castle |
| name = Bouncy Castle |
Revision as of 17:57, 15 April 2011
Stable release | Java: 1.45 C#: 1.6.1 / Java: January 13, 2010 C#: February 8, 2010 |
---|---|
Repository | |
Written in | C# and Java |
Operating system | cross-platform |
Type | cryptography API |
License | MIT License[1] |
Website | http://bouncycastle.org/ |
Bouncy Castle is a collection of APIs used in cryptography. It includes APIs for both the Java and the C# programming languages.
Bouncy Castle is Australian in origin and thus American restrictions on the export of cryptographic software do not apply to it.
History
Bouncy Castle started when two colleagues tired of having to re-invent a set of cryptography libraries each time they changed jobs. One of the very early design considerations of Bouncy Castle came from one of the developers being active in JavaME development, and as a result[clarification needed] there are two distinct library sets.
Architecture
The low-level, or 'light-weight', API is a vendor-specific set of APIs that implement all the underlying cryptographic algorithms. The intent is to use the low-level API in memory constrained devices (JavaME) or when easy access to the JCE libraries is not possible (such as distribution in an applet).
The JCE-compatible provider is built upon the low-level APIs. As such, the source code for the JCE provider is an example of how to implement many of the "common" crypto problems using the low-level API.
See also
Notes
External links
- Roedy Green. "Bouncy Castle". Mindprod Java glossary.
- kpbe An open source Password Based Encryption tool for files that uses bouncycastle C# implementation