Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Add CommonCrypto block cipher support | Jose Pereira | 2018-09-10 | 1 | -2/+16 |
| | |||||
* | Report if Serpent is using AVX2 | Jack Lloyd | 2018-09-10 | 1 | -0/+7 |
| | |||||
* | Optimize CT::is_zero, CT::expand_mask, CT::expand_top_bit | Jack Lloyd | 2018-09-07 | 1 | -5/+4 |
| | |||||
* | Revert increase in Blowfish minimum length. | Jack Lloyd | 2018-09-07 | 2 | -2/+2 |
| | | | | | | We need to support short keys for 'PBKDF2(CMAC(Blowfish))' which is supported as part of passhash9 format, there the passphrase is used directly as the CMAC key. | ||||
* | Increase minimum Blowfish key length to 64 bits | Jack Lloyd | 2018-09-07 | 2 | -2/+2 |
| | | | | | | See #1673 Also, skip tests if the provider doesn't support the given key length. | ||||
* | Remove unneeded load_on auto | Jack Lloyd | 2018-09-04 | 2 | -4/+0 |
| | | | | It is the default... | ||||
* | Move AVX2 wrapper to utils | Jack Lloyd | 2018-08-24 | 2 | -259/+4 |
| | |||||
* | AVX2 | Jack Lloyd | 2018-08-24 | 1 | -56/+62 |
| | |||||
* | Serpent 8x decrypt | Jack Lloyd | 2018-08-24 | 2 | -88/+118 |
| | |||||
* | WIP for Serpent AVX2 | Jack Lloyd | 2018-08-24 | 4 | -7/+415 |
| | |||||
* | Add Tweakable_Block_Cipher class | Jack Lloyd | 2018-08-09 | 2 | -6/+23 |
| | |||||
* | Remove unnecessary accessors for Threefish-512 | Jack Lloyd | 2018-08-08 | 2 | -6/+4 |
| | |||||
* | Mark some members of Block_Cipher_Fixed_Params as final | Jack Lloyd | 2018-08-08 | 1 | -4/+4 |
| | |||||
* | Support salts other than exactly 16 bytes for Blowfish key setup | Jack Lloyd | 2018-07-18 | 3 | -32/+45 |
| | | | | | | Bcrypt only needs 16 byte salts but unfortunately Bcrypt-PBKDF is defined to use 64 byte salts instead. So extend support to handle any salt that is a multiple of 4 bytes. | ||||
* | Correct a comment in Camellia code, and align the 256 byte table | Jack Lloyd | 2018-07-13 | 1 | -1/+3 |
| | |||||
* | Unroll SM4 encryption/decryption by 2 | Jack Lloyd | 2018-07-13 | 1 | -23/+105 |
| | | | | Interleaving operations improves SM4/CTR from 26 cpb to 18 cpb | ||||
* | Add support for ARMv8 SM4 instructions | Jack Lloyd | 2018-07-09 | 4 | -0/+221 |
| | | | | Tested in qemu | ||||
* | Prefetch AES tables during the key schedule | Jack Lloyd | 2018-07-06 | 1 | -8/+27 |
| | | | | | | | | Also prefetch SD during decryption since both TD and SD are used there. Need for prefetch in the key schedule identified in the paper "Eliminating Timing Side-Channel Leaks using Program Repair" by Guo, Schaumont, Wang | ||||
* | Document new flag for setting bcrypt version [ci skip] | Jack Lloyd | 2018-07-05 | 1 | -1/+1 |
| | |||||
* | Rename Threefish-512 AVX2 file | Jack Lloyd | 2018-06-30 | 1 | -0/+0 |
| | |||||
* | Fixes for DES/3DES | Jack Lloyd | 2018-05-16 | 1 | -7/+7 |
| | |||||
* | Unroll DES to encrypt/decrypt 2 rounds in parallel | Jack Lloyd | 2018-05-16 | 1 | -122/+198 |
| | | | | About 50% faster for CBC decrypt | ||||
* | Add message to BOTAN_ARG_CHECK and use it more widely | Jack Lloyd | 2018-05-13 | 7 | -13/+14 |
| | |||||
* | Minor tweaks for coverage | Jack Lloyd | 2018-03-10 | 1 | -4/+5 |
| | |||||
* | Avoid warning in threefish.h | Jack Lloyd | 2018-03-10 | 1 | -6/+0 |
| | | | | Causes a warning in amalgamation which is bad news | ||||
* | Rename threefish module to threefish_512 | Jack Lloyd | 2018-03-06 | 7 | -6/+25 |
| | | | | GH #1477 | ||||
* | Unroll ARMv8 AES instructions by 4 to allow pipelining | Jack Lloyd | 2018-02-25 | 1 | -84/+307 |
| | | | | Runs as much as 50% faster for bulk operations. Improves GCM by 10% | ||||
* | Implement decryption | Jack Lloyd | 2018-02-23 | 2 | -43/+148 |
| | |||||
* | AES encryption using POWER8 intrinsics | Jack Lloyd | 2018-02-23 | 4 | -0/+296 |
| | |||||
* | Simplify IDEA key schedule | Jack Lloyd | 2018-02-23 | 1 | -23/+28 |
| | |||||
* | ABI for Aarch64 crypto | Jack Lloyd | 2018-01-12 | 1 | -3/+1 |
| | |||||
* | Make stream, block, hash and cipher mode base classes optional | Jack Lloyd | 2018-01-12 | 1 | -0/+5 |
| | |||||
* | Add missing ISA annotations | Jack Lloyd | 2018-01-04 | 1 | -0/+1 |
| | | | | Lack of these broke single file amalgamation (GH #1386) | ||||
* | Enable using NEON on Clang | Jack Lloyd | 2017-12-10 | 1 | -4/+4 |
| | | | | | Clang doesn't like the way SIMD shifts were implemented, I guess it fails to inline the constant. Make it a template parameter instead. | ||||
* | Create two macros for CAST-128 vs CAST-256 | Jack Lloyd | 2017-12-03 | 2 | -2/+9 |
| | | | | Since eventually CAST-256 is going away. | ||||
* | Constify variables in AES-NI code | Jack Lloyd | 2017-11-18 | 1 | -104/+104 |
| | |||||
* | Optimize Twofish | Jack Lloyd | 2017-11-16 | 1 | -76/+156 |
| | | | | | Interleaving two blocks is 40-50% faster for any mode that supports parallel operation. | ||||
* | Correct CAST-128 decryption with more than 1 block | Jack Lloyd | 2017-11-16 | 1 | -32/+32 |
| | |||||
* | Optimizations for CAST-128 | Jack Lloyd | 2017-11-16 | 1 | -45/+135 |
| | | | | | Similarly to Blowfish, 2x unrolling produces a 50-60% perf boost due to increased ILP. | ||||
* | Optimize Blowfish | Jack Lloyd | 2017-11-16 | 1 | -41/+82 |
| | | | | | | | Doing two blocks at a time exposes more ILP and substantially improves performance. Idea from http://jultika.oulu.fi/files/nbnfioulu-201305311409.pdf | ||||
* | Format tweaks | Jack Lloyd | 2017-11-02 | 1 | -2/+2 |
| | |||||
* | Avoid using semicolon at and of do { } while(0) macro block. | Jack Lloyd | 2017-11-02 | 2 | -19/+19 |
| | | | | Clearly I have a tic for this. | ||||
* | Include <memory> in base type headers | Jack Lloyd | 2017-10-29 | 1 | -0/+1 |
| | | | | Needed for the create calls | ||||
* | Add checks that keyed algorithms are actually keyed before use | Jack Lloyd | 2017-10-26 | 20 | -9/+99 |
| | | | | | Previously calling update or encrypt without calling set_key first would result in invalid outputs or else crashing. | ||||
* | Convert http:// links to https:// where possible | Jack Lloyd | 2017-10-24 | 5 | -5/+5 |
| | |||||
* | Correct usage of std::aligned_storage | Jack Lloyd | 2017-10-15 | 1 | -6/+6 |
| | | | | This ended up allocating 256 KiB! | ||||
* | Additional final annotations | Jack Lloyd | 2017-10-15 | 2 | -4/+4 |
| | |||||
* | Use overaligned storage for AES T-Table | Jack Lloyd | 2017-10-14 | 1 | -32/+56 |
| | | | | | This improves performance by ~ .5 cycle/byte. Also it ensures that our cache reading countermeasure works as expected. | ||||
* | Reduce AES to using a single T-table | Jack Lloyd | 2017-10-13 | 1 | -127/+78 |
| | | | | | | | | | Should have significantly better cache characteristics, though it would be nice to verify this. It reduces performance somewhat but less than I expected, at least on Skylake. I need to check this across more platforms to make sure t won't hurt too badly. | ||||
* | Optimizations for SM4 | Jack Lloyd | 2017-10-13 | 1 | -35/+94 |
| | | | | | | | | | Using a larger table helps quite a bit. Using 4 tables (ala AES T-tables) didn't seem to help much at all, it's only slightly faster than a single table with rotations. Continue to use the 8 bit table in the first and last rounds as a countermeasure against cache attacks. |