Toolkit for Encryption, Signatures and Certificates Based on OpenSSL
Symmetric AES encryption
Encode and decode base64
Big number arithmetic
X509 certificates
Curve25519
Diffie-Hellman Key Agreement
Envelope encryption
OpenSSH fingerprint
Vectorized hash/hmac functions
Generate Key pair
Default key
OpenSSL Configuration Info
Toolkit for Encryption, Signatures and Certificates based on OpenSSL
Bcrypt PWKDF
PKCS7 / PKCS12 bundles
Encrypt/decrypt pkcs7 messages
Generate random bytes and numbers with OpenSSL
Parsing keys and certificates
Objects exported from other packages
Low-level RSA encryption
Signatures
Hooks to manipulate the SSL context for curl requests
Export key or certificate
Bindings to OpenSSL libssl and libcrypto, plus custom SSH key parsers. Supports RSA, DSA and EC curves P-256, P-384, P-521, and curve25519. Cryptographic signatures can either be created and verified manually or via x509 certificates. AES can be used in cbc, ctr or gcm mode for symmetric encryption; RSA for asymmetric (public key) encryption or EC for Diffie Hellman. High-level envelope functions combine RSA and AES for encrypting arbitrary sized data. Other utilities include key generators, hash functions (md5, sha1, sha256, etc), base64 encoder, a secure random number generator, and 'bignum' math methods for manually performing crypto calculations on large multibyte integers.