\hypertarget{sha384_8h}{ \section{include/beecrypt/sha384.h File Reference} \label{sha384_8h}\index{include/beecrypt/sha384.h@{include/beecrypt/sha384.h}} } SHA-\/384 hash function, headers. {\ttfamily \#include \char`\"{}beecrypt/beecrypt.h\char`\"{}}\par Include dependency graph for sha384.h: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=210pt]{sha384_8h__incl} \end{center} \end{figure} \subsection*{Data Structures} \begin{DoxyCompactItemize} \item struct \hyperlink{structsha384Param}{sha384Param} \begin{DoxyCompactList}\small\item\em Holds all the parameters necessary for the SHA-\/384 algorithm. \item\end{DoxyCompactList}\end{DoxyCompactItemize} \subsection*{Functions} \begin{DoxyCompactItemize} \item void \hyperlink{sha384_8h_aaf23053c0063774f4148d7163ba7a54e}{sha384Process} (\hyperlink{structsha384Param}{sha384Param} $\ast$sp) \begin{DoxyCompactList}\small\item\em This function performs the core of the SHA-\/384 hash algorithm; it processes a block of 128 bytes. \item\end{DoxyCompactList}\item int \hyperlink{sha384_8h_ab1dac6fddc17b3c1b345884a48a6eb7e}{sha384Reset} (\hyperlink{structsha384Param}{sha384Param} $\ast$sp) \begin{DoxyCompactList}\small\item\em This function resets the parameter block so that it's ready for a new hash. \item\end{DoxyCompactList}\item int \hyperlink{sha384_8h_a60bf9f4d81bed2f72a68bc81c9940d10}{sha384Update} (\hyperlink{structsha384Param}{sha384Param} $\ast$sp, 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. \item\end{DoxyCompactList}\item int \hyperlink{sha384_8h_a4ef756fb0e270b60eb5fccecb0f7f73a}{sha384Digest} (\hyperlink{structsha384Param}{sha384Param} $\ast$sp, \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\/}. \item\end{DoxyCompactList}\end{DoxyCompactItemize} \subsection*{Variables} \begin{DoxyCompactItemize} \item const \hyperlink{structhashFunction}{hashFunction} \hyperlink{sha384_8h_a542a0f51aff8a28c67fec03c250f8367}{sha384} \begin{DoxyCompactList}\small\item\em Holds the full API description of the SHA-\/384 algorithm. \item\end{DoxyCompactList}\end{DoxyCompactItemize} \subsection{Detailed Description} SHA-\/384 hash function, headers. \begin{DoxyAuthor}{Author} Bob Deblier $<$\href{mailto:bob.deblier@telenet.be}{\tt bob.deblier@telenet.be}$>$ \end{DoxyAuthor} \subsection{Function Documentation} \hypertarget{sha384_8h_a4ef756fb0e270b60eb5fccecb0f7f73a}{ \index{sha384.h@{sha384.h}!sha384Digest@{sha384Digest}} \index{sha384Digest@{sha384Digest}!sha384.h@{sha384.h}} \subsubsection[{sha384Digest}]{\setlength{\rightskip}{0pt plus 5cm}int sha384Digest ( \begin{DoxyParamCaption} \item[{{\bf sha384Param} $\ast$}]{sp, } \item[{{\bf byte} $\ast$}]{digest} \end{DoxyParamCaption} )}} \label{sha384_8h_a4ef756fb0e270b60eb5fccecb0f7f73a} This function finishes the current hash computation and copies the digest value into {\itshape digest\/}. \begin{DoxyParams}{Parameters} {\em sp} & The hash function's parameter block. \\ \hline {\em digest} & The place to store the 64-\/byte digest. \\ \hline \end{DoxyParams} \begin{DoxyRetVals}{Return values} {\em 0} & on success. \\ \hline \end{DoxyRetVals} \hypertarget{sha384_8h_aaf23053c0063774f4148d7163ba7a54e}{ \index{sha384.h@{sha384.h}!sha384Process@{sha384Process}} \index{sha384Process@{sha384Process}!sha384.h@{sha384.h}} \subsubsection[{sha384Process}]{\setlength{\rightskip}{0pt plus 5cm}void sha384Process ( \begin{DoxyParamCaption} \item[{{\bf sha384Param} $\ast$}]{sp} \end{DoxyParamCaption} )}} \label{sha384_8h_aaf23053c0063774f4148d7163ba7a54e} This function performs the core of the SHA-\/384 hash algorithm; it processes a block of 128 bytes. \begin{DoxyParams}{Parameters} {\em sp} & The hash function's parameter block. \\ \hline \end{DoxyParams} \hypertarget{sha384_8h_ab1dac6fddc17b3c1b345884a48a6eb7e}{ \index{sha384.h@{sha384.h}!sha384Reset@{sha384Reset}} \index{sha384Reset@{sha384Reset}!sha384.h@{sha384.h}} \subsubsection[{sha384Reset}]{\setlength{\rightskip}{0pt plus 5cm}int sha384Reset ( \begin{DoxyParamCaption} \item[{{\bf sha384Param} $\ast$}]{sp} \end{DoxyParamCaption} )}} \label{sha384_8h_ab1dac6fddc17b3c1b345884a48a6eb7e} This function resets the parameter block so that it's ready for a new hash. \begin{DoxyParams}{Parameters} {\em sp} & The hash function's parameter block. \\ \hline \end{DoxyParams} \begin{DoxyRetVals}{Return values} {\em 0} & on success. \\ \hline \end{DoxyRetVals} \hypertarget{sha384_8h_a60bf9f4d81bed2f72a68bc81c9940d10}{ \index{sha384.h@{sha384.h}!sha384Update@{sha384Update}} \index{sha384Update@{sha384Update}!sha384.h@{sha384.h}} \subsubsection[{sha384Update}]{\setlength{\rightskip}{0pt plus 5cm}int sha384Update ( \begin{DoxyParamCaption} \item[{{\bf sha384Param} $\ast$}]{sp, } \item[{const {\bf byte} $\ast$}]{data, } \item[{size\_\-t}]{size} \end{DoxyParamCaption} )}} \label{sha384_8h_a60bf9f4d81bed2f72a68bc81c9940d10} This function should be used to pass successive blocks of data to be hashed. \begin{DoxyParams}{Parameters} {\em sp} & 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{sha384_8h_a542a0f51aff8a28c67fec03c250f8367}{ \index{sha384.h@{sha384.h}!sha384@{sha384}} \index{sha384@{sha384}!sha384.h@{sha384.h}} \subsubsection[{sha384}]{\setlength{\rightskip}{0pt plus 5cm}{\bf sha384}}} \label{sha384_8h_a542a0f51aff8a28c67fec03c250f8367} Holds the full API description of the SHA-\/384 algorithm.