Skip to content

Commit c6185af

Browse files
authored
Updated the crytpo page, added relevant links and more up to date information
2 parents 0041ed4 + ce48eac commit c6185af

File tree

4 files changed

+35
-9
lines changed

4 files changed

+35
-9
lines changed

.wordlist-en.txt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
AES
2+
AEAD
23
APIT
34
APIs
45
APK
@@ -21,7 +22,9 @@ BOV
2122
BetterEm
2223
Brømsø
2324
CAPEC
25+
CCM
2426
CFB
27+
ChaCha
2528
CISO
2629
CMS
2730
CMSeeK
@@ -73,6 +76,7 @@ Dont's
7376
DotNet
7477
DrHEADer
7578
Dracon
79+
EAX
7680
ECB
7781
ENISA
7882
ESAPI
@@ -82,6 +86,7 @@ EscapeAll
8286
Exploitability
8387
FIPS
8488
Flaxman
89+
GCM
8590
GCP
8691
GDPR
8792
GHSL
@@ -172,6 +177,7 @@ NodeJS
172177
NuGets
173178
OAuth
174179
OBOM
180+
OCB
175181
ODF
176182
OFB
177183
OOXML

.wordlist-es.txt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
AAA
2+
AEAD
23
AES
34
API
45
ARC
@@ -13,8 +14,10 @@ BLT
1314
BOM
1415
Bill
1516
CBC
17+
CCM
1618
CD
1719
CFB
20+
ChaCha
1821
CI
1922
CIA
2023
CRS
@@ -52,13 +55,15 @@ DoS
5255
Dojo
5356
Dragon
5457
Dynamic
58+
EAX
5559
ECB
5660
ESAPI
5761
Elie
5862
Encriptación
5963
Estandard
6064
Framework
6165
Frameworks
66+
GCM
6267
GO
6368
Gasteratos
6469
Gestionabilidad
@@ -242,6 +247,7 @@ monitoreo
242247
navigation
243248
nettacker
244249
newpage
250+
OCB
245251
of
246252
opencre
247253
order

.wordlist-ja.txt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
AES
2+
AEAD
23
APIT
34
APIs
45
APK
@@ -21,7 +22,9 @@ BOV
2122
BetterEm
2223
Brømsø
2324
CAPEC
25+
CCM
2426
CFB
27+
ChaCha
2528
CISO
2629
CMS
2730
CMSeeK
@@ -73,6 +76,7 @@ Dont's
7376
DotNet
7477
DrHEADer
7578
Dracon
79+
EAX
7680
ECB
7781
ENISA
7882
ESAPI
@@ -82,6 +86,7 @@ EscapeAll
8286
Exploitability
8387
FIPS
8488
Flaxman
89+
GCM
8590
GCP
8691
GDPR
8792
GHSL
@@ -172,6 +177,7 @@ NodeJS
172177
NuGets
173178
OAuth
174179
OBOM
180+
OCB
175181
ODF
176182
OFB
177183
OOXML

draft/04-foundations/04-crypto-principles.md

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,8 @@ of cryptography by the development team for the application or system.
3030

3131
Although cryptography was initially restricted primarily to the military and the realm of academia,
3232
cryptography has become ubiquitous in securing software applications.
33-
Common every day uses of cryptography include mobile phones, passwords, SSL VPNs, smart cards, and DVDs.
33+
Common every day uses of cryptography include cloud storage, passwords,
34+
SSL VPNs, smart cards, and end-to-end encrypted messaging apps.
3435
Cryptography has permeated through everyday life, and is heavily used by many web applications.
3536

3637
Cryptography is one of the more advanced topics of information security,
@@ -40,7 +41,7 @@ each with advantages and disadvantages that need to be thoroughly understood by
4041

4142
The proper and accurate implementation of cryptography is extremely critical to its efficacy.
4243
A small mistake in configuration or coding will result in removing most of the protection
43-
and rending the crypto implementation useless.
44+
and rendering the crypto implementation useless.
4445

4546
A good understanding of crypto is required to be able to discern between solid products and snake oil.
4647
The inherent complexity of crypto makes it easy to fall for fantastic claims from vendors about their product.
@@ -50,8 +51,8 @@ If a vendor says "trust us, we have had experts look at this," chances are they
5051
#### Confidentiality
5152

5253
For the purposes of this section, confidentiality is defined as "no unauthorized disclosure of information".
53-
Cryptography addresses this via encryption of either the data at rest or data in transit by
54-
protecting the information from all who do not hold the decryption key.
54+
Cryptography addresses this via encryption of either the [data at rest][cstorage] or data
55+
in transit by protecting the information from all who do not hold the decryption key.
5556
Cryptographic hashes (secure, one way hashes) to prevent passwords from disclosure.
5657

