>OpenSSL is a software library...
>Crypto++ (also known as CryptoPP, libcrypto++, and libcryptopp) is a free and open-source C++ class library...
>LibreSSL is an open-source implementation...
>NaCl (Networking and Cryptography Library, pronounced "salt") is a public domain, high-speed software library...
>GnuTLS (the GNU Transport Layer Security Library) is a free software implementation...
>Bouncy Castle is a collection of APIs
>APIs
Why does Bouncy Castle always refer to itself as an "API" instead of library or implementation? It seems like such an odd misuse of the term. "API" implies it's like, an interface definition or something, that might have various implementations, and you'd need to download a Bouncy Castle implementation from some third party and plug that into your app that targets the Bouncy Castle "API". But obviously Bouncy Castle is a single library, and it looks like it was always designed that way from the start. The official site refers to it as an "API", wikipedia refers to it as an "API", even Gemini tells you it's an "API" if you search for it.