32 lines
1.3 KiB
Plaintext
Raw Normal View History

As a rule of thumb, use the cryptographic algorithms and mechanisms that are
considered strong by the cryptographic community.
The appropriate choices are the following.
==== RSA (Rivest-Shamir-Adleman) and DSA (Digital Signature Algorithm)
The security of these algorithms depends on the difficulty of attacks
attempting to solve their underlying mathematical problem.
In general, a minimum key size of *2048* bits is recommended for both.
==== AES (Advanced Encryption Standard)
AES supports three key sizes: 128 bits, 192 bits and 256 bits. The security of
the AES algorithm is based on the computational complexity of trying all
possible keys. +
A larger key size increases the number of possible keys and makes exhaustive
search attacks computationally infeasible. Therefore, a 256-bit key provides a
higher level of security than a 128-bit or 192-bit key.
Currently, a minimum key size of *128 bits* is recommended for AES.
==== Elliptic Curve Cryptography (ECC)
Elliptic curve cryptography is also used in various algorithms, such as ECDSA,
ECDH, or ECMQV. The length of keys generated with elliptic curve algorithms are mentioned
directly in their names. For example, `secp256k1` generates a 256-bits long
private key.
Currently, a minimum key size of *224 bits* is recommended for EC algorithms.