diff options
author | tb <> | 2024-11-23 12:56:31 +0000 |
---|---|---|
committer | tb <> | 2024-11-23 12:56:31 +0000 |
commit | aa46849736d505ed56c131c6b6717eea90101a5f (patch) | |
tree | 5f349b025c06f8f850b0169de37a2b219f5ab02f /src/lib/libcrypto/ec/ecp_methods.c | |
parent | 9d99605c17e92dc8a680b04009a670e68b39af57 (diff) | |
download | openbsd-aa46849736d505ed56c131c6b6717eea90101a5f.tar.gz openbsd-aa46849736d505ed56c131c6b6717eea90101a5f.tar.bz2 openbsd-aa46849736d505ed56c131c6b6717eea90101a5f.zip |
Further refactoring of the wNAF code
The big change is that the "rows" are no longer slices of val[] but
that they actually own the points they contain. The price for this
is an extra allocation for val[] and to piece it together from the
two rows. That's ugly, but less ugly than before.
Add a helper for freeing a row of points. It can deal with a NULL
row so, we can remove a couple of complications.
The second change is that the logic for preparing the rows is pulled
back into ec_wNAF_mul[]. This way the m * G + n * P logic is in the
one function that needs to know about it, the rest just deals with
a pair of a point and a scalar.
This starts resembling actual code...
ok jsing
Diffstat (limited to 'src/lib/libcrypto/ec/ecp_methods.c')
0 files changed, 0 insertions, 0 deletions