- Mar 06, 2025
-
-
Paul Elliott authored
Rebase MR CY25Q1 2 Notable changes from base repository: * Aarch64 specific code added in xvalid app, relating to simd register secret checking. This was part of do_test() refactoring. See merge request !28
-
-
-
-
-
-
-
-
-
-
Used https://github.com/step-security/secure-repo to help with it
-
-
Signed-off-by:
Pablo de Lara <pablo.de.lara.guarch@intel.com>
-
- Feb 21, 2025
-
-
Paul Elliott authored
Rebase MR CY25Q1 1 See merge request !27 Notable changes from base repository: - Fixed CMake build (changed names of library headers) - Changed CMake project definition homepage URL to be this repository, rather than upstream.
-
- Feb 20, 2025
-
-
The optimization is enabled for: - single call cases - any IV size (variable IV interface) and 12 byte IV size - both cipher directions To save space small packet code generation is disabled in GCM_ENC_DEC in in the above cases. This is no longer needed as new small packet code covers it. GCM context got removed from argument list for GCM_ENC_DEC_0_TO_256 macro (not required).
-
This is to reduce code size in cases when GCM_ENC_DEC_0_TO_256 is used.
-
vaes-avx512: [gcm] use internal GHASH function instead expanding GHASH calculation macro for small packets - use GCM_ENC_DEC_0_TO_256 macro name for small packet code - tidy up comments and register usage notes - reduce CALC_J0 macro arguments and update register usage notes
-
Changes vs the original approach: - move AAD calculation after AES-CTR encrypt - move original IV encrypt to the message encrypt - for certain message sizes original IV is appended to counter block registers for encryption - optimize number of GHASH reductions
-
-
-
avx512: [des] generate range of encrypt functions for code re-use between DES, 3DES/TDES and DES-DOCSIS - add new module with encrypt functions with input/output registers commonly used in the code - add wrapper macro for encrypt so that code expansion can be done or call to generated/predefined function can be made (much smaller memory footprint) - rename DES constants so that they are unique and can be exported to other library modules
-
-
- remove AVX512 type 1 AES-GCM implementation and use AVX2 type 1 instead - both deliver identical performance - AVX512 AES-GCM API symbols are retained (map onto AVX2 ones)
-
-
-
-
-
avx2/avx512: [gcm] change CALC_J0 macro to call ghash_internal function for GHASH calculation instead of expanding CALC_AAD_HASH
-
- add new CALC_GHASH macro that requires two GPR's less that CALC_AAD_HASH - remove RBX save/restore in function entry and exit
-
API's compiled in two groups: - GHASH API's - internal GHASH API added (GHASH API uses it) - GCM, GCM SGL and GMAC API's - GMAC API's use new internal GHASH API
-
-
- tune internal GHASH API SIMD register usage to avoid data clobbering in GCM_INIT
-
-
-
-
-
- separate GHASH implementations into a separate module
-
Signed-off-by:
Pablo de Lara <pablo.de.lara.guarch@intel.com>
-
Signed-off-by:
Marcel Cornu <marcel.d.cornu@intel.com>
-