rspec/rules/S4423/rationale.adoc
Loris S 1a84c758e1
Modify S4423: Learn-As-You-Code Migration (#2097)
Co-authored-by: hendrik-buchwald-sonarsource <64110887+hendrik-buchwald-sonarsource@users.noreply.github.com>
2023-06-20 15:36:01 +00:00

29 lines
1.3 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.
For these reasons, as soon as cryptography is included in a project, it is
important to choose encryption algorithms that are considered strong and secure
by the cryptography community.
To provide communication security over a network, SSL and TLS are generally
used. However, it is important to note that the following protocols are all
considered weak by the cryptographic community, and are officially deprecated:
* SSL versions 1.0, 2.0 and 3.0
* TLS versions 1.0 and 1.1
When these unsecured protocols are used, it is best practice to expect a breach:
that a user or organization with malicious intent will perform mathematical
attacks on this data after obtaining it by other means.