Skip to content

Commit

Permalink
docs: Content updates.
Browse files Browse the repository at this point in the history
  • Loading branch information
skyzyx committed Dec 13, 2024
1 parent 1797702 commit 6172d50
Show file tree
Hide file tree
Showing 4 changed files with 79 additions and 2 deletions.
2 changes: 2 additions & 0 deletions content/learning/tls/ccm.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,8 @@ learn_more:
[CCM] mode is a block cipher mode that combines counter mode for confidentiality with cipher block chaining message authentication code (CBC-MAC) for authentication. It is designed for block ciphers with a 128-bit block length and requires careful nonce selection to avoid security vulnerabilities. CCM mode is used in various standards like IEEE 802.11i, IPsec, and TLS 1.2 for authenticated encryption.

CCM modes of operation are slower than the (preferred) [GCM]({{% relref "GCM" %}}) modes.

## Information

| Field | Value |
Expand Down
51 changes: 51 additions & 0 deletions content/learning/tls/chacha20.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
---
title: ChaCha20
description: ✅ Recommended encryption algorithm
layout: learn-single

tls_part: encryption-algo

learn_more:
- text: 'The design of Chacha20'
url: https://loup-vaillant.fr/tutorials/chacha20-design

- text: 'ChaCha20-Poly1305 Cipher Suites for Transport Layer Security (TLS)'
url: https://datatracker.ietf.org/doc/html/rfc7905
source: IETF

- text: 'ChaCha20 and Poly1305 for IETF Protocols'
url: https://datatracker.ietf.org/doc/html/rfc8439
source: IETF

- text: 'RFC 7539-compliant implementation of the ChaCha20 stream cypher algorithm'
url: https://github.com/marcizhu/ChaCha20
source: GitHub

- text: 'ChaCha20-Poly1305'
url: https://en.wikipedia.org/wiki/ChaCha20-Poly1305
source: Wikipedia

---

## Summary

[ChaCha20], a variant of [Salsa20], is a stream cipher utilizing add-rotate-XOR operations for security and efficiency. It offers a unique feature of efficiently seeking to any position in the key stream and has been adopted in various internet standards. Over _Salsa20_, it improves diffusion and performance, making it a more secure choice for cryptographic applications.

> [!TIP]
> This is a recommended algorithm.
## Information

| Field | Value |
|--------------|-------------------------------------------|
| Kind | {{% param-kind %}} |
| Invented | 2008 |
| Cracked | - |
| Related tech | [Linux kernel], [OpenSSH], [QUIC], [SPDY] |

[ChaCha20]: https://en.wikipedia.org/wiki/Salsa20#ChaCha_variant
[Linux kernel]: https://lwn.net/Articles/686033/
[OpenSSH]: https://en.wikipedia.org/wiki/OpenSSH
[QUIC]: https://en.wikipedia.org/wiki/QUIC
[Salsa20]: https://en.wikipedia.org/wiki/Salsa20
[SPDY]: https://en.wikipedia.org/wiki/SPDY
26 changes: 26 additions & 0 deletions content/learning/tls/idea.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
---
title: International Data Encryption Algorithm (IDEA)
description: ❌ Vulnerable encryption algorithm
layout: learn-single

tls_part: encryption-algo

---

## Summary

[IDEA], a symmetric-key block cipher, was designed as a replacement for [DES]({{% relref "DES" %}}).

IDEA is slower and less secure than modern encryption algorithms. While IDEA was once considered secure, it has been broken using meet-in-the-middle and narrow-bicliques attacks, reducing its cryptographic strength.

Any cipher suite with `IDEA` in the name should be avoided.

## Information

| Field | Value |
|----------|--------------------|
| Kind | {{% param-kind %}} |
| Invented | 1990 |
| Cracked | 2011 |

[IDEA]: https://en.wikipedia.org/wiki/International_Data_Encryption_Algorithm
2 changes: 0 additions & 2 deletions list.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
# Enc
chacha20.md
idea.md
sm4.md

# Hash
Expand Down

0 comments on commit 6172d50

Please sign in to comment.