Issues and passes for aarch64 const time checks (#1214)

This commit is contained in:
Ted Eaton 2022-05-25 10:47:34 -04:00 committed by GitHub
parent fc7d89c074
commit feea2f3864
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 111 additions and 42 deletions

View File

@ -19,3 +19,17 @@
fun:pqcrystals_kyber*_avx2_gen_matrix
fun:pqcrystals_kyber*_avx2_indcpa_*
}
{
Rejection sampling to produce public "A" matrix
Memcheck:Value8
...
fun:PQCLEAN_KYBER*_AARCH64_gen_matrix
fun:PQCLEAN_KYBER*_AARCH64_indcpa_*
}
{
Rejection sampling to produce public "A" matrix
Memcheck:Cond
...
fun:PQCLEAN_KYBER*_AARCH64_gen_matrix
fun:PQCLEAN_KYBER*_AARCH64_indcpa_*
}

View File

@ -17,42 +17,42 @@
"Rainbow-V-Circumzenithal": [],
"Rainbow-V-Classic": [],
"Rainbow-V-Compressed": [],
"SPHINCS+-Haraka-128f-robust": [],
"SPHINCS+-Haraka-128f-simple": [],
"SPHINCS+-Haraka-128s-robust": [],
"SPHINCS+-Haraka-128s-simple": [],
"SPHINCS+-Haraka-192f-robust": [],
"SPHINCS+-Haraka-192f-simple": [],
"SPHINCS+-Haraka-192s-robust": [],
"SPHINCS+-Haraka-192s-simple": [],
"SPHINCS+-Haraka-256f-robust": [],
"SPHINCS+-Haraka-256f-simple": [],
"SPHINCS+-Haraka-256s-robust": [],
"SPHINCS+-Haraka-256s-simple": [],
"SPHINCS+-SHA256-128f-robust": [],
"SPHINCS+-SHA256-128f-simple": [],
"SPHINCS+-SHA256-128s-robust": [],
"SPHINCS+-SHA256-128s-simple": [],
"SPHINCS+-SHA256-192f-robust": [],
"SPHINCS+-SHA256-192f-simple": [],
"SPHINCS+-SHA256-192s-robust": [],
"SPHINCS+-SHA256-192s-simple": [],
"SPHINCS+-SHA256-256f-robust": [],
"SPHINCS+-SHA256-256f-simple": [],
"SPHINCS+-SHA256-256s-robust": [],
"SPHINCS+-SHA256-256s-simple": [],
"SPHINCS+-SHAKE256-128f-robust": [],
"SPHINCS+-SHAKE256-128f-simple": [],
"SPHINCS+-SHAKE256-128s-robust": [],
"SPHINCS+-SHAKE256-128s-simple": [],
"SPHINCS+-SHAKE256-192f-robust": [],
"SPHINCS+-SHAKE256-192f-simple": [],
"SPHINCS+-SHAKE256-192s-robust": [],
"SPHINCS+-SHAKE256-192s-simple": [],
"SPHINCS+-SHAKE256-256f-robust": [],
"SPHINCS+-SHAKE256-256f-simple": [],
"SPHINCS+-SHAKE256-256s-robust": [],
"SPHINCS+-SHAKE256-256s-simple": [],
"SPHINCS+-Haraka-128f-robust": ["sphincs"],
"SPHINCS+-Haraka-128f-simple": ["sphincs"],
"SPHINCS+-Haraka-128s-robust": ["sphincs"],
"SPHINCS+-Haraka-128s-simple": ["sphincs"],
"SPHINCS+-Haraka-192f-robust": ["sphincs"],
"SPHINCS+-Haraka-192f-simple": ["sphincs"],
"SPHINCS+-Haraka-192s-robust": ["sphincs"],
"SPHINCS+-Haraka-192s-simple": ["sphincs"],
"SPHINCS+-Haraka-256f-robust": ["sphincs"],
"SPHINCS+-Haraka-256f-simple": ["sphincs"],
"SPHINCS+-Haraka-256s-robust": ["sphincs"],
"SPHINCS+-Haraka-256s-simple": ["sphincs"],
"SPHINCS+-SHA256-128f-robust": ["sphincs"],
"SPHINCS+-SHA256-128f-simple": ["sphincs"],
"SPHINCS+-SHA256-128s-robust": ["sphincs"],
"SPHINCS+-SHA256-128s-simple": ["sphincs"],
"SPHINCS+-SHA256-192f-robust": ["sphincs"],
"SPHINCS+-SHA256-192f-simple": ["sphincs"],
"SPHINCS+-SHA256-192s-robust": ["sphincs"],
"SPHINCS+-SHA256-192s-simple": ["sphincs"],
"SPHINCS+-SHA256-256f-robust": ["sphincs"],
"SPHINCS+-SHA256-256f-simple": ["sphincs"],
"SPHINCS+-SHA256-256s-robust": ["sphincs"],
"SPHINCS+-SHA256-256s-simple": ["sphincs"],
"SPHINCS+-SHAKE256-128f-robust": ["sphincs"],
"SPHINCS+-SHAKE256-128f-simple": ["sphincs"],
"SPHINCS+-SHAKE256-128s-robust": ["sphincs"],
"SPHINCS+-SHAKE256-128s-simple": ["sphincs"],
"SPHINCS+-SHAKE256-192f-robust": ["sphincs"],
"SPHINCS+-SHAKE256-192f-simple": ["sphincs"],
"SPHINCS+-SHAKE256-192s-robust": ["sphincs"],
"SPHINCS+-SHAKE256-192s-simple": ["sphincs"],
"SPHINCS+-SHAKE256-256f-robust": ["sphincs"],
"SPHINCS+-SHAKE256-256f-simple": ["sphincs"],
"SPHINCS+-SHAKE256-256s-robust": ["sphincs"],
"SPHINCS+-SHAKE256-256s-simple": ["sphincs"],
"picnic3_L1": [],
"picnic3_L3": [],
"picnic3_L5": [],

