← Back to crypto::compare

Implementation Map

Verified libraries for recommended algorithms across 6 ecosystems. Filter by language or algorithm.

⚠ DisclaimerLibrary audit status may change. Always verify the latest status before deploying to production. Entries marked "unknown" have not been independently confirmed by this project. Last bulk verification: 2024-12.
58 results

AES-256-GCM

🦀ringaudited
ring

aead::AES_256_GCM. Hardware-accelerated. Minimal unsafe surface.

View library →Verified 2024-12-01
🦀RustCrypto aes-gcmaudited
aes-gcm

Pure Rust with optional AES-NI. Part of the RustCrypto ecosystem.

View library →Verified 2024-12-01
🐍cryptography (PyCA)audited
cryptography

cryptography.hazmat.primitives.ciphers.aead.AESGCM. Built on OpenSSL.

View library →Verified 2024-12-01
📘@noble/ciphersaudited
@noble/ciphers

Pure JS/TS AES-GCM. Audited. No native dependencies.

View library →Verified 2024-12-01
📘Web Crypto APIaudited
built-in

crypto.subtle.encrypt({name:'AES-GCM',...}). Native browser implementation.

View library →Verified 2024-12-01
🐹crypto/aes + crypto/cipheraudited
stdlib

cipher.NewGCM(block). Standard library. Hardware-accelerated.

View library →Verified 2024-12-01
🟣System.Security.Cryptographyaudited
built-in

AesGcm class. .NET 6+. Uses OS-level crypto provider.

View library →Verified 2024-12-01
JCA/JCEaudited
built-in

Cipher.getInstance("AES/GCM/NoPadding"). Built into JDK.

View library →Verified 2024-12-01

XChaCha20-Poly1305

🦀sodiumoxideaudited
sodiumoxide

Rust bindings to libsodium. secretbox/aead APIs.

Maintenance pace has slowed; consider libsodium-sys-stable for new projects.
View library →Verified 2024-12-01
🦀RustCrypto chacha20poly1305audited
chacha20poly1305

XChaCha20Poly1305 type. Pure Rust, constant-time.

View library →Verified 2024-12-01
🐍PyNaClaudited
PyNaCl

nacl.secret.SecretBox (XSalsa20-Poly1305) or nacl.aead for XChaCha20. Wraps libsodium.

View library →Verified 2024-12-01
📘libsodium-wrappersaudited
libsodium-wrappers

crypto_aead_xchacha20poly1305_ietf_encrypt. WASM build of libsodium.

Use the WASM build (-sumo for full API), not the JS fallback.
View library →Verified 2024-12-01
🐹golang.org/x/crypto/chacha20poly1305audited
golang.org/x/crypto

chacha20poly1305.NewX() for XChaCha20. Official Go extended crypto.

View library →Verified 2024-12-01
🟣libsodium-coreunknown
Sodium.Core

.NET bindings to libsodium. SecretAead.Encrypt.

View library →Verified 2024-12-01
Bouncy Castleunknown
org.bouncycastle:bcprov-jdk18on

XChaCha20Poly1305 via BC lightweight API.

View library →Verified 2024-12-01

Argon2id

🦀argon2 (RustCrypto)audited
argon2

Pure Rust Argon2id. Implements RFC 9106.

View library →Verified 2024-12-01
🐍argon2-cffiaudited
argon2-cffi

Wraps the C reference implementation. OWASP-recommended defaults.

View library →Verified 2024-12-01
📘argon2unknown
argon2

Node.js native binding to the C reference. Server-side only.

Browser-side Argon2 is impractical due to memory constraints; use server-side.
View library →Verified 2024-12-01
🐹golang.org/x/crypto/argon2audited
golang.org/x/crypto

argon2.IDKey(). Official Go extended crypto library.

View library →Verified 2024-12-01
🟣Konscious.Security.Cryptographyunknown
Konscious.Security.Cryptography.Argon2

Pure .NET Argon2id implementation.

View library →Verified 2024-12-01
Bouncy Castleunknown
org.bouncycastle:bcprov-jdk18on

Argon2BytesGenerator class in BC lightweight API.

View library →Verified 2024-12-01

Ed25519

🦀ed25519-dalekaudited
ed25519-dalek

Part of the dalek ecosystem. Widely used in Rust crypto.

View library →Verified 2024-12-01
🐍PyNaClaudited
PyNaCl

nacl.signing.SigningKey. Wraps libsodium Ed25519.

View library →Verified 2024-12-01
🐍cryptography (PyCA)audited
cryptography

Ed25519PrivateKey.generate(). Built on OpenSSL 3.x.

View library →Verified 2024-12-01
📘@noble/curvesaudited
@noble/curves

ed25519.sign/verify. Pure JS, audited, zero dependencies.

View library →Verified 2024-12-01
🐹crypto/ed25519audited
stdlib

Standard library Ed25519. Used throughout Go ecosystem.

View library →Verified 2024-12-01
🟣System.Security.Cryptographyunknown
built-in

Not natively available before .NET 9 preview. Use Bouncy Castle or NSec.

Use NSec or Bouncy Castle on .NET 8 and earlier.
View library →Verified 2024-12-01
Bouncy Castleunknown
org.bouncycastle:bcprov-jdk18on

