mirror of
https://github.com/openssl/openssl.git
synced 2024-12-15 06:01:37 +08:00
f45846f500
This commit uses the new ladder scaffold to implement a specialized ladder step based on differential addition-and-doubling in mixed Lopez-Dahab projective coordinates, modified to independently blind the operands. The arithmetic in `ladder_pre`, `ladder_step` and `ladder_post` is auto generated with tooling: - see, e.g., "Guide to ECC" Alg 3.40 for reference about the `ladder_pre` implementation; - see https://www.hyperelliptic.org/EFD/g12o/auto-code/shortw/xz/ladder/mladd-2003-s.op3 for the differential addition-and-doubling formulas implemented in `ladder_step`; - see, e.g., "Fast Multiplication on Elliptic Curves over GF(2**m) without Precomputation" (Lopez and Dahab, CHES 1999) Appendix Alg Mxy for the `ladder_post` implementation to recover the `(x,y)` result in affine coordinates. Co-authored-by: Billy Brumley <bbrumley@gmail.com> Co-authored-by: Sohaib ul Hassan <soh.19.hassan@gmail.com> Reviewed-by: Andy Polyakov <appro@openssl.org> Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/6690) |
||
---|---|---|
.. | ||
aes | ||
aria | ||
asn1 | ||
async | ||
bf | ||
bio | ||
blake2 | ||
bn | ||
buffer | ||
camellia | ||
cast | ||
chacha | ||
cmac | ||
cms | ||
comp | ||
conf | ||
ct | ||
des | ||
dh | ||
dsa | ||
dso | ||
ec | ||
engine | ||
err | ||
evp | ||
hmac | ||
idea | ||
include/internal | ||
kdf | ||
lhash | ||
md2 | ||
md4 | ||
md5 | ||
mdc2 | ||
modes | ||
objects | ||
ocsp | ||
pem | ||
perlasm | ||
pkcs7 | ||
pkcs12 | ||
poly1305 | ||
rand | ||
rc2 | ||
rc4 | ||
rc5 | ||
ripemd | ||
rsa | ||
seed | ||
sha | ||
siphash | ||
sm2 | ||
sm3 | ||
sm4 | ||
srp | ||
stack | ||
store | ||
ts | ||
txt_db | ||
ui | ||
whrlpool | ||
x509 | ||
x509v3 | ||
alphacpuid.pl | ||
arm64cpuid.pl | ||
arm_arch.h | ||
armcap.c | ||
armv4cpuid.pl | ||
build.info | ||
c64xpluscpuid.pl | ||
cpt_err.c | ||
cryptlib.c | ||
ctype.c | ||
cversion.c | ||
dllmain.c | ||
ebcdic.c | ||
ex_data.c | ||
ia64cpuid.S | ||
init.c | ||
LPdir_nyi.c | ||
LPdir_unix.c | ||
LPdir_vms.c | ||
LPdir_win32.c | ||
LPdir_win.c | ||
LPdir_wince.c | ||
mem_clr.c | ||
mem_dbg.c | ||
mem_sec.c | ||
mem.c | ||
mips_arch.h | ||
o_dir.c | ||
o_fips.c | ||
o_fopen.c | ||
o_init.c | ||
o_str.c | ||
o_time.c | ||
pariscid.pl | ||
ppc_arch.h | ||
ppccap.c | ||
ppccpuid.pl | ||
s390x_arch.h | ||
s390xcap.c | ||
s390xcpuid.pl | ||
sparc_arch.h | ||
sparccpuid.S | ||
sparcv9cap.c | ||
threads_none.c | ||
threads_pthread.c | ||
threads_win.c | ||
uid.c | ||
vms_rms.h | ||
x86_64cpuid.pl | ||
x86cpuid.pl |