nettle merge requestshttps://git.lysator.liu.se/nettle/nettle/-/merge_requests2022-11-01T06:10:51Zhttps://git.lysator.liu.se/nettle/nettle/-/merge_requests/55[PowerPC] Implement _nettle_poly1305_blocks based on radix 2^442022-11-01T06:10:51ZMaamoun TK[PowerPC] Implement _nettle_poly1305_blocks based on radix 2^44This patch optimizes Poly1305 for powerpc64 architecture by utilizing POWER9-specific instruction `vmsumudm` for full 64-bit multiplication applied on 4-blocks at parallel based on radix 2^44
testsuite passes all tests of this patch.
B...This patch optimizes Poly1305 for powerpc64 architecture by utilizing POWER9-specific instruction `vmsumudm` for full 64-bit multiplication applied on 4-blocks at parallel based on radix 2^44
testsuite passes all tests of this patch.
Benchmark of poly1305 update using nettle-benchmark on Power9
| C | single block (2^64) | multi blocks (2^44) |
|---|------------|------------|
| 472.63 Mbyte/s | 658.45 Mbyte/s | 2136.30 Mbyte/s |https://git.lysator.liu.se/nettle/nettle/-/merge_requests/53[PowerPC] Test power9-specific code2022-10-15T06:12:03ZMaamoun TK[PowerPC] Test power9-specific codeThis patch enables testing power9-specific code by install updated version of qemu from Debian bullseye-backports. It also fixes a bug in poly1305-internal.asm affecting big-endian mode.This patch enables testing power9-specific code by install updated version of qemu from Debian bullseye-backports. It also fixes a bug in poly1305-internal.asm affecting big-endian mode.https://git.lysator.liu.se/nettle/nettle/-/merge_requests/48[PowerPC] Implement Poly1305 multi block update based on radix 2^442022-10-28T10:41:16ZMaamoun TK[PowerPC] Implement Poly1305 multi block update based on radix 2^44This patch optimizes Poly1305 for powerpc64 architecture by utilizing POWER9-specific instruction `vmsumudm` for full 64-bit multiplication applied on 4-blocks at parallel based on radix 2^44
testsuite passes all tests of this patch.
B...This patch optimizes Poly1305 for powerpc64 architecture by utilizing POWER9-specific instruction `vmsumudm` for full 64-bit multiplication applied on 4-blocks at parallel based on radix 2^44
testsuite passes all tests of this patch.
Benchmark of poly1305 update using nettle-benchmark on Power9
| C | This patch |
| ------ | ------ |
| 472.63 Mbyte/s | 2136.30 Mbyte/s |https://git.lysator.liu.se/nettle/nettle/-/merge_requests/39[PowerPC] Optimize Poly1305 based on radix 2^44 with fat build support2022-05-29T01:40:51ZMaamoun TK[PowerPC] Optimize Poly1305 based on radix 2^44 with fat build supportThis patch optimizes Poly1305 for powerpc64 architecture by utilizing POWER9-specific instruction `vmsumudm` for full 64-bit multiplication applied on 4-blocks at parallel based on radix 2^44
The patch also adds new option `--enable-pow...This patch optimizes Poly1305 for powerpc64 architecture by utilizing POWER9-specific instruction `vmsumudm` for full 64-bit multiplication applied on 4-blocks at parallel based on radix 2^44
The patch also adds new option `--enable-power9` for configuration to compile Power ISA v3.0 code.
testsuite passes all tests of this patch.
Benchmark of poly1305 update using nettle-benchmark on Power9
| C | This patch |
| ------ | ------ |
| 472.63 Mbyte/s | 2140.15 Mbyte/s |https://git.lysator.liu.se/nettle/nettle/-/merge_requests/18Add pbkdf2_hmac_sha384 pbkdf2_hmac_sha5122021-02-02T15:15:20ZNicolas MoraAdd pbkdf2_hmac_sha384 pbkdf2_hmac_sha512Add pbkdf2_hmac_sha384 pbkdf2_hmac_sha512 functions and their test caseAdd pbkdf2_hmac_sha384 pbkdf2_hmac_sha512 functions and their test casehttps://git.lysator.liu.se/nettle/nettle/-/merge_requests/15[PowerPC64] Use signal to detect CPU features when getauxval() isn't available2020-12-20T16:57:53ZMaamoun TK[PowerPC64] Use signal to detect CPU features when getauxval() isn't availableThis patch use signal functions and inline assembly to detect CPU features when glibc version is older than 2.16 where getauxval() has not been added yet.This patch use signal functions and inline assembly to detect CPU features when glibc version is older than 2.16 where getauxval() has not been added yet.https://git.lysator.liu.se/nettle/nettle/-/merge_requests/13[AArch64] Optimize GHASH2021-01-30T23:19:19ZMaamoun TK[AArch64] Optimize GHASHThis patch optimizes GHASH on AArch64 architecture. The patch check for little-endian mode to enable the optimized GHASH core, Optimizing GHASH on little-endian mode using PMULL instruction is a little bit tricky because the 64-bit opera...This patch optimizes GHASH on AArch64 architecture. The patch check for little-endian mode to enable the optimized GHASH core, Optimizing GHASH on little-endian mode using PMULL instruction is a little bit tricky because the 64-bit operations on SIMD registers are byte-reversed in little-endian mode so in order to get a correct result the input must be 64-bit byte-reversed and in this case the output of PMULL instruction will be 128-bit byte-reversed.
**GCM Benchmark result:**
| Version | Mbyte/s |
| ------ | ------ |
| C | 208 |
| Optimized GHASH | 3255 |https://git.lysator.liu.se/nettle/nettle/-/merge_requests/11[PowerPC64] Fat build support for GHASH2020-11-26T19:25:57ZMaamoun TK[PowerPC64] Fat build support for GHASHThis patch adds fat build support for GHASH on PowerPC.This patch adds fat build support for GHASH on PowerPC.https://git.lysator.liu.se/nettle/nettle/-/merge_requests/5Make nettle compile with pre-UAL arm assembler.2017-02-28T18:58:32ZMarcus HoffmannMake nettle compile with pre-UAL arm assembler.See: http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0204j/Cjagjjbc.html for details.See: http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0204j/Cjagjjbc.html for details.https://git.lysator.liu.se/nettle/nettle/-/merge_requests/2Using uint32_t for pbkdf2 iterations2020-01-11T11:43:30ZGhost UserUsing uint32_t for pbkdf2 iterationshttps://git.lysator.liu.se/nettle/nettle/-/merge_requests/1Include version.h in version-test.c2020-11-27T06:57:27ZBrian SmithInclude version.h in version-test.cThe code fails to build without this include.The code fails to build without this include.