mirror of
https://github.com/openssl/openssl.git
synced 2025-01-06 13:26:43 +08:00
dd1d7bcb69
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) |
||
---|---|---|
.. | ||
designs | ||
HOWTO | ||
images | ||
internal | ||
life-cycles | ||
man1 | ||
man3 | ||
man5 | ||
man7 | ||
build.info | ||
build.info.in | ||
dir-locals.example.el | ||
fingerprints.txt | ||
openssl-c-indent.el | ||
perlvars.pm | ||
README.md |
OpenSSL Documentation
README.md This file
fingerprints.txt PGP fingerprints of authorised release signers
standards.txt standards.txt Moved to the web, https://www.openssl.org/docs/standards.html
HOWTO/ A few how-to documents; not necessarily up-to-date
man1/ The openssl command-line tools; start with openssl.pod
man3/ The SSL library and the crypto library
man5/ File formats
man7/ Overviews; start with crypto.pod and ssl.pod, for example Algorithm specific EVP_PKEY documentation.
Formatted versions of the manpages (apps,ssl,crypto) can be found at https://www.openssl.org/docs/manpages.html