Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Add some helpers for start_cons | Jack Lloyd | 2021-01-13 | 9 | -23/+49 |
| | | | | | Nothing in the library uses start_cons anymore but it is left exposed for applications which need to encode something unusual. | ||||
* | Indentation fixes | Jack Lloyd | 2021-01-11 | 1 | -9/+9 |
| | |||||
* | Merge GH #2584 Split ASN1_Tag into ASN1_Type and ASN1_Class | Jack Lloyd | 2021-01-11 | 51 | -506/+526 |
|\ | |||||
| * | Split ASN1 tags enum class into 2 enum classes | sledgehammer_999 | 2021-01-11 | 51 | -506/+526 |
| | | | | | | | | This should improve type safety even more. | ||||
* | | Avoid using macros in x86 cpuid code | Jack Lloyd | 2021-01-09 | 2 | -26/+41 |
|/ | |||||
* | Add compile-time AVX512VL versions of Ch and Maj for AVX2 | Jack Lloyd | 2021-01-09 | 1 | -0/+8 |
| | | | | Tested with Intel SDE | ||||
* | Merge GH #2579 Add majority and choose bitwise functions | Jack Lloyd | 2021-01-09 | 13 | -47/+75 |
|\ | |||||
| * | Add choose and majority functions | Jack Lloyd | 2021-01-09 | 13 | -47/+75 |
| | | |||||
* | | Whitespace fix | Jack Lloyd | 2021-01-09 | 1 | -1/+0 |
|/ | |||||
* | Simplify this store code a bit | Jack Lloyd | 2021-01-09 | 1 | -20/+6 |
| | |||||
* | Clean up POWER CPUID logic | Jack Lloyd | 2021-01-04 | 1 | -86/+30 |
| | | | | | | | PVR emulation only works (afaik) on Linux and NetBSD. On Linux we can already use getauxval. Instead use direct instruction probing which works on many different systems, and is more reliable vs checking the PVR against a known list, which goes out of date quickly. | ||||
* | Merge GH #2573 Split up ARMv7 and Aarch64 cpuid logic | Jack Lloyd | 2021-01-04 | 6 | -259/+259 |
|\ | |||||
| * | Remove cache line display from cpuid util | Jack Lloyd | 2021-01-04 | 1 | -4/+0 |
| | | | | | | | | | | Since if we can't detect we show 32 which is confusing though it makes sense wrt its use in side channel countermeasures. | ||||
| * | Refactor ARM CPUID code | Jack Lloyd | 2021-01-03 | 7 | -259/+263 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Split into arm32 and arm64 versions since they are mostly distinct code. Remove the code for sniffing NEON/AES support based on iOS version models. All 64-bit Apple ARM processors support NEON/AES/etc, so we can just assume it is there if we are building for aarch64. And Apple does not support 32-bit applications at all anymore (starting in iOS 11), so there is no point in new code supporting such systems. Add support for a couple of new Linux/POSIX methods of getting the cache line size using sysconf and different auxv fields. Move the cache line detection code to os_utils since with the sole exception of x86 we require OS specific support to get this information. This also has the effect of enabling it on more platforms (particularly for Linux). | ||||
* | | Add some more CCM tests taken from NIST | Jack Lloyd | 2021-01-04 | 1 | -0/+68 |
|/ | | | | | | Specifically ones using empty or small ADs, which were untested. GH #2574 | ||||
* | Merge GH #2567 Fix Python CBC encryption | Jack Lloyd | 2021-01-03 | 2 | -2/+13 |
|\ | |||||
| * | Don't provide extra space when decrypting | Jack Lloyd | 2020-12-28 | 1 | -1/+2 |
| | | |||||
| * | Fix a bug preventing use of CBC encryption via Python | Jack Lloyd | 2020-12-28 | 2 | -2/+12 |
| | | | | | | | | GH #2566 | ||||
* | | Little tweaks and pre assuming few basic cpu features for the M1 | David CARLIER | 2021-01-02 | 1 | -9/+22 |
| | | |||||
* | | Mac M1 build update, cpu features detection. | David CARLIER | 2020-12-31 | 1 | -2/+10 |
|/ | |||||
* | Change instrinsics header to what MSVC prefers | Jack Lloyd | 2020-12-28 | 1 | -1/+1 |
| | |||||
* | Add BMI2 3DES implementation | Jack Lloyd | 2020-12-27 | 7 | -0/+352 |
| | |||||
* | Improve the parity function a bit | Jack Lloyd | 2020-12-24 | 1 | -5/+6 |
| | |||||
* | Merge GH #2561 Use constant time code for bcrypt base64 conversion | Jack Lloyd | 2020-12-24 | 1 | -52/+59 |
|\ | |||||
| * | Use constant-time code for the bcrypt base64 decoding op | Jack Lloyd | 2020-12-23 | 1 | -52/+59 |
| | | | | | | | | | | This would only leak the hashes so is not too terrible, but is easily avoidable. | ||||
* | | Merge GH #2560 Use constant time code for parity byte calculations | Jack Lloyd | 2020-12-24 | 1 | -24/+9 |
|\ \ | |||||
| * | | Don't use a lookup table for parity calculations | Jack Lloyd | 2020-12-23 | 1 | -24/+9 |
| |/ | |||||
* / | Use const time code to choose which ASN.1 string encoding to use | Jack Lloyd | 2020-12-23 | 1 | -29/+21 |
|/ | |||||
* | Use a single Sbox table for Whirlpool | Jack Lloyd | 2020-12-22 | 3 | -618/+205 |
| | | | | | | This actually only degrades performance slightly, and Whirlpool is already quite slow. Saves 14K of ROM and probably lessens side channel risk a bit. | ||||
* | Move parity LUT to global namespace | Jack Lloyd | 2020-12-22 | 1 | -24/+28 |
| | | | | As MinGW doesn't like giving larger alignment to local vars | ||||
* | Deprecate OctetString::set_odd_parity | Jack Lloyd | 2020-12-22 | 2 | -0/+7 |
| | | | | What decade is this anyway | ||||
* | Align some more tables | Jack Lloyd | 2020-12-22 | 4 | -5/+5 |
| | | | | | The bcrypt tables aren't lookup tables but aligning them makes the loads within Blowfish a bit faster. | ||||
* | Merge GH #2557 Add ARMv8 version of SHACAL2 | Jack Lloyd | 2020-12-21 | 5 | -6/+144 |
|\ | |||||
| * | Unroll by 2x | Jack Lloyd | 2020-12-21 | 1 | -2/+45 |
| | | |||||
| * | Add SHACAL2 using ARMv8 SHA instructions | Jack Lloyd | 2020-12-21 | 5 | -6/+101 |
| | | |||||
* | | Avoid magic constants | Jack Lloyd | 2020-12-20 | 1 | -2/+2 |
| | | |||||
* | | Convert ASN1_Tag to an enum class | Jack Lloyd | 2020-12-20 | 54 | -450/+497 |
|/ | |||||
* | Compare also order and cofactor in EC_Group::operator== | Jack Lloyd | 2020-12-20 | 2 | -11/+9 |
| | |||||
* | Align SHA-2 constants | Jack Lloyd | 2020-12-20 | 2 | -19/+19 |
| | | | | | This allows using the aligned load instruction from SSE2 though that doesn't seem to make any difference on performance. | ||||
* | Remove duplicated SHACAL2 tests | Jack Lloyd | 2020-12-20 | 1 | -8/+0 |
| | |||||
* | Use the correct ppc64 Sigma | Jack Lloyd | 2020-12-19 | 1 | -2/+2 |
| | |||||
* | Optimize and cleanup SHACAL2 | Jack Lloyd | 2020-12-19 | 4 | -22/+71 |
| | | | | | | | The SHA-2 Ch and Maj functions can be done very fast on both AltiVec and NEON. Also, we can take advantage of the POWER8 SHA-2 extensions here. | ||||
* | Remove unused functions | Jack Lloyd | 2020-12-19 | 1 | -15/+0 |
| | |||||
* | Simplify DES IP/FP code | Jack Lloyd | 2020-12-19 | 1 | -53/+103 |
| | |||||
* | Slight Noekeon simplification | Jack Lloyd | 2020-12-19 | 2 | -4/+4 |
| | |||||
* | Make error handling more consistent here | Jack Lloyd | 2020-12-18 | 2 | -3/+9 |
| | |||||
* | Fix attempt | Jack Lloyd | 2020-12-16 | 1 | -2/+2 |
| | |||||
* | Toggle VSX flag for ppc64 GHASH | Jack Lloyd | 2020-12-16 | 1 | -0/+1 |
| | | | | Seems Clang really wants this in order to create a __vector unsigned long | ||||
* | Add a ppc64 clang build to CI | Jack Lloyd | 2020-12-16 | 1 | -0/+6 |
| | |||||
* | Fix build on ppc64 with clang | Jack Lloyd | 2020-12-16 | 1 | -6/+10 |
| | | | | GH #2547 |