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
- 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
- –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
- –single-amalgamation-file
- –system-cert-bundle
- –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
- –with-python-versions=N.M
- –with-valgrind
- –unsafe-fuzzer-mode
- –build-fuzzers=TYPE
- –with-fuzzer-lib=LIB
- –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
- 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
- Python Binding
- 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