Updated: October 28, 2024 |
The qcrypto library supports various types of cryptographic keys.
For detailed information about key generation functions, see qcrypto_keys.h.
The recommended key lengths depend on the application and the level of security required. For the NIST recommendations for key lengths, go to https://www.keylength.com/en/4/.
For the symmetric keys used in symmetric cryptographic primitives like AES, the size of the key depends on the symmetric algorithm.
The qcrypto library does not support RSA encryption or decryption.
DSA keys also support the loading of pre-generated DSA parameters that are used to derive keys.
It takes a long time to generate DSA keypairs if the parameters must be initialized before the keys are generated. Parameters are usually generated offline or in times of low system activity so that they are readily available to generate keys when required.
DH keys also support the loading of pre-generated DH parameters used to derive keys.
Generating DH key pairs takes a long time if the parameters must be initialized before generating the keys. Parameters are usually generated offline or in times of low system activity so that they are readily available to generate keys when required.
ECC keys are parametrized using the curve and the key type (named curve or explicit curve parameters).
ECC keys also support the loading of pre-generated ECC parameters used to derive keys.
ECC keys can be generated in the following formats: