The Bouncy Castle Crypto package is a C\# implementation of cryptographic algorithms and protocols, it was developed by the Legion of the Bouncy Castle, a registered Australian Charity, with a little help! The Legion, and the latest goings on with this package, can be found at []( In addition to providing basic cryptography algorithms, the package also provides support for CMS, TSP, X.509 certificate generation and a variety of other standards such as OpenPGP.

There is a newer version of this package available.
See the version list below for details.
Install-Package BouncyCastle -Version
dotnet add package BouncyCastle --version
<PackageReference Include="BouncyCastle" Version="" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add BouncyCastle --version
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

Release Notes

In this release, the TLS library has moved to a whitelisting approach for client-side validation of server-presented Diffie-Hellman (DH) parameters. In the default configuration, if a ciphersuite using ephemeral DH is selected by the server, the client will abort the handshake if the proposed DH group is not one of those specified in RFC 3526 or RFC 7919, or if the DH prime is < 2048 bits. The client therefore no longer offers DH ciphersuites by default.

Additional Features and Functionality
Further work has been done on improving SHA-3 performance.
EC key generation and signing now use cache-timing resistant table lookups.
RFC 7748: Added low-level implementations of X25519 and X448.
RFC 8032: Added low-level implementations of Ed25519 and Ed448.


This package has no dependencies.

Showing the top 10 GitHub repositories that depend on BouncyCastle:

Repository Stars
Store securely encrypted backups in the cloud!
mRemoteNG is the next generation of mRemote, open source, tabbed, multi-protocol, remote connections manager.
A simple ACME client for Windows (for use with Let's Encrypt et al.)
A cross-platform .NET library for IMAP, POP3, and SMTP.
Remote Administration Tool for Windows
Windows tray utility / filesystem watcher / launcher for Syncthing
An ACME client library and PowerShell client for the .NET platform (Let's Encrypt)
NiceHash Miner
Ethereum .Net cross platform integration library
A .NET MIME creation and parser library with support for S/MIME, PGP, DKIM, TNEF and Unix mbox spools.

Version History

Version Downloads Last updated
1.8.5 438,157 3/25/2019
1.8.4 449,610 11/2/2018 266,298 10/2/2018
1.8.2 1,006,670 4/14/2018
1.8.1 4,228,722 4/26/2016
1.7.0 1,933,382 4/30/2011