
## Review A dedicated reviewer checked the rule description successfully for: - [x] logical errors and incorrect information - [x] information gaps and missing content - [x] text style and tone - [x] PR summary and labels follow [the guidelines](https://github.com/SonarSource/rspec/#to-modify-an-existing-rule) --------- Co-authored-by: hendrik-buchwald-sonarsource <64110887+hendrik-buchwald-sonarsource@users.noreply.github.com>
23 lines
1.0 KiB
Plaintext
23 lines
1.0 KiB
Plaintext
Encryption algorithms are essential for protecting sensitive information and
|
|
ensuring secure communications in a variety of domains. They are used for
|
|
several important reasons:
|
|
|
|
* Confidentiality, privacy, and intellectual property protection
|
|
* Security during transmission or on storage devices
|
|
* Data integrity, general trust, and authentication
|
|
|
|
When selecting encryption algorithms, tools, or combinations, you should also
|
|
consider two things:
|
|
|
|
1. No encryption is unbreakable.
|
|
2. The strength of an encryption algorithm is usually measured by the effort required to crack it within a reasonable time frame.
|
|
|
|
In the mode Cipher Block Chaining (CBC), each block is used as
|
|
cryptographic input for the next block. For this reason, the first block
|
|
requires an initialization vector (IV), also called a "starting variable" (SV).
|
|
|
|
If the same IV is used for multiple encryption sessions or messages, each new encryption of the same
|
|
plaintext input would always produce the same ciphertext output. This may allow
|
|
an attacker to detect patterns in the ciphertext.
|
|
|