@@ -14,8 +14,10 @@ <h2>Why is this an issue?</h2>
1414</ ol >
1515< p > For these reasons, as soon as cryptography is included in a project, it is important to choose encryption algorithms that are considered strong and
1616secure by the cryptography community.</ p >
17- < p > For AES, the weakest modes are CBC (Cipher Block Chaining) and ECB (Electronic Codebook) because they are either vulnerable to padding oracles or
18- do not provide authentication mechanisms.</ p >
17+ < p > For AES, the weakest mode is ECB (Electronic Codebook). Repeated blocks of data are encrypted to the same value, making them easy to identify and
18+ reducing the difficulty of recovering the original cleartext.</ p >
19+ < p > Unauthenticated modes such as CBC (Cipher Block Chaining) may be used but are prone to attacks that manipulate the ciphertext. They must be used
20+ with caution.</ p >
1921< p > For RSA, the weakest algorithms are either using it without padding or using the PKCS1v1.5 padding scheme.</ p >
2022< h3 > What is the potential impact?</ h3 >
2123< p > The cleartext of an encrypted message might be recoverable. Additionally, it might be possible to modify the cleartext of an encrypted message.</ p >
@@ -58,7 +60,8 @@ <h4>Compliant solution</h4>
5860< h3 > How does this work?</ h3 >
5961< p > As a rule of thumb, use the cryptographic algorithms and mechanisms that are considered strong by the cryptographic community.</ p >
6062< p > Appropriate choices are currently the following.</ p >
61- < h4 > For AES: Use Galois/Counter mode (GCM)</ h4 >
63+ < h4 > For AES: use authenticated encryption modes</ h4 >
64+ < p > The best-known authenticated encryption mode for AES is Galois/Counter mode (GCM).</ p >
6265< p > GCM mode combines encryption with authentication and integrity checks using a cryptographic hash function and provides both confidentiality and
6366authenticity of data.</ p >
6467< p > Other similar modes are:</ p >
@@ -69,8 +72,8 @@ <h4>For AES: Use Galois/Counter mode (GCM)</h4>
6972 < li > IAPM: < code > Integer Authenticated Parallelizable Mode</ code > </ li >
7073 < li > OCB: < code > Offset Codebook Mode</ code > </ li >
7174</ ul >
72- < p > It is also possible to use AES-CBC with HMAC for integrity checks. However, it</ p >
73- < p > is considered more straightforward to use AES-GCM directly instead.</ p >
75+ < p > It is also possible to use AES-CBC with HMAC for integrity checks. However, it is considered more straightforward to use AES-GCM directly
76+ instead.</ p >
7477< h4 > For RSA: use the OAEP scheme</ h4 >
7578< p > The Optimal Asymmetric Encryption Padding scheme (OAEP) adds randomness and a secure hash function that strengthens the regular inner workings of
7679RSA.</ p >
@@ -147,7 +150,8 @@ <h4>Compliant solution</h4>
147150< h3 > How does this work?</ h3 >
148151< p > As a rule of thumb, use the cryptographic algorithms and mechanisms that are considered strong by the cryptographic community.</ p >
149152< p > Appropriate choices are currently the following.</ p >
150- < h4 > For AES: Use Galois/Counter mode (GCM)</ h4 >
153+ < h4 > For AES: use authenticated encryption modes</ h4 >
154+ < p > The best-known authenticated encryption mode for AES is Galois/Counter mode (GCM).</ p >
151155< p > GCM mode combines encryption with authentication and integrity checks using a cryptographic hash function and provides both confidentiality and
152156authenticity of data.</ p >
153157< p > Other similar modes are:</ p >
@@ -158,8 +162,8 @@ <h4>For AES: Use Galois/Counter mode (GCM)</h4>
158162 < li > IAPM: < code > Integer Authenticated Parallelizable Mode</ code > </ li >
159163 < li > OCB: < code > Offset Codebook Mode</ code > </ li >
160164</ ul >
161- < p > It is also possible to use AES-CBC with HMAC for integrity checks. However, it</ p >
162- < p > is considered more straightforward to use AES-GCM directly instead.</ p >
165+ < p > It is also possible to use AES-CBC with HMAC for integrity checks. However, it is considered more straightforward to use AES-GCM directly
166+ instead.</ p >
163167< h4 > For RSA: use the OAEP scheme</ h4 >
164168< p > The Optimal Asymmetric Encryption Padding scheme (OAEP) adds randomness and a secure hash function that strengthens the regular inner workings of
165169RSA.</ p >
@@ -198,7 +202,8 @@ <h4>Compliant solution</h4>
198202< h3 > How does this work?</ h3 >
199203< p > As a rule of thumb, use the cryptographic algorithms and mechanisms that are considered strong by the cryptographic community.</ p >
200204< p > Appropriate choices are currently the following.</ p >
201- < h4 > For AES: Use Galois/Counter mode (GCM)</ h4 >
205+ < h4 > For AES: use authenticated encryption modes</ h4 >
206+ < p > The best-known authenticated encryption mode for AES is Galois/Counter mode (GCM).</ p >
202207< p > GCM mode combines encryption with authentication and integrity checks using a cryptographic hash function and provides both confidentiality and
203208authenticity of data.</ p >
204209< p > Other similar modes are:</ p >
@@ -209,8 +214,8 @@ <h4>For AES: Use Galois/Counter mode (GCM)</h4>
209214 < li > IAPM: < code > Integer Authenticated Parallelizable Mode</ code > </ li >
210215 < li > OCB: < code > Offset Codebook Mode</ code > </ li >
211216</ ul >
212- < p > It is also possible to use AES-CBC with HMAC for integrity checks. However, it</ p >
213- < p > is considered more straightforward to use AES-GCM directly instead.</ p >
217+ < p > It is also possible to use AES-CBC with HMAC for integrity checks. However, it is considered more straightforward to use AES-GCM directly
218+ instead.</ p >
214219< h4 > For RSA: use the OAEP scheme</ h4 >
215220< p > The Optimal Asymmetric Encryption Padding scheme (OAEP) adds randomness and a secure hash function that strengthens the regular inner workings of
216221RSA.</ p >
@@ -237,7 +242,8 @@ <h4>Compliant solution</h4>
237242< h3 > How does this work?</ h3 >
238243< p > As a rule of thumb, use the cryptographic algorithms and mechanisms that are considered strong by the cryptographic community.</ p >
239244< p > Appropriate choices are currently the following.</ p >
240- < h4 > For AES: Use Galois/Counter mode (GCM)</ h4 >
245+ < h4 > For AES: use authenticated encryption modes</ h4 >
246+ < p > The best-known authenticated encryption mode for AES is Galois/Counter mode (GCM).</ p >
241247< p > GCM mode combines encryption with authentication and integrity checks using a cryptographic hash function and provides both confidentiality and
242248authenticity of data.</ p >
243249< p > Other similar modes are:</ p >
@@ -248,8 +254,8 @@ <h4>For AES: Use Galois/Counter mode (GCM)</h4>
248254 < li > IAPM: < code > Integer Authenticated Parallelizable Mode</ code > </ li >
249255 < li > OCB: < code > Offset Codebook Mode</ code > </ li >
250256</ ul >
251- < p > It is also possible to use AES-CBC with HMAC for integrity checks. However, it</ p >
252- < p > is considered more straightforward to use AES-GCM directly instead.</ p >
257+ < p > It is also possible to use AES-CBC with HMAC for integrity checks. However, it is considered more straightforward to use AES-GCM directly
258+ instead.</ p >
253259< h4 > For RSA: use the OAEP scheme</ h4 >
254260< p > The Optimal Asymmetric Encryption Padding scheme (OAEP) adds randomness and a secure hash function that strengthens the regular inner workings of
255261RSA.</ p >
0 commit comments