\hypertarget{md4_8h}{\section{include/beecrypt/md4.h File Reference} \label{md4_8h}\index{include/beecrypt/md4.\-h@{include/beecrypt/md4.\-h}} } M\-D4 hash function. {\ttfamily \#include \char`\"{}beecrypt/beecrypt.\-h\char`\"{}}\\* Include dependency graph for md4.\-h\-: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{md4_8h__incl} \end{center} \end{figure} \subsection*{Data Structures} \begin{DoxyCompactItemize} \item struct \hyperlink{structmd4Param}{md4\-Param} \begin{DoxyCompactList}\small\item\em Holds all the parameters necessary for the M\-D4 algorithm. \end{DoxyCompactList}\end{DoxyCompactItemize} \subsection*{Functions} \begin{DoxyCompactItemize} \item void \hyperlink{md4_8h_a7144b4a0983b719d70c658992124ed47}{md4\-Process} (\hyperlink{structmd4Param}{md4\-Param} $\ast$mp) \item int \hyperlink{md4_8h_a19ab71188aa48996bdb963895b3017ff}{md4\-Reset} (\hyperlink{structmd4Param}{md4\-Param} $\ast$mp) \begin{DoxyCompactList}\small\item\em This function resets the parameter block so that it's ready for a new hash. \end{DoxyCompactList}\item int \hyperlink{md4_8h_a4faea6da0894df4fb19814db2e4163b0}{md4\-Update} (\hyperlink{structmd4Param}{md4\-Param} $\ast$mp, const \hyperlink{api_8h_ab8ef12fab634c171394422d0ee8baf94}{byte} $\ast$data, size\-\_\-t size) \begin{DoxyCompactList}\small\item\em This function should be used to pass successive blocks of data to be hashed. \end{DoxyCompactList}\item int \hyperlink{md4_8h_a9dfa04c87f44c7db67d291e67e28146f}{md4\-Digest} (\hyperlink{structmd4Param}{md4\-Param} $\ast$mp, \hyperlink{api_8h_ab8ef12fab634c171394422d0ee8baf94}{byte} $\ast$digest) \begin{DoxyCompactList}\small\item\em This function finishes the current hash computation and copies the digest value into {\itshape digest}. \end{DoxyCompactList}\end{DoxyCompactItemize} \subsection*{Variables} \begin{DoxyCompactItemize} \item const \hyperlink{structhashFunction}{hash\-Function} \hyperlink{md4_8h_af4920272821e37bc2a134390cf297c4b}{md4} \begin{DoxyCompactList}\small\item\em Holds the full A\-P\-I description of the M\-D4 algorithm. \end{DoxyCompactList}\end{DoxyCompactItemize} \subsection{Detailed Description} M\-D4 hash function. \begin{DoxyAuthor}{Author} Jeff Johnson \href{mailto:jbj@rpm5.org}{\tt jbj@rpm5.\-org} Bob Deblier \href{mailto:bob.deblier@telenet.be}{\tt bob.\-deblier@telenet.\-be} \end{DoxyAuthor} \subsection{Function Documentation} \hypertarget{md4_8h_a9dfa04c87f44c7db67d291e67e28146f}{\index{md4.\-h@{md4.\-h}!md4\-Digest@{md4\-Digest}} \index{md4\-Digest@{md4\-Digest}!md4.h@{md4.\-h}} \subsubsection[{md4\-Digest}]{\setlength{\rightskip}{0pt plus 5cm}int md4\-Digest ( \begin{DoxyParamCaption} \item[{{\bf md4\-Param} $\ast$}]{mp, } \item[{{\bf byte} $\ast$}]{digest} \end{DoxyParamCaption} )}}\label{md4_8h_a9dfa04c87f44c7db67d291e67e28146f} This function finishes the current hash computation and copies the digest value into {\itshape digest}. \begin{DoxyParams}{Parameters} {\em mp} & The hash function's parameter block. \\ \hline {\em digest} & The place to store the 16-\/byte digest. \\ \hline \end{DoxyParams} \begin{DoxyRetVals}{Return values} {\em 0} & on success. \\ \hline \end{DoxyRetVals} \hypertarget{md4_8h_a7144b4a0983b719d70c658992124ed47}{\index{md4.\-h@{md4.\-h}!md4\-Process@{md4\-Process}} \index{md4\-Process@{md4\-Process}!md4.h@{md4.\-h}} \subsubsection[{md4\-Process}]{\setlength{\rightskip}{0pt plus 5cm}void md4\-Process ( \begin{DoxyParamCaption} \item[{{\bf md4\-Param} $\ast$}]{mp} \end{DoxyParamCaption} )}}\label{md4_8h_a7144b4a0983b719d70c658992124ed47} \hypertarget{md4_8h_a19ab71188aa48996bdb963895b3017ff}{\index{md4.\-h@{md4.\-h}!md4\-Reset@{md4\-Reset}} \index{md4\-Reset@{md4\-Reset}!md4.h@{md4.\-h}} \subsubsection[{md4\-Reset}]{\setlength{\rightskip}{0pt plus 5cm}int md4\-Reset ( \begin{DoxyParamCaption} \item[{{\bf md4\-Param} $\ast$}]{mp} \end{DoxyParamCaption} )}}\label{md4_8h_a19ab71188aa48996bdb963895b3017ff} This function resets the parameter block so that it's ready for a new hash. \begin{DoxyParams}{Parameters} {\em mp} & The hash function's parameter block. \\ \hline \end{DoxyParams} \begin{DoxyRetVals}{Return values} {\em 0} & on success. \\ \hline \end{DoxyRetVals} \hypertarget{md4_8h_a4faea6da0894df4fb19814db2e4163b0}{\index{md4.\-h@{md4.\-h}!md4\-Update@{md4\-Update}} \index{md4\-Update@{md4\-Update}!md4.h@{md4.\-h}} \subsubsection[{md4\-Update}]{\setlength{\rightskip}{0pt plus 5cm}int md4\-Update ( \begin{DoxyParamCaption} \item[{{\bf md4\-Param} $\ast$}]{mp, } \item[{const {\bf byte} $\ast$}]{data, } \item[{size\-\_\-t}]{size} \end{DoxyParamCaption} )}}\label{md4_8h_a4faea6da0894df4fb19814db2e4163b0} This function should be used to pass successive blocks of data to be hashed. \begin{DoxyParams}{Parameters} {\em mp} & The hash function's parameter block. \\ \hline {\em data} & \\ \hline {\em size} & \\ \hline \end{DoxyParams} \begin{DoxyRetVals}{Return values} {\em 0} & on success. \\ \hline \end{DoxyRetVals} \subsection{Variable Documentation} \hypertarget{md4_8h_af4920272821e37bc2a134390cf297c4b}{\index{md4.\-h@{md4.\-h}!md4@{md4}} \index{md4@{md4}!md4.h@{md4.\-h}} \subsubsection[{md4}]{\setlength{\rightskip}{0pt plus 5cm}md4}}\label{md4_8h_af4920272821e37bc2a134390cf297c4b} Holds the full A\-P\-I description of the M\-D4 algorithm.