View File

@ -0,0 +1,7 @@
{
memcpy source and destination overlap see issue 1038
Memcheck:Overlap
fun:__GI_memcpy
fun:gen_chain
fun:PQCLEAN_SPHINCS*_CLEAN_wots_*
}

View File

@ -1,11 +1,11 @@
{
"Dilithium2": ["dilithium", "dilithium-avx2"],
"Dilithium3": ["dilithium", "dilithium-avx2"],
"Dilithium5": ["dilithium", "dilithium-avx2"],
"Dilithium2-AES": ["dilithium", "dilithium-avx2", "dilithium-aes-avx2"],
"Dilithium3-AES": ["dilithium", "dilithium-avx2", "dilithium-aes-avx2"],
"Dilithium5-AES": ["dilithium", "dilithium-avx2", "dilithium-aes-avx2"],
"Dilithium2": ["dilithium", "dilithium-avx2", "dilithium-aarch64"],
"Dilithium3": ["dilithium", "dilithium-avx2", "dilithium-aarch64"],
"Dilithium5": ["dilithium", "dilithium-avx2", "dilithium-aarch64"],
"Dilithium2-AES": ["dilithium", "dilithium-avx2", "dilithium-aarch64", "dilithium-aes-avx2"],
"Dilithium3-AES": ["dilithium", "dilithium-avx2", "dilithium-aarch64", "dilithium-aes-avx2"],
"Dilithium5-AES": ["dilithium", "dilithium-avx2", "dilithium-aarch64", "dilithium-aes-avx2"],
"Falcon-1024": ["falcon_keygen", "falcon_sign"],
"Falcon-512": ["falcon_keygen", "falcon_sign"],
"Rainbow-I-Circumzenithal": ["rainbow"],

View File

@ -0,0 +1,48 @@
{
Rejection sampling for uniformly distributed public A matrix
Memcheck:Cond
fun:rej_uniform
fun:PQCLEAN_DILITHIUM*_AARCH64_poly_uniformx2
fun:PQCLEAN_DILITHIUM*_AARCH64_polyvec_matrix_expand
}
{
Rejection sampling for s1 and s2
Memcheck:Cond
fun:rej_eta
fun:PQCLEAN_DILITHIUM*_AARCH64_poly_uniform_eta
fun:PQCLEAN_DILITHIUM*_AARCH64_polyvec*_uniform_eta
fun:PQCLEAN_DILITHIUM*_AARCH64_crypto_sign_keypair
}
{
Rejection sampling for challenge
Memcheck:Cond
fun:PQCLEAN_DILITHIUM*_AARCH64_poly_challenge
fun:PQCLEAN_DILITHIUM*_AARCH64_crypto_sign_signature
}
{
Rejection sampling for challenge
Memcheck:Value8
fun:PQCLEAN_DILITHIUM*_AARCH64_poly_challenge
fun:PQCLEAN_DILITHIUM*_AARCH64_crypto_sign_signature
}
{
Rejection sampling for signature distribution
Memcheck:Cond
...
src:sign.c:153 # Call to polyvecl_chknorm
# fun:PQCLEAN_DILITHIUM*_AARCH64_crypto_sign_signature
}
{
Rejection sampling for signature distribution
Memcheck:Cond
...
src:sign.c:163 # Call to polyveck_chknorm
# fun:PQCLEAN_DILITHIUM*_AARCH64_crypto_sign_signature
}
{
Hint does not need to be computed in constant time
Memcheck:Cond
...
src:sign.c:176 # Call to polyveck_make_hint
# fun:PQCLEAN_DILITHIUM*_AARCH64_crypto_sign_signature
}