From 6d56459eea0d56a3d6eb6d1f118d875a354ae1c5 Mon Sep 17 00:00:00 2001 From: eneller Date: Thu, 2 Jul 2026 14:21:42 +0200 Subject: [PATCH] crypto --- crypto.tex | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/crypto.tex b/crypto.tex index e3a90d7..7ea807c 100644 --- a/crypto.tex +++ b/crypto.tex @@ -175,7 +175,7 @@ Extended versions of \acrshort{DES} such as Triple-DES (or 3DES) are still in us In \acrshort{DES}, the message is encrypted in 16 rounds, as well as an initial and final permutation (IP and FP), which are inverses. IP and FP were included to facilitate hardware loading of blocks. -After splitting the 64-Bit message into two 32-Bit blocks left (L) and right (R), the two halves are processed in the +After splitting the 64-Bit message into two . 2-Bit blocks left (L) and right (R), the two halves are processed in the 16-round feistel network in a criss-cross pattern as follows: \begin{itemize} \item derive a 48-Bit \textit{round key} from the original 64-Bit \textit{main key} using a fixed \textit{key schedule}. @@ -195,14 +195,21 @@ the underlying algorithm supports any key length that is a multiple of 32. Developed as Rijndael, contrary to its predecessor it does not employ a Feistel network, though it does use the familiar pattern of substitution and permutation boxes. -The key size used also specifies the number of rounds, as a round key is derived for each transformation round. +The key size used also specifies the number of rounds, as a round key is derived for each transformation round, +resulting in 10 (14) rounds for 128-bit (256-bit) keys. +First, the round keys are derived and an initial \verb|AddRoundKey| is performed, before iterating over the following steps with +a 4x4 byte array termed \textit{the state}: \begin{enumerate} - \item + \item \verb|SubBytes| substitutes 8-bit blocks according to a lookup table + \item \verb|ShiftRows| transposes the last 3 rows of the state + \item \verb|MixColumns| linearly mixes the columns + \item \verb|AddRoundKey| adds the round key to the state \end{enumerate} +Then, a final round is performed that only consists of SubBytes, ShiftRows, AddRoundKey. Though minor theoretical attacks exist, such as reducing the key search space by a factor of 4, -the algorithm can be considered secure even to quantum-computing supported attacks halving the key space, +the algorithm can be considered secure even to quantum-computing supported attacks only halving the key space, as simply increasing the key length is a viable mitigation. \cite{rijndael,enwiki:aes}