Dactyloidae/security/nss/lib/freebl
Sohaib ul Hassan 62467c473d [NSS] Implement constant-time GCD and modular inversion
The implementation is based on the work by Bernstein and Yang
(https://eprint.iacr.org/2019/266)
"Fast constant-time gcd computation and modular inversion".

It fixes the old mp_gcd and s_mp_invmod_odd_m functions. The patch also fixes
mpl_significant_bits s_mp_div_2d and s_mp_mul_2d by having less control flow to
reduce side-channel leaks.

Co-authored by : Billy Bob Brumley
2020-07-10 22:18:52 +08:00
..
ecl Issue #1338 - Part 2: Update NSS to 3.48-RTM 2020-01-05 11:42:29 +08:00
mpi [NSS] Implement constant-time GCD and modular inversion 2020-07-10 22:18:52 +08:00
verified Issue #1338 - Part 2: Update NSS to 3.48-RTM 2020-01-05 11:42:29 +08:00
aes-armv8.c Issue #1338 - Part 2: Update NSS to 3.48-RTM 2020-01-05 11:42:29 +08:00
aes-armv8.h Issue #1338 - Part 2: Update NSS to 3.48-RTM 2020-01-05 11:42:29 +08:00
aes-x86.c Issue #1338 - Part 2: Update NSS to 3.48-RTM 2020-01-05 11:42:29 +08:00
aeskeywrap.c Issue #1338 - Part 2: Update NSS to 3.48-RTM 2020-01-05 11:42:29 +08:00
alg2268.c import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00
alghmac.c import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00
alghmac.h import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00
altivec-types.h Issue #1338 - Part 2: Update NSS to 3.48-RTM 2020-01-05 11:42:29 +08:00
arcfive.c import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00
arcfour-amd64-gas.s import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00
arcfour-amd64-masm.asm import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00
arcfour-amd64-sun.s import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00
arcfour.c import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00
blake2b.c Update NSS to 3.38 2019-02-16 00:11:10 +08:00
blake2b.h Update NSS to 3.35-RTM 2019-02-16 00:01:03 +08:00
blapi.h Issue #1338 - Part 2: Update NSS to 3.48-RTM 2020-01-05 11:42:29 +08:00
blapii.h Issue #1338 - Part 2: Update NSS to 3.48-RTM 2020-01-05 11:42:29 +08:00
blapit.h Update NSS to 3.35-RTM 2019-02-16 00:01:03 +08:00
blinit.c Issue #1338 - Part 2: Update NSS to 3.48-RTM 2020-01-05 11:42:29 +08:00
blname.c import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00
camellia.c import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00
camellia.h import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00
chacha20poly1305.c Issue #1338 - Part 2: Update NSS to 3.48-RTM 2020-01-05 11:42:29 +08:00
chacha20poly1305.h import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00
cmac.c Issue #1338 - Part 2: Update NSS to 3.48-RTM 2020-01-05 11:42:29 +08:00
cmac.h Issue #1338 - Part 2: Update NSS to 3.48-RTM 2020-01-05 11:42:29 +08:00
config.mk Issue #1338 - Part 2: Update NSS to 3.48-RTM 2020-01-05 11:42:29 +08:00
crypto_primitives.c Issue #1338 - Part 2: Update NSS to 3.48-RTM 2020-01-05 11:42:29 +08:00
crypto_primitives.h Issue #1338 - Part 2: Update NSS to 3.48-RTM 2020-01-05 11:42:29 +08:00
ctr.c Issue #1338 - Part 2: Update NSS to 3.48-RTM 2020-01-05 11:42:29 +08:00
ctr.h Update NSS to 3.32.1-RTM 2019-02-15 23:29:46 +08:00
cts.c Update NSS to 3.32.1-RTM 2019-02-15 23:29:46 +08:00
cts.h Update NSS to 3.32.1-RTM 2019-02-15 23:29:46 +08:00
des.c import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00
des.h import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00
desblapi.c import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00
det_rng.c Update NSS to 3.36.4-RTM 2019-02-16 00:02:32 +08:00
det_rng.h import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00
dh.c Issue #1338 - Part 2: Update NSS to 3.48-RTM 2020-01-05 11:42:29 +08:00
drbg.c Issue #1338 - Part 2: Update NSS to 3.48-RTM 2020-01-05 11:42:29 +08:00
dsa.c [NSS] Force a fixed length for DSA exponentiation 2020-06-06 07:21:15 +08:00
ec.c Issue #1338 - Part 2: Update NSS to 3.48-RTM 2020-01-05 11:42:29 +08:00
ec.h import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00
ecdecode.c Update NSS to 3.35-RTM 2019-02-16 00:01:03 +08:00
exports.gyp Issue #1338 - Part 2: Update NSS to 3.48-RTM 2020-01-05 11:42:29 +08:00
fipsfreebl.c Issue #1338 - Part 2: Update NSS to 3.48-RTM 2020-01-05 11:42:29 +08:00
freebl.def import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00
freebl.gyp Issue #1338 - Part 2: Update NSS to 3.48-RTM 2020-01-05 11:42:29 +08:00
freebl.rc import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00
freebl_base.gypi Issue #1338 - Part 2: Update NSS to 3.48-RTM 2020-01-05 11:42:29 +08:00
freebl_hash.def import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00
freebl_hash_vector.def import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00
freeblver.c import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00
gcm-aarch64.c Issue #1338 - Part 2: Update NSS to 3.48-RTM 2020-01-05 11:42:29 +08:00
gcm-ppc.c Issue #1338 - Part 2: Update NSS to 3.48-RTM 2020-01-05 11:42:29 +08:00
gcm-x86.c Update NSS to 3.35-RTM 2019-02-16 00:01:03 +08:00
gcm.c Issue #1338 - Part 2: Update NSS to 3.48-RTM 2020-01-05 11:42:29 +08:00
gcm.h Issue #1338 - Part 2: Update NSS to 3.48-RTM 2020-01-05 11:42:29 +08:00
genload.c import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00
hmacct.c import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00
hmacct.h import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00
intel-aes-x64-masm.asm Update NSS to 3.32.1-RTM 2019-02-15 23:29:46 +08:00
intel-aes-x86-masm.asm Update NSS to 3.32.1-RTM 2019-02-15 23:29:46 +08:00
intel-aes.h Issue #1338 - Part 2: Update NSS to 3.48-RTM 2020-01-05 11:42:29 +08:00
intel-aes.s Update NSS to 3.32.1-RTM 2019-02-15 23:29:46 +08:00
intel-gcm-wrap.c Issue #1338 - Part 2: Update NSS to 3.48-RTM 2020-01-05 11:42:29 +08:00
intel-gcm-x64-masm.asm Update NSS to 3.32.1-RTM 2019-02-15 23:29:46 +08:00
intel-gcm-x86-masm.asm Update NSS to 3.32.1-RTM 2019-02-15 23:29:46 +08:00
intel-gcm.h Update NSS to 3.32.1-RTM 2019-02-15 23:29:46 +08:00
intel-gcm.s Update NSS to 3.32.1-RTM 2019-02-15 23:29:46 +08:00
jpake.c import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00
ldvector.c Issue #1338 - Part 2: Update NSS to 3.48-RTM 2020-01-05 11:42:29 +08:00
loader.c Issue #1338 - Part 2: Update NSS to 3.48-RTM 2020-01-05 11:42:29 +08:00
loader.h Issue #1338 - Part 2: Update NSS to 3.48-RTM 2020-01-05 11:42:29 +08:00
lowhash_vector.c Update NSS to 3.36.4-RTM 2019-02-16 00:02:32 +08:00
Makefile Issue #1338 - Part 2: Update NSS to 3.48-RTM 2020-01-05 11:42:29 +08:00
manifest.mn Issue #1338 - Part 2: Update NSS to 3.48-RTM 2020-01-05 11:42:29 +08:00
md2.c import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00
md5.c import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00
mknewpc2.c import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00
mksp.c import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00
nsslowhash.c Update NSS to 3.35-RTM 2019-02-16 00:01:03 +08:00
nsslowhash.h import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00
pqg.c Issue #1338 - Part 2: Update NSS to 3.48-RTM 2020-01-05 11:42:29 +08:00
pqg.h import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00
rawhash.c import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00
ret_cr16.s import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00
rijndael.c Issue #1338 - Part 2: Update NSS to 3.48-RTM 2020-01-05 11:42:29 +08:00
rijndael.h Issue #1338 - Part 2: Update NSS to 3.48-RTM 2020-01-05 11:42:29 +08:00
rijndael32.tab import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00
rijndael_tables.c import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00
rsa.c Update NSS to 3.35-RTM 2019-02-16 00:01:03 +08:00
rsapkcs.c Issue #1338 - Part 2: Update NSS to 3.48-RTM 2020-01-05 11:42:29 +08:00
secmpi.h import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00
secrng.h import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00
seed.c Issue #1338 - Part 2: Update NSS to 3.48-RTM 2020-01-05 11:42:29 +08:00
seed.h import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00
sha-fast-amd64-sun.s import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00
sha256.h import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00
sha512.c Update NSS to 3.35-RTM 2019-02-16 00:01:03 +08:00
sha_fast.c import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00
sha_fast.h Issue #1338 - Part 2: Update NSS to 3.48-RTM 2020-01-05 11:42:29 +08:00
shsign.h import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00
shvfy.c Update NSS to 3.35-RTM 2019-02-16 00:01:03 +08:00
stubs.c Update NSS to 3.36.4-RTM 2019-02-16 00:02:32 +08:00
stubs.h Update NSS to 3.35-RTM 2019-02-16 00:01:03 +08:00
sysrand.c Update NSS to 3.32.1-RTM 2019-02-15 23:29:46 +08:00
tlsprfalg.c import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00
unix_rand.c Update NSS to 3.32.1-RTM 2019-02-15 23:29:46 +08:00
unix_urandom.c Issue #1338 - Part 2: Update NSS to 3.48-RTM 2020-01-05 11:42:29 +08:00
win_rand.c import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00