\section{Introduction}

\texttt{libft\_ssl} is a C library implementing cryptographic hash functions
from scratch. A cryptographic hash function maps an arbitrary-length input to a
fixed-size digest. This operation is deterministic and one-way: it is
computationally infeasible to recover the original input from its digest.

The library currently implements the following algorithms:

\begin{itemize}
    \item \textbf{MD5} - produces a 128-bit digest.
    \item \textbf{SHA-256} - produces a 256-bit digest.
    \item \textbf{Whirlpool} - produces a 512-bit digest.
\end{itemize}

These functions are commonly used for data integrity verification, digital
signatures, and \textbf{M}essage \textbf{A}uthentication \textbf{C}ode\textbf{s} (MACs).
