fix: add contents and fix broken links

This commit is contained in:
saturneric 2024-08-17 17:00:39 +02:00
parent 6e1e01954e
commit e387f93d75
9 changed files with 92 additions and 50 deletions

View File

@ -61,7 +61,7 @@ the repository and clone it locally. For email contributions, ensure Git is
installed on your machine. installed on your machine.
For setting up local development Environment, you can refer to [this For setting up local development Environment, you can refer to [this
section](../setup-dev-env/). section](/appendix/setup-dev-env).
### Step 2: Making Changes ### Step 2: Making Changes

View File

@ -59,15 +59,6 @@ cd GpgFrontend
This step ensures that line endings are consistent across different operating This step ensures that line endings are consistent across different operating
systems. systems.
- **For Windows:**
```bash
git config --global core.autocrlf false
git config --global core.eol lf
```
- **For macOS:**
```bash ```bash
git config --global core.autocrlf false git config --global core.autocrlf false
git config --global core.eol lf git config --global core.eol lf
@ -82,7 +73,7 @@ sudo apt-get update
sudo apt-get install -y build-essential cmake ninja-build libarchive-dev libssl-dev libgpgme-dev sudo apt-get install -y build-essential cmake ninja-build libarchive-dev libssl-dev libgpgme-dev
``` ```
- **On macOS (11 and 12):** - **On macOS 12 or later:**
```bash ```bash
brew install cmake openssl@3 ninja libarchive gpgme brew install cmake openssl@3 ninja libarchive gpgme

View File

