Currently, P-384 field operations use 14x28-bit limbs. The efficiency of these 
operations vastly improve by using 7x55-bit limbs using operations.  
Performance gains yield 20% to 43% for Java alone:

Key pair generation - P-384: +23-41%
Key agreement - P-384: +23-43%

Key pair generation - secP384r1MLKEM1024: +22-38%
KEM  decapsulation - secP384r1MLKEM1024: +21-42%
KEM encapsulation - secP384r1MLKEM1024: +20-42%

---------
- [X] I confirm that I make this contribution in accordance with the [OpenJDK 
Interim AI Policy](https://openjdk.org/legal/ai).

-------------

Commit messages:
 - Merge carryReduceUpper with reduce and fix/add more comments
 - Fix square method
 - Implement multByInt and square
 - Fix finalCarryReduceLast and mult
 - Fix reduceIn, carryReduceUpper, and carryReduceLower
 - Fix reduceIn, carryReduce, and reduce
 - Cleanup whitespace
 - 1st draft of implementation
 - 8393432: P-384 field operations should utilize larger limb sizes

Changes: https://git.openjdk.org/jdk/pull/33193/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=33193&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8393432
  Stats: 893 lines in 2 files changed: 874 ins; 18 del; 1 mod
  Patch: https://git.openjdk.org/jdk/pull/33193.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/33193/head:pull/33193

PR: https://git.openjdk.org/jdk/pull/33193

Reply via email to