5758
#### Authentication
@@ -63,15 +64,15 @@ Cryptography is central to authentication:
6364
1. to protect the provided corroborating evidence (for example hashing of passwords for subsequent storage)
6465
2. in authentication protocols often use cryptography to either directly authenticate entities
6566
or to exchange credentials in a secure manner
66-
3. to verify the identity one or both parties in exchanging messages,
67+
3. to verify the identity of one or both parties in exchanging messages,
6768
for example identity verification within [Transport Layer Security][tls] (TLS)
6869

6970
OpenID Connect is widely used as an identity layer on top of the OAuth 2.0 protocol,
7071
see the [OAuth 2.0 Protocol][csoauth] Cheat Sheet.
7172

7273
#### Integrity
7374

74-
Integrity ensures that even authorized users have performed no accidental or malicious alternation of information.
75+
Integrity ensures that even authorized users have performed no accidental or malicious alteration of information.
7576
Cryptography can be used to prevent tampering by means of Message Authentication Codes (MACs) or digital signatures.
7677

7778
The term 'message authenticity' refers to ensuring the integrity of information,
@@ -83,7 +84,7 @@ and, if asymmetric encryption is used, can authenticate the sender.
8384

8485
#### Non-repudiation
8586

86-
Non-repudiation of sender ensures that someone sending a message should not be able to deny later that they have sent it.
87+
Non-repudiation ensures that a sender cannot later deny having sent a message.
8788
Non-repudiation of receiver means that the receiver of a message should not be able to deny that they have received it.
8889
Cryptography can be used to provide non-repudiation by providing unforgeable messages or replies to messages.
8990

@@ -142,13 +143,13 @@ Symmetric ciphers come in two main types:
142143
1. Block ciphers, which operate on a block of characters (typically 8 or 16 octets) at a time.
143144
An example of a block cipher is AES
144145
2. Stream ciphers, which operate on a single bit (or occasionally a single byte) at a time.
145-
Examples of a stream ciphers are RC4 (aka, ARC4) and Salsa20
146+
Examples of stream ciphers are ChaCha20 (often paired with Poly1305) and Salsa20
146147

147148
Note that all block ciphers can also operate in 'streaming mode' by selecting the appropriate cipher mode.
148149

149150
#### Cipher Modes
150151

151-
Block ciphers can function in different modes of operations known as "cipher modes".
152+
Block ciphers can function in different modes of operation known as "cipher modes".
152153
This cipher mode algorithmically describes how a cipher operates to repeatedly
153154
apply its encryption or decryption mechanism to a given cipher block.
154155
Cipher modes are important because they have an enormous impact on both the confidentiality
@@ -157,6 +158,11 @@ and the message authenticity of the resulting ciphertext messages.
157158
Almost all cryptographic libraries support the four original DES cipher modes of ECB, CBC (Cipher Block Chaining)
158159
OFB (Output Feedback), and CFB (Cipher Feedback). Many also support CTR (Counter) mode.
159160

161+
Note that the DES modes are insecure and aren't used today.
162+
Modern standards indicate the use of AEAD (Authenticated Encryption with Associated Data) modes.
163+
164+
These work on both block ciphers and stream ciphers, such as GCM, CCM, OCB and EAX.
165+
160166
#### Initialization vector
161167

162168
A cryptographic initialization vector (IV) is a fixed size input to a block cipher's encryption / decryption primitive.
@@ -248,6 +254,7 @@ These protocols prevent adversaries from learning the key or forcing their own k
248254
* [SAML Security][sscs]
249255
* [Secure Product Design][spdcs]
250256
* [User Privacy Protection][uppcs]
257+
* [Cryptographic storage][cstorage]
251258

252259
----
253260

@@ -266,5 +273,6 @@ then [submit an issue][issue0404] or [edit on GitHub][edit0404].
266273
[spdcs]: https://cheatsheetseries.owasp.org/cheatsheets/Secure_Product_Design_Cheat_Sheet
267274
[tls]: https://cheatsheetseries.owasp.org/cheatsheets/Transport_Layer_Security_Cheat_Sheet
268275
[uppcs]: https://cheatsheetseries.owasp.org/cheatsheets/User_Privacy_Protection_Cheat_Sheet
276+
[cstorage]: https://cheatsheetseries.owasp.org/cheatsheets/Cryptographic_Storage_Cheat_Sheet.html
269277

270278
\newpage

0 commit comments

Comments
 (0)