\hypertarget{cbc__mac_8h}{}\doxysection{opencrypto/cbc\+\_\+mac.h File Reference}
\label{cbc__mac_8h}\index{opencrypto/cbc\_mac.h@{opencrypto/cbc\_mac.h}}
{\ttfamily \#include $<$sys/types.\+h$>$}\newline
{\ttfamily \#include $<$crypto/rijndael/rijndael.\+h$>$}\newline
Include dependency graph for cbc\+\_\+mac.\+h\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=306pt]{d6/d85/cbc__mac_8h__incl}
\end{center}
\end{figure}
This graph shows which files directly or indirectly include this file\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{de/d25/cbc__mac_8h__dep__incl}
\end{center}
\end{figure}
\doxysubsection*{Data Structures}
\begin{DoxyCompactItemize}
\item 
struct \mbox{\hyperlink{structaes__cbc__mac__ctx}{aes\+\_\+cbc\+\_\+mac\+\_\+ctx}}
\end{DoxyCompactItemize}
\doxysubsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\#define \mbox{\hyperlink{cbc__mac_8h_a93cc12cc210e8f3e682726362cba4573}{CCM\+\_\+\+CBC\+\_\+\+BLOCK\+\_\+\+LEN}}~16 /$\ast$ 128 bits $\ast$/
\item 
\#define \mbox{\hyperlink{cbc__mac_8h_a266ff6348a467a5fd4e7104cf26d6ab5}{CCM\+\_\+\+CBC\+\_\+\+MAX\+\_\+\+DIGEST\+\_\+\+LEN}}~16
\item 
\#define \mbox{\hyperlink{cbc__mac_8h_aa6333cc149f505690168c5d631504b85}{CCM\+\_\+\+CBC\+\_\+\+MIN\+\_\+\+DIGEST\+\_\+\+LEN}}~4
\end{DoxyCompactItemize}
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
void \mbox{\hyperlink{cbc__mac_8h_a551e1c52bb4744ba021a3d4ab8ae68ff}{AES\+\_\+\+CBC\+\_\+\+MAC\+\_\+\+Init}} (void $\ast$)
\item 
void \mbox{\hyperlink{cbc__mac_8h_aa788980ac4075ee0654064432c0716a5}{AES\+\_\+\+CBC\+\_\+\+MAC\+\_\+\+Setkey}} (void $\ast$, const uint8\+\_\+t $\ast$, u\+\_\+int)
\item 
void \mbox{\hyperlink{cbc__mac_8h_a9001b0be4c33c38473369a9d4e6f59a6}{AES\+\_\+\+CBC\+\_\+\+MAC\+\_\+\+Reinit}} (void $\ast$, const uint8\+\_\+t $\ast$, u\+\_\+int)
\item 
int \mbox{\hyperlink{cbc__mac_8h_a72b67177b7bb76ecb4216fc38ba57863}{AES\+\_\+\+CBC\+\_\+\+MAC\+\_\+\+Update}} (void $\ast$, const void $\ast$, u\+\_\+int)
\item 
void \mbox{\hyperlink{cbc__mac_8h_a034398fc80f05f650da76e8f5d8bed36}{AES\+\_\+\+CBC\+\_\+\+MAC\+\_\+\+Final}} (uint8\+\_\+t $\ast$, void $\ast$)
\end{DoxyCompactItemize}


\doxysubsection{Macro Definition Documentation}
\mbox{\Hypertarget{cbc__mac_8h_a93cc12cc210e8f3e682726362cba4573}\label{cbc__mac_8h_a93cc12cc210e8f3e682726362cba4573}} 
\index{cbc\_mac.h@{cbc\_mac.h}!CCM\_CBC\_BLOCK\_LEN@{CCM\_CBC\_BLOCK\_LEN}}
\index{CCM\_CBC\_BLOCK\_LEN@{CCM\_CBC\_BLOCK\_LEN}!cbc\_mac.h@{cbc\_mac.h}}
\doxysubsubsection{\texorpdfstring{CCM\_CBC\_BLOCK\_LEN}{CCM\_CBC\_BLOCK\_LEN}}
{\footnotesize\ttfamily \#define CCM\+\_\+\+CBC\+\_\+\+BLOCK\+\_\+\+LEN~16 /$\ast$ 128 bits $\ast$/}



Definition at line \mbox{\hyperlink{cbc__mac_8h_source_l00040}{40}} of file \mbox{\hyperlink{cbc__mac_8h_source}{cbc\+\_\+mac.\+h}}.

\mbox{\Hypertarget{cbc__mac_8h_a266ff6348a467a5fd4e7104cf26d6ab5}\label{cbc__mac_8h_a266ff6348a467a5fd4e7104cf26d6ab5}} 
\index{cbc\_mac.h@{cbc\_mac.h}!CCM\_CBC\_MAX\_DIGEST\_LEN@{CCM\_CBC\_MAX\_DIGEST\_LEN}}
\index{CCM\_CBC\_MAX\_DIGEST\_LEN@{CCM\_CBC\_MAX\_DIGEST\_LEN}!cbc\_mac.h@{cbc\_mac.h}}
\doxysubsubsection{\texorpdfstring{CCM\_CBC\_MAX\_DIGEST\_LEN}{CCM\_CBC\_MAX\_DIGEST\_LEN}}
{\footnotesize\ttfamily \#define CCM\+\_\+\+CBC\+\_\+\+MAX\+\_\+\+DIGEST\+\_\+\+LEN~16}



Definition at line \mbox{\hyperlink{cbc__mac_8h_source_l00041}{41}} of file \mbox{\hyperlink{cbc__mac_8h_source}{cbc\+\_\+mac.\+h}}.

\mbox{\Hypertarget{cbc__mac_8h_aa6333cc149f505690168c5d631504b85}\label{cbc__mac_8h_aa6333cc149f505690168c5d631504b85}} 
\index{cbc\_mac.h@{cbc\_mac.h}!CCM\_CBC\_MIN\_DIGEST\_LEN@{CCM\_CBC\_MIN\_DIGEST\_LEN}}
\index{CCM\_CBC\_MIN\_DIGEST\_LEN@{CCM\_CBC\_MIN\_DIGEST\_LEN}!cbc\_mac.h@{cbc\_mac.h}}
\doxysubsubsection{\texorpdfstring{CCM\_CBC\_MIN\_DIGEST\_LEN}{CCM\_CBC\_MIN\_DIGEST\_LEN}}
{\footnotesize\ttfamily \#define CCM\+\_\+\+CBC\+\_\+\+MIN\+\_\+\+DIGEST\+\_\+\+LEN~4}



Definition at line \mbox{\hyperlink{cbc__mac_8h_source_l00042}{42}} of file \mbox{\hyperlink{cbc__mac_8h_source}{cbc\+\_\+mac.\+h}}.



\doxysubsection{Function Documentation}
\mbox{\Hypertarget{cbc__mac_8h_a034398fc80f05f650da76e8f5d8bed36}\label{cbc__mac_8h_a034398fc80f05f650da76e8f5d8bed36}} 
\index{cbc\_mac.h@{cbc\_mac.h}!AES\_CBC\_MAC\_Final@{AES\_CBC\_MAC\_Final}}
\index{AES\_CBC\_MAC\_Final@{AES\_CBC\_MAC\_Final}!cbc\_mac.h@{cbc\_mac.h}}
\doxysubsubsection{\texorpdfstring{AES\_CBC\_MAC\_Final()}{AES\_CBC\_MAC\_Final()}}
{\footnotesize\ttfamily void AES\+\_\+\+CBC\+\_\+\+MAC\+\_\+\+Final (\begin{DoxyParamCaption}\item[{uint8\+\_\+t $\ast$}]{buf,  }\item[{void $\ast$}]{vctx }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{cbc__mac_8c_source_l00143}{143}} of file \mbox{\hyperlink{cbc__mac_8c_source}{cbc\+\_\+mac.\+c}}.



References \mbox{\hyperlink{cryptodev_8h_source_l00090}{AES\+\_\+\+CBC\+\_\+\+MAC\+\_\+\+HASH\+\_\+\+LEN}}, \mbox{\hyperlink{cbc__mac_8h_source_l00050}{aes\+\_\+cbc\+\_\+mac\+\_\+ctx\+::block}}, \mbox{\hyperlink{cbc__mac_8h_source_l00051}{aes\+\_\+cbc\+\_\+mac\+\_\+ctx\+::block\+Index}}, \mbox{\hyperlink{cbc__mac_8h_source_l00040}{CCM\+\_\+\+CBC\+\_\+\+BLOCK\+\_\+\+LEN}}, \mbox{\hyperlink{cbc__mac_8h_source_l00056}{aes\+\_\+cbc\+\_\+mac\+\_\+ctx\+::keysched}}, \mbox{\hyperlink{cbc__mac_8h_source_l00053}{aes\+\_\+cbc\+\_\+mac\+\_\+ctx\+::nonce}}, \mbox{\hyperlink{cbc__mac_8h_source_l00052}{aes\+\_\+cbc\+\_\+mac\+\_\+ctx\+::nonce\+Length}}, \mbox{\hyperlink{cbc__mac_8h_source_l00055}{aes\+\_\+cbc\+\_\+mac\+\_\+ctx\+::rounds}}, \mbox{\hyperlink{cbc__mac_8h_source_l00049}{aes\+\_\+cbc\+\_\+mac\+\_\+ctx\+::staging\+\_\+block}}, and \mbox{\hyperlink{cbc__mac_8c_source_l00040}{xor\+\_\+and\+\_\+encrypt()}}.



Referenced by \mbox{\hyperlink{xform__aes__icm_8c_source_l00312}{aes\+\_\+ccm\+\_\+final()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=330pt]{de/d0b/cbc__mac_8h_a034398fc80f05f650da76e8f5d8bed36_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=319pt]{de/d0b/cbc__mac_8h_a034398fc80f05f650da76e8f5d8bed36_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{cbc__mac_8h_a551e1c52bb4744ba021a3d4ab8ae68ff}\label{cbc__mac_8h_a551e1c52bb4744ba021a3d4ab8ae68ff}} 
\index{cbc\_mac.h@{cbc\_mac.h}!AES\_CBC\_MAC\_Init@{AES\_CBC\_MAC\_Init}}
\index{AES\_CBC\_MAC\_Init@{AES\_CBC\_MAC\_Init}!cbc\_mac.h@{cbc\_mac.h}}
\doxysubsubsection{\texorpdfstring{AES\_CBC\_MAC\_Init()}{AES\_CBC\_MAC\_Init()}}
{\footnotesize\ttfamily void AES\+\_\+\+CBC\+\_\+\+MAC\+\_\+\+Init (\begin{DoxyParamCaption}\item[{void $\ast$}]{vctx }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{cbc__mac_8c_source_l00059}{59}} of file \mbox{\hyperlink{cbc__mac_8c_source}{cbc\+\_\+mac.\+c}}.

\mbox{\Hypertarget{cbc__mac_8h_a9001b0be4c33c38473369a9d4e6f59a6}\label{cbc__mac_8h_a9001b0be4c33c38473369a9d4e6f59a6}} 
\index{cbc\_mac.h@{cbc\_mac.h}!AES\_CBC\_MAC\_Reinit@{AES\_CBC\_MAC\_Reinit}}
\index{AES\_CBC\_MAC\_Reinit@{AES\_CBC\_MAC\_Reinit}!cbc\_mac.h@{cbc\_mac.h}}
\doxysubsubsection{\texorpdfstring{AES\_CBC\_MAC\_Reinit()}{AES\_CBC\_MAC\_Reinit()}}
{\footnotesize\ttfamily void AES\+\_\+\+CBC\+\_\+\+MAC\+\_\+\+Reinit (\begin{DoxyParamCaption}\item[{void $\ast$}]{vctx,  }\item[{const uint8\+\_\+t $\ast$}]{nonce,  }\item[{u\+\_\+int}]{nonce\+Len }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{cbc__mac_8c_source_l00084}{84}} of file \mbox{\hyperlink{cbc__mac_8c_source}{cbc\+\_\+mac.\+c}}.



References \mbox{\hyperlink{cbc__mac_8h_source_l00050}{aes\+\_\+cbc\+\_\+mac\+\_\+ctx\+::block}}, \mbox{\hyperlink{cbc__mac_8h_source_l00051}{aes\+\_\+cbc\+\_\+mac\+\_\+ctx\+::block\+Index}}, \mbox{\hyperlink{cbc__mac_8h_source_l00040}{CCM\+\_\+\+CBC\+\_\+\+BLOCK\+\_\+\+LEN}}, \mbox{\hyperlink{cbc__mac_8h_source_l00053}{aes\+\_\+cbc\+\_\+mac\+\_\+ctx\+::nonce}}, and \mbox{\hyperlink{cbc__mac_8h_source_l00052}{aes\+\_\+cbc\+\_\+mac\+\_\+ctx\+::nonce\+Length}}.



Referenced by \mbox{\hyperlink{xform__aes__icm_8c_source_l00175}{aes\+\_\+ccm\+\_\+reinit()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=328pt]{de/d0b/cbc__mac_8h_a9001b0be4c33c38473369a9d4e6f59a6_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{cbc__mac_8h_aa788980ac4075ee0654064432c0716a5}\label{cbc__mac_8h_aa788980ac4075ee0654064432c0716a5}} 
\index{cbc\_mac.h@{cbc\_mac.h}!AES\_CBC\_MAC\_Setkey@{AES\_CBC\_MAC\_Setkey}}
\index{AES\_CBC\_MAC\_Setkey@{AES\_CBC\_MAC\_Setkey}!cbc\_mac.h@{cbc\_mac.h}}
\doxysubsubsection{\texorpdfstring{AES\_CBC\_MAC\_Setkey()}{AES\_CBC\_MAC\_Setkey()}}
{\footnotesize\ttfamily void AES\+\_\+\+CBC\+\_\+\+MAC\+\_\+\+Setkey (\begin{DoxyParamCaption}\item[{void $\ast$}]{vctx,  }\item[{const uint8\+\_\+t $\ast$}]{key,  }\item[{u\+\_\+int}]{klen }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{cbc__mac_8c_source_l00068}{68}} of file \mbox{\hyperlink{cbc__mac_8c_source}{cbc\+\_\+mac.\+c}}.



References \mbox{\hyperlink{cbc__mac_8h_source_l00056}{aes\+\_\+cbc\+\_\+mac\+\_\+ctx\+::keysched}}, and \mbox{\hyperlink{cbc__mac_8h_source_l00055}{aes\+\_\+cbc\+\_\+mac\+\_\+ctx\+::rounds}}.



Referenced by \mbox{\hyperlink{xform__aes__icm_8c_source_l00274}{aes\+\_\+ccm\+\_\+setkey()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=340pt]{de/d0b/cbc__mac_8h_aa788980ac4075ee0654064432c0716a5_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{cbc__mac_8h_a72b67177b7bb76ecb4216fc38ba57863}\label{cbc__mac_8h_a72b67177b7bb76ecb4216fc38ba57863}} 
\index{cbc\_mac.h@{cbc\_mac.h}!AES\_CBC\_MAC\_Update@{AES\_CBC\_MAC\_Update}}
\index{AES\_CBC\_MAC\_Update@{AES\_CBC\_MAC\_Update}!cbc\_mac.h@{cbc\_mac.h}}
\doxysubsubsection{\texorpdfstring{AES\_CBC\_MAC\_Update()}{AES\_CBC\_MAC\_Update()}}
{\footnotesize\ttfamily int AES\+\_\+\+CBC\+\_\+\+MAC\+\_\+\+Update (\begin{DoxyParamCaption}\item[{void $\ast$}]{vctx,  }\item[{const void $\ast$}]{vdata,  }\item[{u\+\_\+int}]{length }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{cbc__mac_8c_source_l00098}{98}} of file \mbox{\hyperlink{cbc__mac_8c_source}{cbc\+\_\+mac.\+c}}.



References \mbox{\hyperlink{cbc__mac_8h_source_l00050}{aes\+\_\+cbc\+\_\+mac\+\_\+ctx\+::block}}, \mbox{\hyperlink{cbc__mac_8h_source_l00051}{aes\+\_\+cbc\+\_\+mac\+\_\+ctx\+::block\+Index}}, \mbox{\hyperlink{cbc__mac_8h_source_l00040}{CCM\+\_\+\+CBC\+\_\+\+BLOCK\+\_\+\+LEN}}, \mbox{\hyperlink{cbc__mac_8h_source_l00049}{aes\+\_\+cbc\+\_\+mac\+\_\+ctx\+::staging\+\_\+block}}, and \mbox{\hyperlink{cbc__mac_8c_source_l00040}{xor\+\_\+and\+\_\+encrypt()}}.



Referenced by \mbox{\hyperlink{xform__aes__icm_8c_source_l00296}{aes\+\_\+ccm\+\_\+update()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=342pt]{de/d0b/cbc__mac_8h_a72b67177b7bb76ecb4216fc38ba57863_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=343pt]{de/d0b/cbc__mac_8h_a72b67177b7bb76ecb4216fc38ba57863_icgraph}
\end{center}
\end{figure}
