diff options
author | 2024-04-24 21:12:36 +0000 | |
---|---|---|
committer | 2024-04-24 22:06:35 +0000 | |
commit | f209c86e58d9bf19c10423dfa12ab5204920ebe8 (patch) | |
tree | 0d8ebf7c98eec443d5df8cc239b6ed652d96fa87 /floss/build/container-build-image.py | |
parent | 30bd4820e4875b389c37f995f7e9a38769640ea1 (diff) |
rootcanal/ec: Use Jacobian Coordinates in Point implementation
This allows to speed up multiplication as we don't need to do
an expensive mod_inv for each addition but only once when we
convert back to affine coordinates.
Before:
In debug:
running 2 tests
test lmp::ec::tests::p256 ... ok
test lmp::ec::tests::p192 ... ok
test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 37 filtered out; finished in 2.32s
In release:
running 2 tests
test lmp::ec::tests::p256 ... ok
test lmp::ec::tests::p192 ... ok
test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 37 filtered out; finished in 0.36s
After:
In debug:
running 2 tests
test lmp::ec::tests::p256 ... ok
test lmp::ec::tests::p192 ... ok
test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 37 filtered out; finished in 0.30s
In release:
running 2 tests
test lmp::ec::tests::p256 ... ok
test lmp::ec::tests::p192 ... ok
test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 37 filtered out; finished in 0.04s
Resulting in a 6x improvement in debug and 7.5x in release
Bug: 335192676
Test: cargo test lmp::ec
Flag: EXEMPT, rootcanal
Change-Id: I09f8cfd02515f308dcb7f81e75cfafbf7bc50a5a
Diffstat (limited to 'floss/build/container-build-image.py')
0 files changed, 0 insertions, 0 deletions