@ -9,9 +9,7 @@ contributions to achieve this goal. Fortunately, translation work does not
require an understanding of difficult technology. Volunteers simply need to use require an understanding of difficult technology. Volunteers simply need to use
their skills to get the job done and make it accessible to everyone. their skills to get the job done and make it accessible to everyone.
## Work Offline ## What you need to know about translation work
### What you need to know about translation work
From v2.1.2, GpgFrontend uses the Qt translation support library [Qt From v2.1.2, GpgFrontend uses the Qt translation support library [Qt
Linguist](https://doc.qt.io/qt-6/qtlinguist-index.html) in the Qt project. Linguist](https://doc.qt.io/qt-6/qtlinguist-index.html) in the Qt project.
@ -19,7 +17,7 @@ Before starting everything, you need to know something about this library. After
you are sure about the content of the document, you can first try to see how you are sure about the content of the document, you can first try to see how
GpgFrontend uses the tools provided by this library. GpgFrontend uses the tools provided by this library.
### About translation files ## About translation files
1. Download or clone source code 1. Download or clone source code
[HERE](https://github.com/saturneric/GpgFrontend) [HERE](https://github.com/saturneric/GpgFrontend)
@ -27,13 +25,13 @@ GpgFrontend uses the tools provided by this library.
3. Add a new language: Create a new file; see [locale codes](https://saimana.com/list-of-country-locale-code/). 3. Add a new language: Create a new file; see [locale codes](https://saimana.com/list-of-country-locale-code/).
4. To edit or update an existing language, navigate to the path `resource/lfs/locale/ts`. 4. To edit or update an existing language, navigate to the path `resource/lfs/locale/ts`.
### Before starting your work ## Before starting your work
Before starting your work, it is no longer necessary to contact me. Please Before starting your work, it is no longer necessary to contact me. Please
ensure you have a thorough understanding of Qt Linguist and its usage. You can ensure you have a thorough understanding of Qt Linguist and its usage. You can
directly edit the files, or use the Qt Linguist GUI Tool for editing. directly edit the files, or use the Qt Linguist GUI Tool for editing.
### Updates to Translation Work Process ## Updates to Translation Work Process
- **For correcting existing translations**: You can directly modify the ts files - **For correcting existing translations**: You can directly modify the ts files
and then send them to me via email. and then send them to me via email.
@ -42,7 +40,7 @@ directly edit the files, or use the Qt Linguist GUI Tool for editing.
are unsure how to use these tools, you can email me, and I will provide you are unsure how to use these tools, you can email me, and I will provide you
with the appropriate ts file. with the appropriate ts file.
### Hand in your work ## Hand in your work
You can submit your great work in two ways: You can submit your great work in two ways:

View File

@ -37,33 +37,84 @@ and ECDH. Heres a detailed comparison to help you make an informed decision:
- **Security**: Suitable for digital signatures, but less versatile and not as - **Security**: Suitable for digital signatures, but less versatile and not as
widely supported as RSA and ECDSA. widely supported as RSA and ECDSA.
## ECDSA (Elliptic Curve Digital Signature Algorithm) ## ElGamal Encryption (ELG-E)
- **Key Characteristics**: ECDSA is based on elliptic curve cryptography (ECC) - **Key Characteristics**: ElGamal encryption (ELG-E) is an asymmetric key
and provides equivalent security to RSA with much shorter key lengths. encryption algorithm used for public-key cryptography. It is based on the
- **Key Sizes**: Commonly uses 224-bit keys for the same security level as Diffie-Hellman key exchange and provides both encryption and digital
2048-bit RSA keys. Higher security levels can be achieved with 256, 384, or signatures.
521-bit keys. - **Key Sizes**: Like DSA, ElGamal typically uses large key sizes, often 2048
- **Use Cases**: Used for digital signatures, particularly in constrained bits or more, to ensure a high level of security.
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) - **Use Cases**: ElGamal is used in encryption and key exchange protocols. It is
particularly valued for its ability to generate different ciphertexts for the
same plaintext each time it is encrypted, providing semantic security.
However, it is less commonly used than RSA or ECC-based methods.
- **Key Characteristics**: ECDH is used for key exchange based on elliptic curve - **Performance**: ElGamal encryption is computationally intensive, especially
cryptography. It is commonly paired with ECDSA for secure communications. when compared to RSA or ECC algorithms. The encryption process is relatively
- **Key Sizes**: Similar to ECDSA, ECDH uses shorter keys for equivalent slow, and the resulting ciphertexts are significantly larger than the
security levels (e.g., 256-bit ECDH for 128-bit security). plaintext.
- **Use Cases**: Ideal for establishing shared secrets over an insecure channel,
often used in conjunction with ECDSA for encryption and authentication. - **Security**: ElGamal offers strong security, especially when large key sizes
- **Performance**: Efficient in terms of computational power and key size. are used. However, its performance drawbacks and the complexity of managing
Suitable for applications requiring secure key exchange. larger ciphertexts have limited its widespread adoption.
- **Security**: Provides robust security with smaller keys, making it efficient
for both performance and security. ## Understanding ECDH and ECDSA
### Overview of Elliptic Curve Cryptography (ECC)
Elliptic Curve Cryptography (ECC) is a powerful cryptographic method that
provides robust security with relatively small key sizes, making it ideal for
environments where computational power and storage are limited. ECC is commonly
used in two main algorithms: ECDH and ECDSA.
### ECDH and ECDSA: Core Differences
- **ECDH (Elliptic Curve Diffie-Hellman)** is a key exchange algorithm that
enables two parties to securely establish a shared secret over an insecure
channel. This shared secret can then be used for encryption. ECDH is not
directly used for encryption or signing; instead, it is crucial for securely
setting up encryption keys.
- **ECDSA (Elliptic Curve Digital Signature Algorithm)** is used for creating
digital signatures, allowing one party to sign a message and another to verify
its authenticity. ECDSA ensures that the message has not been tampered with
and that it originates from the claimed sender.
### Common ECC Algorithms and Their Use Cases
- **NIST Curves (P-256, P-384, P-521)**: These curves, standardized by the
National Institute of Standards and Technology (NIST), are widely used in
secure communication protocols. For example, **ECDH NIST P-256** provides
approximately 128-bit security, making it suitable for most encryption needs,
while **ECDSA NIST P-256** is often used for digital signatures. As the key
size increases (e.g., P-384, P-521), so does the security level, with P-521
offering approximately 256-bit security, ideal for applications requiring the
highest level of protection.
- **ED25519 and ED448**: **ED25519** is favored for its speed and security,
providing 128-bit security and commonly used in modern applications like
secure messaging (e.g., Signal) and blockchain technologies. **ECDSA ED25519**
is excellent for generating fast and secure digital signatures. **ED448**, on
the other hand, offers higher security (224-bit) and is suitable for
environments that require even stronger protection, although at a slight
performance cost.
- **BrainPool Curves (P-256, P-384, P-512)**: These curves are alternatives to
the NIST standards, offering similar security levels but with different
parameters. **ECDH BrainPool P-256** and **ECDSA BrainPool P-256** are used
when there is a preference for non-NIST curves, especially in regions or
industries where alternative cryptographic standards are required. The
BrainPool curves maintain the balance between security and performance across
different key sizes.
- **CV25519 and X448**: **ECDH CV25519** is a counterpart to ED25519 but is used
specifically for key exchange. It provides approximately 128-bit security and
is widely used for its efficiency in secure communications. **ECDH X448** is
the higher-security variant (224-bit security) and is appropriate for
scenarios demanding more robust encryption, albeit with higher computational
costs.
## Algorithm Flexibility in Primary Keys and Subkeys ## Algorithm Flexibility in Primary Keys and Subkeys

View File

@ -202,6 +202,8 @@ primary keys may be restricted to certain secure algorithms for signing, subkeys
can employ diverse algorithms optimized for encryption, like ECDH, ensuring can employ diverse algorithms optimized for encryption, like ECDH, ensuring
efficient and secure operations tailored to the user's needs. efficient and secure operations tailored to the user's needs.
For more Details: [Comparison of Cryptographic Algorithms](/extra/algorithms-comparison)
**Primary Key Supported Algorithms:** **Primary Key Supported Algorithms:**
- RSA - RSA

View File

@ -132,7 +132,7 @@ this document to learn how to set the default key server.
This is an advanced function provided by GpgFrontend, it can synchronize all This is an advanced function provided by GpgFrontend, it can synchronize all
your local public key information at one time, if you want to know, please read your local public key information at one time, if you want to know, please read
[this document](../features/sync-all-public-keys.md). [this document](/advanced/sync-all-public-keys).
## Key Server Related Settings ## Key Server Related Settings

View File

@ -40,8 +40,8 @@ This part is the information of the primary key of the key pair. The primary key
is very crucial because without it, you cannot perform related management is very crucial because without it, you cannot perform related management
operations like adding and revoking sub-keys (similar to not being able to open operations like adding and revoking sub-keys (similar to not being able to open
the key ring). Let's introduce the information of the primary key separately the key ring). Let's introduce the information of the primary key separately
below. If you want to learn more, see the [Basic Concepts](../basic-concepts.md) below. If you want to learn more, see the [Fundamental
section. Concepts](/guides/fundamental-concepts) section.
The absence of the master key means that the private key of the master key does The absence of the master key means that the private key of the master key does
not exist, but this doesn't mean that neither the public key nor the private key not exist, but this doesn't mean that neither the public key nor the private key

View File

@ -6,7 +6,7 @@ sidebar:
GpgFrontend is available for download through multiple channels. For more GpgFrontend is available for download through multiple channels. For more
detailed instructions on installation and getting started, please refer to the detailed instructions on installation and getting started, please refer to the
[Getting Started Guide](../getting-started/). [Getting Started Guide](/overview/getting-started/).
--- ---

View File

@ -17,7 +17,7 @@ messages. Users can manage and generate key pairs, encrypt files and emails, and
sign their communications for added security. sign their communications for added security.
**How can I obtain and start using GpgFrontend?** You can download the latest **How can I obtain and start using GpgFrontend?** You can download the latest
version of GpgFrontend from [GpgFrontend's Downloads Page](../downloads/) and version of GpgFrontend from [GpgFrontend's Downloads Page](/overview/downloads) and
choose the installation method for your platform. choose the installation method for your platform.
## OpenPGP and GnuPG Explained ## OpenPGP and GnuPG Explained
@ -63,13 +63,13 @@ this based on your operating system:
### Additional Assistance ### Additional Assistance
- For more detailed guidance, refer to the quick start manual available at - For more detailed guidance, refer to the quick start manual available at
[Getting Started Guide](../getting-started/). [Getting Started Guide](/overview/getting-started).
## Reporting Bugs and Contributing ## Reporting Bugs and Contributing
**Found a bug?** If you encounter any issues with GpgFrontend, please report **Found a bug?** If you encounter any issues with GpgFrontend, please report
them via the GitHub repository. You can also contact me directly if you're not them via the GitHub repository. You can also contact me directly if you're not
on GitHub; see the [Contact](../contact/) section for details. on GitHub; see the [Contact](/overview/contact) section for details.
**Interested in contributing?** Feel free to modify GpgFrontend's code and **Interested in contributing?** Feel free to modify GpgFrontend's code and
submit a Pull Request with your enhancements. You can also send patches via submit a Pull Request with your enhancements. You can also send patches via