\hypertarget{structblockCipher}{ \section{blockCipher Struct Reference} \label{structblockCipher}\index{blockCipher@{blockCipher}} } Holds information and pointers to code specific to each cipher. {\ttfamily \#include $<$beecrypt.h$>$} Collaboration diagram for blockCipher: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=278pt]{structblockCipher__coll__graph} \end{center} \end{figure} \subsection*{Data Fields} \begin{DoxyCompactItemize} \item const char $\ast$ \hyperlink{structblockCipher_a6c9f539d9632b00c9b98228539254833}{name} \begin{DoxyCompactList}\small\item\em The blockcipher's name. \item\end{DoxyCompactList}\item const size\_\-t \hyperlink{structblockCipher_ae9acc23b1b4742e15acf95c44675fe42}{paramsize} \begin{DoxyCompactList}\small\item\em The size of the parameters required by this cipher, in bytes. \item\end{DoxyCompactList}\item const size\_\-t \hyperlink{structblockCipher_a8d6c03e6f997f3ad8e8a5e2b315ca805}{blocksize} \begin{DoxyCompactList}\small\item\em The size of one block of data, in bytes. \item\end{DoxyCompactList}\item const size\_\-t \hyperlink{structblockCipher_a3500d157e1433ee5cbf9e9dfbe7b10f1}{keybitsmin} \begin{DoxyCompactList}\small\item\em The minimum number of key bits. \item\end{DoxyCompactList}\item const size\_\-t \hyperlink{structblockCipher_ad42cb478c58af64dd55ba34bea672aea}{keybitsmax} \begin{DoxyCompactList}\small\item\em The maximum number of key bits. \item\end{DoxyCompactList}\item const size\_\-t \hyperlink{structblockCipher_ad4251f30dce3bb56c6d6d4af5effce21}{keybitsinc} \begin{DoxyCompactList}\small\item\em The allowed increment in key bits between min and max. \item\end{DoxyCompactList}\item const \hyperlink{group__BC__m_ga4bb0a804ab2c38ac56120f1cd35600b3}{blockCipherSetup} \hyperlink{structblockCipher_a103ff53ae70c8b181770b5605d23ab80}{setup} \begin{DoxyCompactList}\small\item\em Pointer to the cipher's setup function. \item\end{DoxyCompactList}\item const \hyperlink{group__BC__m_ga40aeffa20f977393fbf10378ef466c25}{blockCipherSetIV} \hyperlink{structblockCipher_aada7de9cfffbc798465d99a63b4981c6}{setiv} \begin{DoxyCompactList}\small\item\em Pointer to the cipher's initialization vector setup function. \item\end{DoxyCompactList}\item const \hyperlink{group__BC__m_gae6164c8a42013a0b3aadba1bccd416af}{blockCipherSetCTR} \hyperlink{structblockCipher_aedabefbac9018470145c344b463669de}{setctr} \begin{DoxyCompactList}\small\item\em Pointer to the cipher's ctr setup function. \item\end{DoxyCompactList}\item const \hyperlink{beecrypt_8h_a94e1fe0182e49b4fb388d08c93fc1a2c}{blockCipherFeedback} \hyperlink{structblockCipher_acd180c9ad40ef38241a66607ecdb19c7}{getfb} \begin{DoxyCompactList}\small\item\em Pointer to the cipher's feedback-\/returning function. \item\end{DoxyCompactList}\item const \hyperlink{structblockCipherRaw}{blockCipherRaw} \hyperlink{structblockCipher_a66034965bc9ae136e6dc224c10b84e71}{raw} \begin{DoxyCompactList}\small\item\em The cipher's raw functions. \item\end{DoxyCompactList}\item const \hyperlink{structblockCipherMode}{blockCipherMode} \hyperlink{structblockCipher_ac1f9c47f7b594006a4d66955dc81bfd9}{ecb} \begin{DoxyCompactList}\small\item\em The cipher's ECB functions. \item\end{DoxyCompactList}\item const \hyperlink{structblockCipherMode}{blockCipherMode} \hyperlink{structblockCipher_a6fdc2e832bdc281af527640ddb2cb639}{cbc} \begin{DoxyCompactList}\small\item\em The cipher's CBC functions. \item\end{DoxyCompactList}\item const \hyperlink{structblockCipherMode}{blockCipherMode} \hyperlink{structblockCipher_a26c65493883b6ae3437d31c5ce433245}{ctr} \begin{DoxyCompactList}\small\item\em The cipher's CTR functions. \item\end{DoxyCompactList}\end{DoxyCompactItemize} \subsection{Detailed Description} Holds information and pointers to code specific to each cipher. Specific block ciphers {\itshape may\/} be written to be multithread-\/safe. \subsection{Field Documentation} \hypertarget{structblockCipher_a8d6c03e6f997f3ad8e8a5e2b315ca805}{ \index{blockCipher@{blockCipher}!blocksize@{blocksize}} \index{blocksize@{blocksize}!blockCipher@{blockCipher}} \subsubsection[{blocksize}]{\setlength{\rightskip}{0pt plus 5cm}{\bf blockCipher::blocksize}}} \label{structblockCipher_a8d6c03e6f997f3ad8e8a5e2b315ca805} The size of one block of data, in bytes. \hypertarget{structblockCipher_a6fdc2e832bdc281af527640ddb2cb639}{ \index{blockCipher@{blockCipher}!cbc@{cbc}} \index{cbc@{cbc}!blockCipher@{blockCipher}} \subsubsection[{cbc}]{\setlength{\rightskip}{0pt plus 5cm}{\bf blockCipher::cbc}}} \label{structblockCipher_a6fdc2e832bdc281af527640ddb2cb639} The cipher's CBC functions. \hypertarget{structblockCipher_a26c65493883b6ae3437d31c5ce433245}{ \index{blockCipher@{blockCipher}!ctr@{ctr}} \index{ctr@{ctr}!blockCipher@{blockCipher}} \subsubsection[{ctr}]{\setlength{\rightskip}{0pt plus 5cm}{\bf blockCipher::ctr}}} \label{structblockCipher_a26c65493883b6ae3437d31c5ce433245} The cipher's CTR functions. \hypertarget{structblockCipher_ac1f9c47f7b594006a4d66955dc81bfd9}{ \index{blockCipher@{blockCipher}!ecb@{ecb}} \index{ecb@{ecb}!blockCipher@{blockCipher}} \subsubsection[{ecb}]{\setlength{\rightskip}{0pt plus 5cm}{\bf blockCipher::ecb}}} \label{structblockCipher_ac1f9c47f7b594006a4d66955dc81bfd9} The cipher's ECB functions. \hypertarget{structblockCipher_acd180c9ad40ef38241a66607ecdb19c7}{ \index{blockCipher@{blockCipher}!getfb@{getfb}} \index{getfb@{getfb}!blockCipher@{blockCipher}} \subsubsection[{getfb}]{\setlength{\rightskip}{0pt plus 5cm}{\bf blockCipher::getfb}}} \label{structblockCipher_acd180c9ad40ef38241a66607ecdb19c7} Pointer to the cipher's feedback-\/returning function. \hypertarget{structblockCipher_ad4251f30dce3bb56c6d6d4af5effce21}{ \index{blockCipher@{blockCipher}!keybitsinc@{keybitsinc}} \index{keybitsinc@{keybitsinc}!blockCipher@{blockCipher}} \subsubsection[{keybitsinc}]{\setlength{\rightskip}{0pt plus 5cm}{\bf blockCipher::keybitsinc}}} \label{structblockCipher_ad4251f30dce3bb56c6d6d4af5effce21} The allowed increment in key bits between min and max. \begin{DoxySeeAlso}{See also} \hyperlink{structblockCipher_a3500d157e1433ee5cbf9e9dfbe7b10f1}{keybitsmin} and \hyperlink{structblockCipher_ad42cb478c58af64dd55ba34bea672aea}{keybitsmax}. \end{DoxySeeAlso} \hypertarget{structblockCipher_ad42cb478c58af64dd55ba34bea672aea}{ \index{blockCipher@{blockCipher}!keybitsmax@{keybitsmax}} \index{keybitsmax@{keybitsmax}!blockCipher@{blockCipher}} \subsubsection[{keybitsmax}]{\setlength{\rightskip}{0pt plus 5cm}{\bf blockCipher::keybitsmax}}} \label{structblockCipher_ad42cb478c58af64dd55ba34bea672aea} The maximum number of key bits. \hypertarget{structblockCipher_a3500d157e1433ee5cbf9e9dfbe7b10f1}{ \index{blockCipher@{blockCipher}!keybitsmin@{keybitsmin}} \index{keybitsmin@{keybitsmin}!blockCipher@{blockCipher}} \subsubsection[{keybitsmin}]{\setlength{\rightskip}{0pt plus 5cm}{\bf blockCipher::keybitsmin}}} \label{structblockCipher_a3500d157e1433ee5cbf9e9dfbe7b10f1} The minimum number of key bits. \hypertarget{structblockCipher_a6c9f539d9632b00c9b98228539254833}{ \index{blockCipher@{blockCipher}!name@{name}} \index{name@{name}!blockCipher@{blockCipher}} \subsubsection[{name}]{\setlength{\rightskip}{0pt plus 5cm}{\bf blockCipher::name}}} \label{structblockCipher_a6c9f539d9632b00c9b98228539254833} The blockcipher's name. \hypertarget{structblockCipher_ae9acc23b1b4742e15acf95c44675fe42}{ \index{blockCipher@{blockCipher}!paramsize@{paramsize}} \index{paramsize@{paramsize}!blockCipher@{blockCipher}} \subsubsection[{paramsize}]{\setlength{\rightskip}{0pt plus 5cm}{\bf blockCipher::paramsize}}} \label{structblockCipher_ae9acc23b1b4742e15acf95c44675fe42} The size of the parameters required by this cipher, in bytes. \hypertarget{structblockCipher_a66034965bc9ae136e6dc224c10b84e71}{ \index{blockCipher@{blockCipher}!raw@{raw}} \index{raw@{raw}!blockCipher@{blockCipher}} \subsubsection[{raw}]{\setlength{\rightskip}{0pt plus 5cm}{\bf blockCipher::raw}}} \label{structblockCipher_a66034965bc9ae136e6dc224c10b84e71} The cipher's raw functions. \hypertarget{structblockCipher_aedabefbac9018470145c344b463669de}{ \index{blockCipher@{blockCipher}!setctr@{setctr}} \index{setctr@{setctr}!blockCipher@{blockCipher}} \subsubsection[{setctr}]{\setlength{\rightskip}{0pt plus 5cm}{\bf blockCipher::setctr}}} \label{structblockCipher_aedabefbac9018470145c344b463669de} Pointer to the cipher's ctr setup function. \hypertarget{structblockCipher_aada7de9cfffbc798465d99a63b4981c6}{ \index{blockCipher@{blockCipher}!setiv@{setiv}} \index{setiv@{setiv}!blockCipher@{blockCipher}} \subsubsection[{setiv}]{\setlength{\rightskip}{0pt plus 5cm}{\bf blockCipher::setiv}}} \label{structblockCipher_aada7de9cfffbc798465d99a63b4981c6} Pointer to the cipher's initialization vector setup function. \hypertarget{structblockCipher_a103ff53ae70c8b181770b5605d23ab80}{ \index{blockCipher@{blockCipher}!setup@{setup}} \index{setup@{setup}!blockCipher@{blockCipher}} \subsubsection[{setup}]{\setlength{\rightskip}{0pt plus 5cm}{\bf blockCipher::setup}}} \label{structblockCipher_a103ff53ae70c8b181770b5605d23ab80} Pointer to the cipher's setup function. The documentation for this struct was generated from the following file:\begin{DoxyCompactItemize} \item include/beecrypt/\hyperlink{beecrypt_8h}{beecrypt.h}\end{DoxyCompactItemize}