diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 17:32:43 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 17:32:43 +0000 |
commit | 6bf0a5cb5034a7e684dcc3500e841785237ce2dd (patch) | |
tree | a68f146d7fa01f0134297619fbe7e33db084e0aa /comm/third_party/botan/readme.rst | |
parent | Initial commit. (diff) | |
download | thunderbird-6bf0a5cb5034a7e684dcc3500e841785237ce2dd.tar.xz thunderbird-6bf0a5cb5034a7e684dcc3500e841785237ce2dd.zip |
Adding upstream version 1:115.7.0.upstream/1%115.7.0upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'comm/third_party/botan/readme.rst')
-rw-r--r-- | comm/third_party/botan/readme.rst | 135 |
1 files changed, 135 insertions, 0 deletions
diff --git a/comm/third_party/botan/readme.rst b/comm/third_party/botan/readme.rst new file mode 100644 index 0000000000..019b772d58 --- /dev/null +++ b/comm/third_party/botan/readme.rst @@ -0,0 +1,135 @@ +Botan: Crypto and TLS for Modern C++ +======================================== + +Botan (Japanese for peony flower) is a C++ cryptography library released under the +permissive `Simplified BSD <https://botan.randombit.net/license.txt>`_ license. + +Botan's goal is to be the best option for cryptography in C++ by offering the +tools necessary to implement a range of practical systems, such as TLS protocol, +X.509 certificates, modern AEAD ciphers, PKCS#11 and TPM hardware support, +password hashing, and post quantum crypto schemes. A Python binding is included, +and several other `language bindings +<https://github.com/randombit/botan/wiki/Language-Bindings>`_ are available. +It is used in many `open source and commercial products <https://github.com/randombit/botan/wiki/Users>`_. +The library is accompanied by a featureful +`command line interface <https://botan.randombit.net/handbook/cli.html>`_. + +See the `documentation <https://botan.randombit.net/handbook>`_ for more +information about included features. + +Development is coordinated on `GitHub <https://github.com/randombit/botan>`_ +and contributions are welcome. If you need help, please open an issue on +`GitHub <https://github.com/randombit/botan/issues>`_ or email the +`botan-devel mailing list <https://lists.randombit.net/mailman/listinfo/botan-devel/>`_. +New releases are announced on the `botan-announce mailing list +<https://lists.randombit.net/mailman/listinfo/botan-announce/>`_. +If you think you have found a security issue, see the `security page +<https://botan.randombit.net/security.html>`_ for contact information. + +The latest release is +`2.18.2 <https://botan.randombit.net/releases/Botan-2.18.2.tar.xz>`_ +`(sig) <https://botan.randombit.net/releases/Botan-2.18.2.tar.xz.asc>`_, +released on 2021-10-25. +All releases are signed with a `PGP key <https://botan.randombit.net/pgpkey.txt>`_. +See the `release notes <https://botan.randombit.net/news.html>`_ for +what is new. Botan is also available through most +`distributions <https://github.com/randombit/botan/wiki/Distros>`_ +such as Fedora, Debian, Arch and Homebrew. + +.. image:: https://api.travis-ci.com/randombit/botan.svg?branch=master + :target: https://travis-ci.com/github/randombit/botan + :alt: Travis CI status + +.. image:: https://ci.appveyor.com/api/projects/status/n9f94dljd03j2lce/branch/master?svg=true + :target: https://ci.appveyor.com/project/randombit/botan/branch/master + :alt: AppVeyor CI status + +.. image:: https://codecov.io/github/randombit/botan/coverage.svg?branch=master + :target: https://codecov.io/github/randombit/botan + :alt: Code coverage report + +.. image:: https://img.shields.io/lgtm/alerts/g/randombit/botan.svg + :target: https://lgtm.com/projects/g/randombit/botan/alerts/ + :alt: LGTM alerts + +.. image:: https://oss-fuzz-build-logs.storage.googleapis.com/badges/botan.svg + :target: https://oss-fuzz.com/coverage-report/job/libfuzzer_asan_botan/latest + :alt: OSS-Fuzz status + +.. image:: https://scan.coverity.com/projects/624/badge.svg + :target: https://scan.coverity.com/projects/624 + :alt: Coverity results + +.. image:: https://repology.org/badge/tiny-repos/botan.svg + :target: https://repology.org/project/botan/versions + :alt: Packaging status + +.. image:: https://bestpractices.coreinfrastructure.org/projects/531/badge + :target: https://bestpractices.coreinfrastructure.org/projects/531 + :alt: CII Best Practices statement + +Find Enclosed +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Transport Layer Security (TLS) Protocol +---------------------------------------- + +* TLS v1.0, v1.1, and v1.2. The broken SSLv3 protocol is no longer supported. +* DTLS v1.0 and v1.2 are adaptations of TLS to datagram operation. +* Supported extensions include session tickets, SNI, ALPN, OCSP stapling, + encrypt-then-mac CBC, and extended master secret. +* Supports authentication using preshared keys (PSK) or passwords (SRP) +* Supports record encryption with ChaCha20Poly1305, AES/OCB, AES/GCM, AES/CCM, + Camellia/GCM as well as legacy CBC ciphersuites. +* Key exchange using CECPQ1, ECDH, FFDHE, or RSA + +Public Key Infrastructure +---------------------------------------- + +* X.509v3 certificates and CRL creation and handling +* PKIX certificate path validation, including name constraints. +* OCSP request creation and response handling +* PKCS #10 certificate request generation and processing +* Access to Windows, macOS and Unix system certificate stores +* SQL database backed certificate store + +Public Key Cryptography +---------------------------------------- + +* RSA signatures and encryption +* DH and ECDH key agreement +* Signature schemes ECDSA, DSA, Ed25519, ECGDSA, ECKCDSA, SM2, GOST 34.10 +* Post-quantum signature scheme XMSS +* Post-quantum key agreement schemes McEliece and NewHope +* ElGamal encryption +* Padding schemes OAEP, PSS, PKCS #1 v1.5, X9.31 + +Ciphers, hashes, MACs, and checksums +---------------------------------------- + +* Authenticated cipher modes EAX, OCB, GCM, SIV, CCM, (X)ChaCha20Poly1305 +* Cipher modes CTR, CBC, XTS, CFB, OFB +* Block ciphers AES, ARIA, Blowfish, Camellia, CAST-128, DES/3DES, IDEA, + Lion, Noekeon, SEED, Serpent, SHACAL2, SM4, Threefish-512, Twofish +* Stream ciphers (X)ChaCha20, (X)Salsa20, SHAKE-128, RC4 +* Hash functions SHA-1, SHA-2, SHA-3, MD4, MD5, RIPEMD-160, BLAKE2b, + Skein-512, SM3, Streebog, Whirlpool +* Authentication codes HMAC, CMAC, Poly1305, SipHash, GMAC, X9.19 DES-MAC +* Non-cryptographic checksums Adler32, CRC24, CRC32 + +Other Useful Things +---------------------------------------- + +* Full C++ PKCS #11 API wrapper +* Interfaces for TPM v1.2 device access +* Simple compression API wrapping zlib, bzip2, and lzma libraries +* RNG wrappers for system RNG and hardware RNGs +* HMAC_DRBG and entropy collection system for userspace RNGs +* Password hashing schemes PBKDF2, Argon2, Scrypt, bcrypt +* SRP-6a password authenticated key exchange +* Key derivation functions including HKDF, KDF2, SP 800-108, SP 800-56A, SP 800-56C +* HOTP and TOTP algorithms +* Format preserving encryption scheme FE1 +* Threshold secret sharing +* NIST key wrapping +* Boost.Asio compatible TLS client stream |