- Sep 11, 2020
-
-
Marcel Cornu authored
-
- Sep 10, 2020
-
-
Marcel Cornu authored
-
- Aug 06, 2020
-
-
Marcel Cornu authored
-
- Jul 15, 2020
-
-
Pablo de Lara authored
Initial Chacha20 AVX512 implementation done using XMM registers only, handling only 64 bytes at a time.
-
Pablo de Lara authored
-
- Jun 25, 2020
-
-
Marcel Cornu authored
-
- Jun 09, 2020
-
-
Marcel Cornu authored
-
- Apr 29, 2020
-
-
Marcel Cornu authored
-
- Apr 21, 2020
-
-
Marcel Cornu authored
-
- Apr 14, 2020
-
-
Tomasz Kantecki authored
-
- Apr 06, 2020
-
-
Marcel D Cornu authored
-
- Feb 28, 2020
-
-
Pablo de Lara authored
Add N buffer functions for ZUC EEA3/EIA3, which utilize the internal ZUC functions using GFNI and VAES instructions.
-
Pablo de Lara authored
Optimize ZUC internal functions by using the upcoming GFNI/VAES instructions, alongside AVX512. Due to the usage of the new GFNI instructions, the minimum required version of NASM has been updated from 2.13.03 to 2.14.
-
- Feb 14, 2020
-
-
Pablo de Lara authored
-
- Feb 13, 2020
-
-
Tomasz Kantecki authored
-
Tomasz Kantecki authored
-
- Jan 30, 2020
-
-
Tomasz Kantecki authored
-
- Jan 23, 2020
-
-
Marcel Cornu authored
-
- Jan 21, 2020
-
-
Pablo de Lara authored
There are some public enums that are conflicting with other enums defined in other libraries, due to too generic naming. In order to solve this issue, existing enums will be renamed. In order to maintain backwards compatilibity for the next few releases, the previous enums will be maintained, so existing applications will not be broken. A new compilation flag, NO_COMPAT_IMB_API_053, is added. The previous enums can be removed if this compilation flag is set (which is disabled by default), when building and linking applications. For applications which use various libraries, this flag should be set, so no redefinition of enums will take place, by passing -DNO_COMPAT_IMB_API_053 to its CFLAGS (or EXTRA_CFLAGS).
-
- Jan 20, 2020
-
-
Pablo de Lara authored
-
- Jan 10, 2020
-
-
Pablo de Lara authored
-
- Dec 11, 2019
-
-
Tomasz Kantecki authored
-
- Nov 25, 2019
-
-
Marcel D. Cornu authored
- Added README.md - Updated existing README with output generated by pandoc - Added README target to Makefile to create/update README using pandoc
-
- Oct 24, 2019
-
-
Tomasz Kantecki authored
Change-Id: I2f93fa56c2d528efe12ba31ad28d269cabe14f43
-
- Oct 21, 2019
-
-
Tomasz Kantecki authored
Change-Id: Ib2df496afaebc13104eb3523e572b48ed3d3ad4d
-
- Oct 17, 2019
-
-
Tomasz Kantecki authored
Change-Id: I651e7ccb3a79ea733b8738666e69c76802f3fbfe
-
- Oct 11, 2019
-
-
Pablo de Lara authored
Add functions which look up an 8-bit value in a variable sized table (table must be multiple of 16 bytes), in a constant time. Change-Id: I99d7fed4b0933140f4720e67260be5ec4d7794fe
-
- Aug 13, 2019
-
-
Cornu, Marcel D authored
- libsso library references removed Change-Id: I589efdbc60615aa2db6087f9e0ca1cb40633966e
-
- Aug 09, 2019
-
-
Tomasz Kantecki authored
Change-Id: I4bb261a1466f1236fb7031bef1ebd50b1f488d12
-
- Jul 30, 2019
-
-
Pablo de Lara authored
Added support for KASUMI F8 and KASUMI F9 algorithms. Note that the input data length passed in the new functions is in bits and bytes, depending on the functions used. Change-Id: I8a532ecf23842e01701aef635521873652895f47
-
- Jul 17, 2019
-
-
Pablo de Lara authored
Updated README and Release Notes to reflect the changes done in AES-CBC, adding the implementation for AVX512/VAES. Change-Id: I719789706314c3b9a05b53b5e33277ca06064022
-
- Jul 12, 2019
-
-
Pablo de Lara authored
This new application (ipsec_xvalid_test) performs tests on various combinations of cipher and hash algorithms, on different buffer sizes and using different architectures. The basic test performed is the following: - The message gets encrypted and a digest is generated from the ciphertext, using one architecture - The output message (ciphertext) gets decrypted and another digest is generated from the ciphertext, using another architecture (can be the same as the first step) - The decrypted message is compared against the original plaintext - Both generated digests are compared - The test fails if any of these comparison fails By default, the test loops through: - All cipher, hash and AEAD algorithms supported - Buffer sizes between 16 and 2048 bytes, in steps of 16 bytes - All architectures supported (SSE, AESNI_EMU, AVX, AVX2, AVX512) Any of the combinations above can be set, performing a single test. A sample command line to do this is the following: ./ipsec_xvalid_test --job-size 512 --enc-arch AVX512 --dec-arch AVX --aead-algo aes-gcm-128 This command performs a test using AES-GCM, on 512B buffers, encrypting with AVX512 and decrypting with AVX. The application can be also launched with no parameters, going through all cipher+hash combinations and architectures. Change-Id: I7f5c8e9b66a2312570862ce204fb1ed191f56182
-
- Jul 11, 2019
-
-
Pablo de Lara authored
OS support is extended with FreeBSD, alongside Linux and Windows. No major code changes are required for FreeBSD, since it uses same API/ABI as Linux. Change-Id: I672316fbeed4f3eee997ffbe52974227ef5252d3
-
- Jul 10, 2019
-
-
Cornu, Marcel D authored
Change-Id: I00552e394f86c453341847ee683a6cdde95e04d7
-
Pablo de Lara authored
Change-Id: I3eb74462c9000949fd769bc5d82d6110da97d1ea
-
- Jul 08, 2019
-
-
Tomasz Kantecki authored
- GCM_BIG_DATA compile flag added - disabled by default, number of ghash keys is 48 (key structure 1,152 bytes) - when ebaled, number of ghash keys is 128 (key sturcture 2,432 bytes) - precomputing 128 or 48 GHASH keys (the structure is much bigger now) - When GCM_BIG_DATA is on and data >= 2,048 bytes reduction is done every 128 blocks - for data >= 768 bytes reduction is done every 48 blocks - for other cases reduction is done every 8 blocks - added new macro handling 16 blocks of AES and GHASH in parallel - pipeline depth is 32 blocks - very large and large buffers leverage the macro - initial N x 16 blocks macro implemented - pipelines cipher with GHASH - first runs cipher only as defined by depth of the pipeline - then runs stitched cipher and GHASH for the remaining number of blocks - parallel cipher and ghash N x 16 blocks implemented - cipher and ghash always stitched - reduction done as defined by maximum number of blocks - depth of the pipeline maintained as in initial N x 16 macro - cipher is ahead of ghash by 32 blocks - stack frame created to keep up to 128 blocks of cipher text - stack frame loads/stores are aligned - gcm key data structure definition made more generic - VX512STR and VX512LDR macros changed from vmovdqu64 to vmovdqu8 in order to work correctly with masked operations Change-Id: Idd83b911c9257bbd221c66ddd9297a4f2ae120c2
-
- Jun 28, 2019
-
-
Pablo de Lara authored
Change-Id: Ib7946530b63c930dfd585a1c2a2cc6b3d788e57a
-
- Jun 21, 2019
-
-
Pablo de Lara authored
Added support for ZUC-EEA3 and ZUC-EIA3 algorithms, in SSE and AVX. Note that the input data length passed in the new functions is in bits and not in bytes, as it is generally done in the rest of the library. Change-Id: Id0137ccad79734ceaa05da1ad6d710bce7dcd917
-
- Jun 14, 2019
-
-
Pablo de Lara authored
Handle 16 blocks in parallel, instead of 8, improving throughput by increasing port utilization. Change-Id: I2fcc530b2458c5c106375bee811e908b5a809635
-
- Jun 11, 2019
-
-
Pablo de Lara authored
Add SSE and AVX implementations of AES-ECB. Change-Id: I47105414d73035c7090c70abd860831ffac015c0
-