Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Doxygen | lloyd | 2010-11-02 | 8 | -16/+127 |
| | |||||
* | Compile fix | lloyd | 2010-11-02 | 1 | -1/+1 |
| | |||||
* | Doxygen | lloyd | 2010-11-02 | 11 | -11/+77 |
| | |||||
* | Add missing file | lloyd | 2010-11-01 | 1 | -0/+43 |
| | |||||
* | Derive KDF from Algorithm | lloyd | 2010-11-01 | 7 | -6/+26 |
| | |||||
* | Add new top-level algorithm which provides basic functionality: name | lloyd | 2010-11-01 | 23 | -66/+30 |
| | | | | | | | | query, clearing, and cloning. Applies to ciphers, hashes, MACs, and PBKDFs. May extend to KDFs later as well. A single combined hierarchy in particular will make the algo_factory much simpler. | ||||
* | Unused | lloyd | 2010-10-29 | 1 | -2/+0 |
| | |||||
* | Make MemoryRegion::set protected, change all callers | lloyd | 2010-10-29 | 16 | -73/+97 |
| | |||||
* | Always do 256 blocks at a time in CTR, makes increment easier | lloyd | 2010-10-29 | 1 | -23/+14 |
| | |||||
* | Use u32bit here | lloyd | 2010-10-29 | 1 | -4/+4 |
| | |||||
* | s/u32bit/size_t/ | lloyd | 2010-10-29 | 6 | -9/+9 |
| | |||||
* | Remove BufferedComputation::OUTPUT_LENGTH | lloyd | 2010-10-29 | 40 | -137/+134 |
| | |||||
* | Cleanup | lloyd | 2010-10-29 | 3 | -3/+2 |
| | |||||
* | Remove socket dependency from TLS_Server, instead interacting with | lloyd | 2010-10-29 | 3 | -17/+20 |
| | | | | generic std::functions for I/O | ||||
* | Eliminate the constant size_t values in SymmetricAlgorithm that give | lloyd | 2010-10-28 | 35 | -250/+196 |
| | | | | | | | | | | | | | | | | | | | the parameters of the key length. Instead define a new function which returns a simple object which contains this information. This definitely breaks backwards compatability, though only with code that directly manipulates low level objects like BlockCipher*s directly, which is probably relatively rare. Also remove some deprecated accessor functions from lookup.h. It turns out block_size_of and output_size_of are being used in the TLS code; I need to remove them from there before I can delete these entirely. Really that didn't make much sense, because they assumed all implementations of a particular algorithm will have the same specifications, which is definitely not necessarily true, especially WRT key length. It is much safer (and probably simpler) to first retrieve an instance of the actual object you are going to use and then ask it directly. | ||||
* | Fix doxygen | lloyd | 2010-10-28 | 1 | -3/+3 |
| | |||||
* | EME1::HASH_LENGTH was always exactly the output size of the hash, but | lloyd | 2010-10-28 | 2 | -18/+16 |
| | | | | | | Phash is a vector we were keeping around which has an actual hash output, so just access Phash.size() and avoid the need to carry an extra size_t around. | ||||
* | Use standalone encoder for end of message padding too | lloyd | 2010-10-28 | 2 | -27/+9 |
| | |||||
* | Consolidate hex and base64 filters into a single sub-module. | lloyd | 2010-10-28 | 7 | -66/+44 |
| | | | | Use the standalone base64 functions for most of the Base64 logic | ||||
* | Simple standalone base64 encoder | lloyd | 2010-10-28 | 3 | -0/+159 |
| | |||||
* | These are internal headers and do not need public linkage | lloyd | 2010-10-28 | 3 | -3/+3 |
| | |||||
* | Rename the base64 filter and macro names in prep for adding | lloyd | 2010-10-27 | 6 | -8/+6 |
| | | | | standalone/Pipe-free versions of it | ||||
* | Move base64 char tables to base64.cpp | lloyd | 2010-10-27 | 2 | -48/+36 |
| | |||||
* | Make TLS_Client entirely via callbacks, not talking to Socket directly | lloyd | 2010-10-19 | 2 | -43/+28 |
| | |||||
* | Make Record_Writer call a callback instead of writing directly to the socket | lloyd | 2010-10-19 | 5 | -10/+20 |
| | |||||
* | Run MAC as standalone object instead of running it through a Pipe at | lloyd | 2010-10-19 | 3 | -48/+56 |
| | | | | record layer. | ||||
* | Update AES-NI for SecureVector and BlockCipher changes | lloyd | 2010-10-19 | 1 | -9/+9 |
| | |||||
* | BigInt::get_substring really shouldn't return size_t. Revert to | lloyd | 2010-10-18 | 5 | -10/+8 |
| | | | | | | u32bit. Maybe should be word? But that would restrict window sizes more than might be desirable (we couldn't use more than 8 bit window on the assumption that the lib might be using byte limbs). Messy. | ||||
* | For const BigInt::operator[], return a const reference instead of a | lloyd | 2010-10-18 | 1 | -1/+1 |
| | | | | | value, so you can always safely capture the result by a const reference. | ||||
* | s/u32bit/size_t/ | lloyd | 2010-10-18 | 4 | -38/+38 |
| | |||||
* | s/u32bit/size_t/ | lloyd | 2010-10-18 | 7 | -51/+51 |
| | |||||
* | Prefix vs postfix | lloyd | 2010-10-15 | 2 | -4/+4 |
| | |||||
* | Last u32bit->size_t for ssl | lloyd | 2010-10-15 | 10 | -101/+108 |
| | |||||
* | More size_t | lloyd | 2010-10-15 | 3 | -28/+28 |
| | |||||
* | More size_t | lloyd | 2010-10-15 | 3 | -30/+30 |
| | |||||
* | Use size_t in ssl | lloyd | 2010-10-15 | 12 | -75/+75 |
| | |||||
* | Only allocate as much working space as needed in key schedule | lloyd | 2010-10-14 | 1 | -4/+4 |
| | |||||
* | Remove standalone S function | lloyd | 2010-10-14 | 1 | -12/+13 |
| | |||||
* | In all cases where the block size of the cipher is fixed, the key | lloyd | 2010-10-14 | 32 | -140/+176 |
| | | | | | | | | | | | | | | | | parameters are as well. So make them template paramters. The sole exception was AES, because you could either initialize AES with a fixed key length, in which case it would only be that specific key length, or not, in which case it would support any valid AES key size. This is removed in this checkin; you have to specifically ask for AES-128, AES-192, or AES-256, depending on which one you want. This is probably actually a good thing, because every implementation other than the base one (SSSE3, AES-NI, OpenSSL) did not support "AES", only the versions with specific fixed key sizes. So forcing the user to ask for the one they want ensures they get the ones that are faster and/or safer. | ||||
* | More size_t | lloyd | 2010-10-13 | 11 | -26/+26 |
| | |||||
* | More size_t | lloyd | 2010-10-13 | 3 | -18/+18 |
| | |||||
* | Implicit rounds based on key variable size | lloyd | 2010-10-13 | 4 | -27/+44 |
| | |||||
* | Make the rounds implicit with the size of the key values | lloyd | 2010-10-13 | 2 | -55/+42 |
| | |||||
* | More size_t. Document changes | lloyd | 2010-10-13 | 7 | -18/+18 |
| | |||||
* | Compile fix | lloyd | 2010-10-13 | 1 | -5/+13 |
| | |||||
* | Use buffer.size() directly to avoid lots of virtual calls in core loop | lloyd | 2010-10-13 | 1 | -9/+9 |
| | |||||
* | Remove the upto argument to update_be | lloyd | 2010-10-13 | 2 | -9/+12 |
| | |||||
* | Add a new subclass for BlockCipher BlockCipher_Fixed_Block_Size, which | lloyd | 2010-10-13 | 57 | -203/+232 |
| | | | | | | | | | | | | | | sets the block size statically and also creates an enum with the size. Use the enum instead of calling block_size() where possible, since that uses two virtual function calls per block which is quite unfortunate. The real advantages here as compared to the previous version which kept the block size as a per-object u32bit: - The compiler can inline the constant as an immediate operand (previously it would load the value via an indirection on this) - Removes 32 bits per object overhead (except in cases with actually variable block sizes, which are very few and rarely used) | ||||
* | Split some of the ASN.1 types into their own headers | lloyd | 2010-10-13 | 8 | -58/+100 |
| | |||||
* | s/u32bit/size_t/ in asn1 | lloyd | 2010-10-13 | 7 | -75/+77 |
| |