Ed25519Signer class. Also available in JDK 15+ via EdDSA provider.

View library →Verified 2024-12-01

X25519

🦀x25519-dalekaudited
x25519-dalek

EphemeralSecret + PublicKey. Part of the dalek ecosystem.

View library →Verified 2024-12-01
🐍PyNaClaudited
PyNaCl

nacl.public.Box for X25519 key agreement. Wraps libsodium.

View library →Verified 2024-12-01
📘@noble/curvesaudited
@noble/curves

x25519.getSharedSecret(). Pure JS, audited.

View library →Verified 2024-12-01
🐹golang.org/x/crypto/curve25519audited
golang.org/x/crypto

curve25519.X25519(). Official Go extended library.

View library →Verified 2024-12-01
🟣NSecunknown
NSec.Cryptography

X25519 key agreement. Modern .NET crypto library.

View library →Verified 2024-12-01
Bouncy Castleunknown
org.bouncycastle:bcprov-jdk18on

X25519Agreement class. Also in JDK 11+ via XDH.

View library →Verified 2024-12-01

HKDF

🦀hkdf (RustCrypto)audited
hkdf

Hkdf::<Sha256>::new_from_prk(). Pure Rust.

View library →Verified 2024-12-01
🐍cryptography (PyCA)audited
cryptography

cryptography.hazmat.primitives.kdf.hkdf.HKDF. Built on OpenSSL.

View library →Verified 2024-12-01
📘@noble/hashesaudited
@noble/hashes

hkdf(sha256, inputKey, salt, info, length). Pure JS, audited.

View library →Verified 2024-12-01
🐹golang.org/x/crypto/hkdfaudited
golang.org/x/crypto

hkdf.New(sha256.New, secret, salt, info). Official Go crypto.

View library →Verified 2024-12-01
🟣System.Security.Cryptographyaudited
built-in

HKDF.DeriveKey(). .NET 5+.

View library →Verified 2024-12-01
Bouncy Castleunknown
org.bouncycastle:bcprov-jdk18on

HKDFBytesGenerator class.

View library →Verified 2024-12-01

HMAC-SHA-256

🦀ringaudited
ring

hmac::sign/verify. Hardware-accelerated SHA-256.

View library →Verified 2024-12-01
🐍hmac (stdlib)audited
built-in

hmac.new(key, msg, hashlib.sha256). Python standard library.

View library →Verified 2024-12-01
📘@noble/hashesaudited
@noble/hashes

hmac(sha256, key, message). Pure JS, audited.

View library →Verified 2024-12-01
📘Web Crypto APIaudited
built-in

crypto.subtle.sign('HMAC', key, data). Native browser.

View library →Verified 2024-12-01
🐹crypto/hmac + crypto/sha256audited
stdlib

hmac.New(sha256.New, key). Standard library.

View library →Verified 2024-12-01
🟣System.Security.Cryptographyaudited
built-in

HMACSHA256 class. Built into .NET.

View library →Verified 2024-12-01
JCA/JCEaudited
built-in

Mac.getInstance("HmacSHA256"). Built into JDK.

View library →Verified 2024-12-01

ML-KEM-768

🦀ml-kem (RustCrypto)unknown
ml-kem

FIPS 203 implementation. Pure Rust.

PQ implementations are newer; verify against NIST test vectors.
View library →Verified 2024-12-01
🐍kyber-pyunaudited
kyber-py

Pure Python ML-KEM. Educational and testing use. [verify before use]

Pure Python — not suitable for production performance requirements.
View library →Verified 2024-12-01
📘crystals-kyber-jsunknown
crystals-kyber-js

TypeScript ML-KEM implementation. [verify before use]

PQ JS implementations are immature. Verify against NIST KAT vectors.
View library →Verified 2024-12-01
🐹filippo.io/mlkem768unknown
filippo.io/mlkem768

By Go crypto team lead Filippo Valsorda. Clean API.

View library →Verified 2024-12-01
🟣Bouncy Castleunknown
BouncyCastle.Cryptography

ML-KEM implementation in BC C# API.

View library →Verified 2024-12-01
Bouncy Castleunknown
org.bouncycastle:bcprov-jdk18on

MLKEMKeyPairGenerator / MLKEMExtractor. BC 1.78+.

View library →Verified 2024-12-01

ML-DSA-65

🦀ml-dsa (RustCrypto)unknown
ml-dsa

FIPS 204 implementation. Pure Rust.

PQ signature implementations are newer; verify against NIST test vectors.
View library →Verified 2024-12-01
🐍dilithium-pyunaudited
dilithium-py

Pure Python ML-DSA reference. [verify before use]

Educational/testing only. Not production-grade.
View library →Verified 2024-12-01
🐹circlunknown
github.com/cloudflare/circl

Cloudflare's PQ crypto library. Dilithium/ML-DSA modes.

View library →Verified 2024-12-01
🟣Bouncy Castleunknown
BouncyCastle.Cryptography

ML-DSA implementation in BC C# API.

View library →Verified 2024-12-01
Bouncy Castleunknown
org.bouncycastle:bcprov-jdk18on

MLDSAKeyPairGenerator / MLDSASigner. BC 1.78+.

View library →Verified 2024-12-01