aboutsummaryrefslogtreecommitdiffstats
path: root/src/content/docs/extra/algorithms-comparison.md
diff options
context:
space:
mode:
authorsaturneric <[email protected]>2024-06-14 20:11:13 +0000
committersaturneric <[email protected]>2024-06-14 20:11:13 +0000
commit0d806fc1d0bea83b89c5af9910e6203b76cb939d (patch)
treef65ea4a756ea36545f483629f492fafc87477459 /src/content/docs/extra/algorithms-comparison.md
parentMerge branch 'main' of https://github.com/saturneric/GpgFrontend-Manual (diff)
downloadManual-0d806fc1d0bea83b89c5af9910e6203b76cb939d.tar.gz
Manual-0d806fc1d0bea83b89c5af9910e6203b76cb939d.zip
feat: fit documents to v2.1.3
Diffstat (limited to 'src/content/docs/extra/algorithms-comparison.md')
-rw-r--r--src/content/docs/extra/algorithms-comparison.md84
1 files changed, 84 insertions, 0 deletions
diff --git a/src/content/docs/extra/algorithms-comparison.md b/src/content/docs/extra/algorithms-comparison.md
new file mode 100644
index 0000000..37308b5
--- /dev/null
+++ b/src/content/docs/extra/algorithms-comparison.md
@@ -0,0 +1,84 @@
+---
+title: Comparison of Cryptographic Algorithms
+sidebar:
+ label: Comparison of Algorithms
+---
+
+When choosing cryptographic algorithms for key management and data security,
+it's important to understand the differences and use cases for RSA, DSA, ECDSA,
+and ECDH. Here’s a detailed comparison to help you make an informed decision:
+
+## RSA (Rivest-Shamir-Adleman)
+
+- **Key Characteristics**: RSA is one of the most widely used public key
+ algorithms. It was introduced in 1977 and is based on the difficulty of
+ factoring large prime numbers.
+- **Key Sizes**: Typically, RSA keys are 2048 bits or larger. For higher
+ security, keys up to 4096 bits are used.
+- **Use Cases**: RSA is versatile and can be used for both encryption and
+ digital signatures. It is widely supported in legacy systems and remains a
+ standard for SSL/TLS certificates.
+- **Performance**: RSA operations, particularly key generation and decryption,
+ can be slower compared to elliptic curve algorithms due to larger key sizes.
+- **Security**: Provides strong security, but larger key sizes are required as
+ computational power increases.
+
+## DSA (Digital Signature Algorithm)
+
+- **Key Characteristics**: DSA, introduced by NIST in 1991, is primarily used
+ for digital signatures and is not suitable for encryption.
+- **Key Sizes**: Typically uses 1024 to 3072-bit keys, with a recommended
+ minimum of 2048 bits for new deployments.
+- **Use Cases**: Mainly used for digital signatures in various security
+ protocols. It is less common than RSA and ECDSA.
+- **Performance**: Faster at generating keys compared to RSA but slower in
+ verification. Requires a secure random number for each signature, which if
+ compromised, can lead to vulnerabilities.
+- **Security**: Suitable for digital signatures, but less versatile and not as
+ widely supported as RSA and ECDSA.
+
+## ECDSA (Elliptic Curve Digital Signature Algorithm)
+
+- **Key Characteristics**: ECDSA is based on elliptic curve cryptography (ECC)
+ and provides equivalent security to RSA with much shorter key lengths.
+- **Key Sizes**: Commonly uses 224-bit keys for the same security level as
+ 2048-bit RSA keys. Higher security levels can be achieved with 256, 384, or
+ 521-bit keys.
+- **Use Cases**: Used for digital signatures, particularly in constrained
+ environments like mobile devices and IoT due to its efficiency.
+- **Performance**: More efficient and faster than RSA for the same security
+ level. Requires less computational power and bandwidth.
+- **Security**: Offers strong security with smaller key sizes, making it
+ suitable for environments with limited
+ resources.
+
+## ECDH (Elliptic Curve Diffie-Hellman)
+
+- **Key Characteristics**: ECDH is used for key exchange based on elliptic curve
+ cryptography. It is commonly paired with ECDSA for secure communications.
+- **Key Sizes**: Similar to ECDSA, ECDH uses shorter keys for equivalent
+ security levels (e.g., 256-bit ECDH for 128-bit security).
+- **Use Cases**: Ideal for establishing shared secrets over an insecure channel,
+ often used in conjunction with ECDSA for encryption and authentication.
+- **Performance**: Efficient in terms of computational power and key size.
+ Suitable for applications requiring secure key exchange.
+- **Security**: Provides robust security with smaller keys, making it efficient
+ for both performance and security.
+
+## Algorithm Flexibility in Primary Keys and Subkeys
+
+Primary keys are typically limited to RSA, DSA, and ECDSA due to their critical
+role in establishing trust and signing other keys. These algorithms are
+well-established and extensively audited, providing robust security for identity
+verification.
+
+Subkeys, however, are often used for specific operational tasks such as
+encryption and authentication. This allows them to utilize a broader range of
+algorithms like ECDH, which is optimized for key exchange. The flexibility in
+choosing algorithms for subkeys enhances their efficiency and allows
+cryptographic operations to be tailored to specific use cases, providing both
+performance and security benefits.
+
+By understanding the strengths and appropriate use cases for each algorithm, you
+can choose the best cryptographic solution for your needs, ensuring both
+security and efficiency in your operations.