# Crypto Libraries for Developers

## Cryptographic Libraries for JavaScript, Python, C# and Java

* Cryptography in **JavaScript**
  * ECDSA, elliptic.js, js-sha3.js
* Cryptography libraries in **Python**
  * ECDSA, eth\_keys
* C# and **.NET** cryptography
  * Bouncy Castle .NET, Nethereum
* **Java** cryptography
  * JCA, Bouncy Castle, Web3j
* **C** and **C++** cryptography
  * Crypto++, OpenSSL bindings, Nettle, libgcrypt

TODO:

* **OpenSSL** - [https://en.wikipedia.org/wiki/OpenSSL](https://en.wikipedia.org/wiki/OpenSSL)
* **LibSodium**
* **Crypto++**
* **Lingcrypt** - [https://en.wikipedia.org/wiki/Libgcrypt](https://en.wikipedia.org/wiki/Libgcrypt)
* **Bouncy Castle**
* **Nettle** - [https://git.lysator.liu.se/nettle/nettle](https://git.lysator.liu.se/nettle/nettle)
* **Botan** - [https://botan.randombit.net](https://botan.randombit.net)
* **Others...**

## Summary

* **JavaScript** and **Python** provide simple cryptography libraries
  * Hashes, ECC, ECDSA, AES, and many more
* Cryptography is **C#** is heavy
  * Use **Bouncy Castle .NET** for general crypto
  * Or **Nethereum** for simplified secp256k1
* Cryptography in **Java** is heavy
  * **JCA** and **Bouncy Castle** are hard to use
  * **Web3j** is simplifies library for secp256k1

...
