This commit is contained in:
eneller
2026-07-02 14:21:42 +02:00
parent 571419c421
commit 6d56459eea

View File

@@ -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), 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. 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: 16-round feistel network in a criss-cross pattern as follows:
\begin{itemize} \begin{itemize}
\item derive a 48-Bit \textit{round key} from the original 64-Bit \textit{main key} using a fixed \textit{key schedule}. \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, 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. 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} \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} \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, 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. as simply increasing the key length is a viable mitigation.
\cite{rijndael,enwiki:aes} \cite{rijndael,enwiki:aes}