Contents¶
- Getting Started
- Project Goals
- Support Information
- Building The Library
- Configuring the Build
- Cross Compiling
- On Unix
- On macOS
- On Windows
- For iOS using XCode
- For Android
- Emscripten (WebAssembly)
- Supporting Older Distros
- Other Build-Related Tasks
- Building Applications
- Language Wrappers
- Minimized Builds
- Configure Script Options
--cpu=CPU
--os=OS
--cc=COMPILER
--cc-min-version=MAJOR.MINOR
--cc-bin=BINARY
--cc-abi-flags=FLAGS
--cxxflags=FLAGS
--extra-cxxflags=FLAGS
--ldflags=FLAGS
--ar-command=AR
--ar-options=AR_OPTIONS
--msvc-runtime=RT
--with-endian=ORDER
--with-os-features=FEAT
--without-os-features=FEAT
--disable-sse2
--disable-ssse3
--disable-sse4.1
--disable-sse4.2
--disable-avx2
--disable-bmi2
--disable-rdrand
--disable-rdseed
--disable-aes-ni
--disable-sha-ni
--disable-altivec
--disable-neon
--disable-armv8crypto
--disable-powercrypto
--with-debug-info
--with-sanitizers
--enable-sanitizers=SAN
--without-stack-protector
--with-coverage
--with-coverage-info
--disable-shared-library
--disable-static-library
--optimize-for-size
--no-optimizations
--debug-mode
--amalgamation
--system-cert-bundle=PATH
--with-build-dir=DIR
--with-external-includedir=DIR
--with-external-libdir=DIR
--define-build-macro
--with-sysroot-dir=DIR
--with-openmp
--link-method=METHOD
--with-local-config=FILE
--distribution-info=STRING
--maintainer-mode
--werror-mode
--no-install-python-module
--with-python-versions=N.M
--with-valgrind
--unsafe-fuzzer-mode
--build-fuzzers=TYPE
--with-fuzzer-lib=LIB
--build-targets=BUILD_TARGETS
--boost-library-name
--without-documentation
--with-sphinx
--with-pdf
--with-rst2man
--with-doxygen
--module-policy=POL
--enable-modules=MODS
--disable-modules=MODS
--minimized-build
--with-boost
--with-bzip2
--with-lzma
--with-zlib
--with-openssl
--with-commoncrypto
--with-sqlite3
--with-tpm
--program-suffix=SUFFIX
--library-suffix=SUFFIX
--prefix=DIR
--docdir=DIR
--bindir=DIR
--libdir=DIR
--mandir=DIR
--includedir=DIR
- API Reference
- Versioning
- Memory container
- Random Number Generators
- Hash Functions and Checksums
- Block Ciphers
- Stream Ciphers
- Message Authentication Codes (MAC)
- Cipher Modes
- Public Key Cryptography
- X.509 Certificates and CRLs
- Transport Layer Security (TLS)
- Credentials Manager
- BigInt
- Key Derivation Functions
- Password Based Key Derivation
- AES Key Wrapping
- Password Hashing
- Cryptobox
- Secure Remote Password
- PSK Database
- Pipe/Filter Message Processing
- Format Preserving Encryption
- Threshold Secret Sharing
- Elliptic Curve Operations
- Lossless Data Compression
- PKCS#11
- Trusted Platform Module (TPM)
- One Time Passwords
- Roughtime
- ZFEC Forward Error Correction
- FFI (C Binding)
- Return Codes
- Versioning
- Utility Functions
- Random Number Generators
- Block Ciphers
- Hash Functions
- Message Authentication Codes
- Symmetric Ciphers
- PBKDF
- KDF
- Multiple Precision Integers
- Password Hashing
- Public Key Creation, Import and Export
- RSA specific functions
- DSA specific functions
- ElGamal specific functions
- Diffie-Hellman specific functions
- Public Key Encryption/Decryption
- Signature Generation
- Signature Verification
- Key Agreement
- X.509 Certificates
- X.509 Certificate Revocation Lists
- Environment Variables
- Python Binding
- Versioning
- Random Number Generators
- Hash Functions
- Message Authentication Codes
- Ciphers
SymmetricCipher
SymmetricCipher.algo_name
SymmetricCipher.tag_length
SymmetricCipher.default_nonce_length
SymmetricCipher.update_granularity
SymmetricCipher.is_authenticated
SymmetricCipher.valid_nonce_length
SymmetricCipher.clear
SymmetricCipher.set_key
SymmetricCipher.set_assoc_data
SymmetricCipher.start
SymmetricCipher.update
SymmetricCipher.finish
- Bcrypt
- PBKDF
- Scrypt
- KDF
- Public Key
- Private Key
PrivateKey
PrivateKey.create
PrivateKey.load
PrivateKey.load_rsa
PrivateKey.load_dsa
PrivateKey.load_dh
PrivateKey.load_elgamal
PrivateKey.load_ecdsa
PrivateKey.load_ecdh
PrivateKey.load_sm2
PrivateKey.get_public_key
PrivateKey.to_pem
PrivateKey.to_der
PrivateKey.algo_name
PrivateKey.export
PrivateKey.export_encrypted
PrivateKey.get_field
- Public Key Operations
- Multiple Precision Integers (MPI)
- Format Preserving Encryption (FE1 scheme)
- HOTP
- X509Cert
X509Cert
X509Cert.time_starts
X509Cert.time_expires
X509Cert.to_string
X509Cert.fingerprint
X509Cert.serial_number
X509Cert.authority_key_id
X509Cert.subject_key_id
X509Cert.subject_public_key_bits
X509Cert.subject_public_key
X509Cert.subject_dn
X509Cert.issuer_dn
X509Cert.hostname_match
X509Cert.not_before
X509Cert.not_after
X509Cert.allowed_usage
X509Cert.verify
X509Cert.validation_status
X509Cert.is_revoked
- X509CRL
- Command Line Interface
- Deprecated Features
- Development Roadmap
- Credits
- ABI Stability
- Notes for Distributors
- Security Advisories
- Side Channels
- Modular Exponentiation
- Barrett Reduction
- RSA
- Decryption of PKCS #1 v1.5 Ciphertexts
- Verification of PKCS #1 v1.5 Signatures
- OAEP
- ECC point decoding
- ECC scalar multiply
- ECDH
- ECDSA
- x25519
- TLS CBC ciphersuites
- CBC mode padding
- AES
- GCM
- OCB
- Poly1305
- DES/3DES
- Twofish
- ChaCha20, Serpent, Threefish, …
- IDEA
- Hash Functions
- Memory comparisons
- Memory zeroizing
- Memory allocation
- Automated Analysis
- References
- Developer Reference