Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix for select point from table in ec_nistp scalar_mul #1719

Merged
merged 1 commit into from
Jul 24, 2024

Conversation

dkostic
Copy link
Contributor

@dkostic dkostic commented Jul 23, 2024

Previous change unified and simplified selecting a point from table by using constant_time_select_entry_from_table_8 function. Unfortunatelly, on x86 this function is significantly slower than constant_time_select_entry_from_table_w. This commit fixes the performance regression.

Measured on Intel(R) Xeon(R) Platinum 8488C:
P-384 scalar_mul from 4091 to 5461 ops/s,
P-521 scalar_mul from 2520 to 3731 ops/s.

Call-outs:

Point out areas that need special attention or support during the review process. Discuss architecture or design changes.

Testing:

How is this change tested (unit tests, fuzz tests, etc.)? Are there any testing steps to be verified by the reviewer?

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license and the ISC license.

Previous change unified and simplified selecting a point from table
by using constant_time_select_entry_from_table_8 function.
Unfortunatelly, on x86 this function is significantly slower than
constant_time_select_entry_from_table_w. This commit fixes the
performance regression.

Measured on Intel(R) Xeon(R) Platinum 8488C:
P-384 scalar_mul from 4091 to 5461 ops/s,
P-521 scalar_mul from 2520 to 3731 ops/s.
@dkostic dkostic requested a review from a team as a code owner July 23, 2024 21:21
@dkostic dkostic changed the title Small fix for select point from table in ec_nistp scalar_mul Fix for select point from table in ec_nistp scalar_mul Jul 23, 2024
@codecov-commenter
Copy link

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 78.34%. Comparing base (98ccf4a) to head (c995623).

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1719      +/-   ##
==========================================
- Coverage   78.35%   78.34%   -0.01%     
==========================================
  Files         573      573              
  Lines       96065    96059       -6     
  Branches    13764    13763       -1     
==========================================
- Hits        75270    75262       -8     
  Misses      20195    20195              
- Partials      600      602       +2     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@dkostic dkostic merged commit 181eb7d into aws:main Jul 24, 2024
100 of 103 checks passed
skmcgrail added a commit that referenced this pull request Aug 1, 2024
## What's Changed
* Added options to x509 tool by @ecdeye in
#1696
* Add support to detect Neoverse V2 cores by @andrewhop in
#1706
* Move OCSP functions for Ruby out of internal.h by @samuel40791765 in
#1704
* Add aes-256-xts to EVP_get_cipherbyname by @torben-hansen in
#1707
* Match using CMAKE_SYSTEM_PROCESSOR_LOWER by @justsmth in
#1709
* Update MySQL to 9.0.0 by @skmcgrail in
#1685
* [EC] Unify scalar multiplication for P-256/384/521 by @dkostic in
#1693
* Adds const qualifier to ciphertext parameter in EVP_PKEY_decapsulate
by @maddeleine in #1713
* Upstream merge 2024 06 24 by @nebeid in
#1661
* NIST SP 800-108r1-upd1: KDF Counter Implementation by @skmcgrail in
#1644
* Upstream merge 2024 07 09 by @nebeid in
#1694
* Design for support of HMAC precomputed keys by @fabrice102 in
#1574
* Fix for select point from table in ec_nistp scalar_mul by @dkostic in
#1719
* X509toolcomparison by @ecdeye in
#1714
* AWS-LC s2n-bignum update 2024-07-22 by @dkostic in
#1718
* Add OpenVPN to CI by @smittals2 in
#1705
* Lower required Go version, add CI test for specific version by
@andrewhop in #1717
* ec2-test-framework enhancements and graviton 4 testing by
@samuel40791765 in #1715
* sha + chacha: Move AArch64/X86-64 dispatching to C. by @justsmth in
#1625
* Show number of pruned ec2 instances in dashboard by @samuel40791765 in
#1728
* rsa and md5 tools by @ecdeye in
#1722
* FIPS 203 IPD update: ML-KEM-IPD-768 and ML-KEM-IPD-1024 by @jakemas in
#1724
* bump mysql CI to 9.0.1 by @samuel40791765 in
#1727
* Support utility OCSP request functions by @samuel40791765 in
#1708
* add support for OCSP_SINGLERESP functions by @samuel40791765 in
#1703
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants