summaryrefslogtreecommitdiff
path: root/doc/man7/EVP_KDF-SCRYPT.pod
diff options
context:
space:
mode:
authorslontis <shane.lontis@oracle.com>2022-11-02 12:01:34 +1000
committerTomas Mraz <tomas@openssl.org>2022-11-21 11:17:59 +0100
commitdd1d7bcb69994d81662e709b0ad838880b943870 (patch)
treef24c3ce03aa4d0bd374ce4cba03d0968cd886b9c /doc/man7/EVP_KDF-SCRYPT.pod
parent88113f5dc6828694820d39612c3a760e386a0aa5 (diff)
downloadopenssl-new-dd1d7bcb69994d81662e709b0ad838880b943870.tar.gz
Improve FIPS RSA keygen performance.
FIPS 186-4 has 5 different algorithms for key generation, and all of them rely on testing GCD(a,n) == 1 many times. Cachegrind was showing that during a RSA keygen operation, the function BN_gcd() was taking a considerable percentage of the total cycles. The default provider uses multiprime keygen, which seemed to be much faster. This is because it uses BN_mod_inverse() instead. For a 4096 bit key, the entropy of a key that was taking a long time to generate was recorded and fed back into subsequent runs. Roughly 40% of the cycle time was BN_gcd() with most of the remainder in the prime testing. Changing to use the inverse resulted in the cycle count being 96% in the prime testing. Reviewed-by: Paul Dale <pauli@openssl.org> Reviewed-by: Tomas Mraz <tomas@openssl.org> (Merged from https://github.com/openssl/openssl/pull/19578)
Diffstat (limited to 'doc/man7/EVP_KDF-SCRYPT.pod')
0 files changed, 0 insertions, 0 deletions