Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Convert PK operations to using Algo_Registry instead of Engine. | lloyd | 2015-02-03 | 51 | -1248/+879 |
| | | | | Remove global PRNG. | ||||
* | Add missing files. Remove cipher lookup from engine code. | lloyd | 2015-02-01 | 21 | -172/+284 |
| | |||||
* | Use registry also for KDF, EMSA, and EME | lloyd | 2015-01-31 | 26 | -174/+173 |
| | |||||
* | Use registry for streams and MACs. Start updating callers. | lloyd | 2015-01-31 | 38 | -253/+193 |
| | |||||
* | Use Algo_Registry also for hashes. | lloyd | 2015-01-28 | 36 | -338/+183 |
| | |||||
* | Add a runtime map of string->func() which when called return | lloyd | 2015-01-28 | 85 | -1293/+810 |
| | | | | | | | | | | | | | | | | | Transforms and BlockCiphers. Registration for all types is done at startup but is very cheap as just a std::function and a std::map entry are created, no actual objects are created until needed. This is a huge improvement over Algorithm_Factory which used T::clone() as the function and thus kept a prototype object of each type in memory. Replace existing lookup mechanisms for ciphers, AEADs, and compression to use the transform lookup. The existing Engine framework remains in place for BlockCipher, but the engines now just call to the registry instead of having hardcoded lookups. s/Transformation/Transform/ with typedefs for compatability. Remove lib/selftest code (for runtime selftesting): not the right approach. | ||||
* | Add typedefs for function signatures/types used in TLS for easier reading | lloyd | 2015-01-27 | 14 | -92/+118 |
| | |||||
* | Reference memset via std namespace | lloyd | 2015-01-27 | 1 | -1/+1 |
| | |||||
* | Don't define overloads if there is no native uint128_t. Github 47 | lloyd | 2015-01-27 | 1 | -0/+2 |
| | |||||
* | Reference the EC point add and double algorithms used | lloyd | 2015-01-24 | 1 | -0/+8 |
| | |||||
* | Handle repeated initializations of the library better and deal with | lloyd | 2015-01-24 | 5 | -77/+60 |
| | | | | initializations across multiple threads safely. | ||||
* | Allow reducing the size of the allocated mlock pool via env variable | lloyd | 2015-01-24 | 1 | -9/+27 |
| | | | | | | (BOTAN_MLOCK_POOL_SIZE, specified in decimal KB). Currently we read this even when setuid as the worst a user could do is disable mlock, which they can already do via ulimits. | ||||
* | Add Strict_Policy. Disable server initiated renegotiation by default. | lloyd | 2015-01-23 | 2 | -13/+43 |
| | |||||
* | Add support for configuring a TLS::Policy by text file | lloyd | 2015-01-23 | 5 | -109/+202 |
| | |||||
* | Avoid needless buffering when handling padding bytes | lloyd | 2015-01-23 | 1 | -4/+4 |
| | |||||
* | Centralize where string.h/cstring is included to mem_ops.h | lloyd | 2015-01-23 | 16 | -42/+32 |
| | | | | See github 42 for background | ||||
* | Amalgamation fixes | lloyd | 2015-01-23 | 5 | -32/+16 |
| | |||||
* | Remove memset_s, not implemented on any machine I can test on and | lloyd | 2015-01-23 | 1 | -7/+5 |
| | | | | | | | | problematic for requiring a special define before the first include of string.h. Instead optionally call memset via a volatile function pointer as a faster alternative to byte at a time writes. Github 42, 45 | ||||
* | Update TLS OCB ciphersuites to match draft-zauner-tls-aes-ocb-00 | lloyd | 2015-01-21 | 3 | -3/+47 |
| | | | | | and enable them in the default build, though still not enabled in the runtime policy. | ||||
* | Add SipHash | lloyd | 2015-01-11 | 4 | -0/+179 |
| | |||||
* | Remove DES startup selftests | lloyd | 2015-01-11 | 1 | -19/+0 |
| | |||||
* | Remove SSLv3 and handling of SSLv2 client hellos. | lloyd | 2015-01-11 | 26 | -559/+38 |
| | |||||
* | Clean up base64 handling. Github pull 40 from webmaster128 | lloyd | 2015-01-11 | 1 | -11/+10 |
| | |||||
* | Support any key length for TLS session encryption by hashing with HMAC | lloyd | 2015-01-10 | 1 | -4/+16 |
| | |||||
* | Ensure all files have copyright and license info. | lloyd | 2015-01-10 | 679 | -694/+698 |
| | | | | | Update license header line to specify the terms and refer to the file, neither of which it included before. | ||||
* | Add MCEIES, an integrated encryption system using McEliece and AES-256/OCB | lloyd | 2015-01-08 | 3 | -0/+154 |
| | |||||
* | This assumed other headers it did not include | lloyd | 2015-01-08 | 1 | -1/+2 |
| | |||||
* | No need to reseed RNG in DSA sign as RNG is no longer used | lloyd | 2015-01-08 | 1 | -4/+2 |
| | |||||
* | Side channel commentary | lloyd | 2015-01-08 | 2 | -0/+26 |
| | |||||
* | Inline BigInt::get_bit and byte_at | lloyd | 2015-01-08 | 2 | -23/+9 |
| | |||||
* | Change TLS session encryption to use AES-256/GCM instead of CBC+HMAC | lloyd | 2015-01-08 | 5 | -202/+26 |
| | |||||
* | Cleanup | lloyd | 2015-01-08 | 1 | -7/+5 |
| | |||||
* | Add missing include | lloyd | 2015-01-08 | 1 | -0/+1 |
| | |||||
* | Handle zero length inputs correctly in base64. Github issue 37 | lloyd | 2015-01-08 | 1 | -2/+9 |
| | |||||
* | Add OID for SHA-512/256 | lloyd | 2015-01-08 | 1 | -0/+2 |
| | |||||
* | Add SHA-512/256 | lloyd | 2015-01-08 | 14 | -74/+128 |
| | | | | | Define some new functions for copying out arrays of words and use them across hashes. | ||||
* | Avoid referencing &vec[vec.size()] as this triggers iterator debugging | lloyd | 2015-01-07 | 4 | -6/+6 |
| | | | | asserts in MSVC 2013. Github pull 36 from Simon Warta. | ||||
* | Support setting the number of pad bytes in a heartbeat message. Use | lloyd | 2015-01-07 | 5 | -70/+86 |
| | | | | | random instead of all-zero padding. Check on sanity of received pads to the extent possible. Bugzilla 269. | ||||
* | Use RtlSecureZeroMemory or memset_s if available | lloyd | 2015-01-07 | 1 | -0/+13 |
| | |||||
* | If no certificate stores at all are available skip OCSP checks | lloyd | 2015-01-04 | 1 | -5/+7 |
| | |||||
* | Remove config used for testing DTLS-SRTP | lloyd | 2015-01-04 | 1 | -3/+2 |
| | |||||
* | Add DTLS-SRTP key establishment from RFC 5764 (required for WebRTC). | lloyd | 2015-01-04 | 11 | -134/+293 |
| | | | | | | | | | | | | | | Github issue 27. Refactor server hello handling to make it easier to handle other extensions. The manual specified that 224 bit NIST primes were disabled by default for TLS but they were not. Additionaly disable the 256k1 curve and reorder the remaining curves by size. Rewrite the max fragment length extension code to roughly what an ideal compiler would have turned the original code into, using a switch instead of a lookup into a small constant std::map. | ||||
* | Add ChaCha20Poly1305 TLS ciphersuites compatible with Google's implementation | lloyd | 2014-12-31 | 7 | -95/+122 |
| | |||||
* | Add helper and update comment | lloyd | 2014-12-31 | 1 | -2/+8 |
| | |||||
* | Support the older ChaCha20Poly1305 AEAD from draft-agl-tls-chacha20poly1305-04 | lloyd | 2014-12-31 | 2 | -10/+34 |
| | | | | | which we distinguish by the nonce size (always 64 bits in this format, always 96 bits in the CFRG document). | ||||
* | Fix one past the end write in Poly1305 finish | lloyd | 2014-12-31 | 1 | -1/+1 |
| | |||||
* | Decruft | lloyd | 2014-12-31 | 2 | -15/+1 |
| | |||||
* | Add AEAD based on ChaCha20 and Poly1305 defined in ↵ | lloyd | 2014-12-29 | 4 | -0/+246 |
| | | | | draft-irtf-cfrg-chacha20-poly1305-03 | ||||
* | Add Poly1305, based on poly1305-donna by Andrew Moon. | lloyd | 2014-12-29 | 8 | -11/+298 |
| | |||||
* | Support 96 bit nonces in ChaCha20 as specified in ↵ | lloyd | 2014-12-29 | 2 | -3/+12 |
| | | | | draft-irtf-cfrg-chacha20-poly1305-03 |