From cdbfe2ff72b2e137d5972900c7f7fc5791b3d830 Mon Sep 17 00:00:00 2001
From: bt3gl <1130416+bt3gl@users.noreply.github.com>
Date: Sat, 8 Oct 2022 12:37:36 -0700
Subject: [PATCH] =?UTF-8?q?=F0=9F=A5=90=20keccak?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
cryptography/keccak.md | 52 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)
create mode 100644 cryptography/keccak.md
diff --git a/cryptography/keccak.md b/cryptography/keccak.md
new file mode 100644
index 0000000..618ef39
--- /dev/null
+++ b/cryptography/keccak.md
@@ -0,0 +1,52 @@
+## 🥐 keccak
+
+
+
+### hashing
+
+
+
+
+* hashing is a mathematical op converting an input message into a digest
+* the transformation of a str of characters into a (usually shorter) fixed-length value or key that represents the original string.
+* used to determine the integrity of a message, fast data retrieval and to encrypt/decrypt digital signatures
+* collisions found: MD5 (128, 1992), SHA-1 (160, 1995)
+* no collisions found: SHA-2 (224/256/384/512, 2001)
+
+
+
+### secure hash algorithm (SHA)
+
+
+
+* family of cryptographic hash functions by NIST
+* preprocessing: padding the data for blocking (fixed size message blocks)
+
+
+
+### SHA-3/keccak
+
+
+
+* 2012 as the winner of the NIST hash function competition
+* based on the sponge function: variable input and output length
+* parameters (decides the strength):
+ * r bits: rate, defines speed
+ * c bits: capacity, defines the security level
+* no key schedule, instead round constants
+* state us 5x5x64 bits block
+* the rho module rotates each 64-bit element by a triangular number: 0, 1, 3, 6, 10, 15...
+* the pi module permutes the 64-bit elements
+* the chi module adds a non-linear aspect to the permutation round
+* the iota module breaks up any symmetry caused by the other modules, through XORing one of the array elements to a round constant
+
+
+
+##### application & strength
+
+
+
+* high level of parallelism
+* flexibility, bit interleaving
+* suited for protection against side-channel attack
+