1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
|
Botan is a C++ class library for performing a wide variety of
cryptographic operations. It includes support for the following
algorithms and formats:
Public Key Algorithms
* Encryption algorithms RSA, ElGamal, DLIES
(padding schemes OAEP, PKCS #1 v1.5)
* Signature algorithms RSA, DSA, ECDSA, Nyberg-Rueppel, Rabin-Williams
(padding schemes PSS, PKCS #1 v1.5, X9.31)
* Key agreement techniques Diffie-Hellman and ECKAEG (ECDH)
Ciphers
* Block cipher modes ECB, CBC, CBC/CTS, CFB, OFB, and CTR,
and authenticated cipher mode EAX
* AES (Rijndael) and AES candidates Serpent, Twofish, MARS, CAST-256, RC6
* DES, and variants 3DES and DESX
* Stream ciphers ARC4, Salsa20, Turing, and WiderWake4+1
* National/telecom block ciphers SEED, KASUMI, MISTY1, GOST, and Skipjack
* Other block ciphers including Blowfish, CAST-128, IDEA, Noekeon,
TEA, XTEA, RC2, RC5, SAFER-SK, and Square
* Block cipher constructions Luby-Rackoff and Lion
Hash Functions and MACs
* Authentication codes HMAC, CMAC (aka OMAC1), CBC-MAC, ANSI X9.19 DES-MAC,
and the protocol-specific SSLv3 authentication code
* Secure hashes SHA-224, SHA-256, SHA-384, SHA-512, Whirlpool
* Transition hashes SHA-1, Tiger, RIPEMD-160, RIPEMD-128, HAS-160, FORK-256
* Obsolete/broken hashes MD2, MD4, MD5
* Checksums Adler32, CRC24, CRC32
Certificates
* X.509 certificates (including generating new self-signed and CA certs)
* X.509 CRLs
* PKCS #10 certificate requests
* Card Verifiable Certificates (used in ePassports)
PBKDFs, KDFs, and PRFs
* PBKDF1 from PKCS #5 v1.5
* PBKDF2 from PKCS #5 v2.0
* OpenPGP S2K (string to key) from RFC 2440
* KDF1 and KDF2 from IEEE 1363
* PRFs from ANSI X9.42, SSL v3.0, TLS v1.0
For build instructions, read 'doc/building.pdf'. The license can be
found in 'doc/license.txt', and the ChangeLog is in 'doc/log.txt'.
Higher level protocols are implemented on top of Botan by:
NetSieben SSH Library (SSHv2): http://www.netsieben.com/products/ssh/
Ajisai (SSLv3/TLSv1): http://www.randombit.net/code/ajisai/
Check http://botan.randombit.net/ for announcements and news. If
you'll be developing code using Botan, consider joining the mailing
lists; links to subscriptions forms and the archives can be found on
the web page. Feel free to contact me with any questions or comments.
Regards,
Jack Lloyd (lloyd@randombit.net)
|