\doxysection{src/gsm/milenage/aes\+\_\+i.h File Reference}
\label{aes__i_8h}\index{src/gsm/milenage/aes\_i.h@{src/gsm/milenage/aes\_i.h}}


AES (Rijndael) cipher.  


{\ttfamily \#include \char`\"{}aes.\+h\char`\"{}}\newline
\doxysubsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\#define \textbf{ AES\+\_\+\+SMALL\+\_\+\+TABLES}
\item 
\#define \textbf{ RCON}(i)~((\textbf{ u32})\textbf{ rcons}[(i)] $<$$<$ 24)
\item 
\#define \textbf{ TE0}(i)~\textbf{ Te0}[((i) $>$$>$ 24) \& 0xff]
\item 
\#define \textbf{ TE1}(i)~\textbf{ rotr}(\textbf{ Te0}[((i) $>$$>$ 16) \& 0xff], 8)
\item 
\#define \textbf{ TE2}(i)~\textbf{ rotr}(\textbf{ Te0}[((i) $>$$>$ 8) \& 0xff], 16)
\item 
\#define \textbf{ TE3}(i)~\textbf{ rotr}(\textbf{ Te0}[(i) \& 0xff], 24)
\item 
\#define \textbf{ TE41}(i)~((\textbf{ Te0}[((i) $>$$>$ 24) \& 0xff] $<$$<$ 8) \& 0xff000000)
\item 
\#define \textbf{ TE42}(i)~(\textbf{ Te0}[((i) $>$$>$ 16) \& 0xff] \& 0x00ff0000)
\item 
\#define \textbf{ TE43}(i)~(\textbf{ Te0}[((i) $>$$>$ 8) \& 0xff] \& 0x0000ff00)
\item 
\#define \textbf{ TE44}(i)~((\textbf{ Te0}[(i) \& 0xff] $>$$>$ 8) \& 0x000000ff)
\item 
\#define \textbf{ TE421}(i)~((\textbf{ Te0}[((i) $>$$>$ 16) \& 0xff] $<$$<$ 8) \& 0xff000000)
\item 
\#define \textbf{ TE432}(i)~(\textbf{ Te0}[((i) $>$$>$ 8) \& 0xff] \& 0x00ff0000)
\item 
\#define \textbf{ TE443}(i)~(\textbf{ Te0}[(i) \& 0xff] \& 0x0000ff00)
\item 
\#define \textbf{ TE414}(i)~((\textbf{ Te0}[((i) $>$$>$ 24) \& 0xff] $>$$>$ 8) \& 0x000000ff)
\item 
\#define \textbf{ TE4}(i)~((\textbf{ Te0}[(i)] $>$$>$ 8) \& 0x000000ff)
\item 
\#define \textbf{ TD0}(i)~\textbf{ Td0}[((i) $>$$>$ 24) \& 0xff]
\item 
\#define \textbf{ TD1}(i)~\textbf{ rotr}(\textbf{ Td0}[((i) $>$$>$ 16) \& 0xff], 8)
\item 
\#define \textbf{ TD2}(i)~\textbf{ rotr}(\textbf{ Td0}[((i) $>$$>$ 8) \& 0xff], 16)
\item 
\#define \textbf{ TD3}(i)~\textbf{ rotr}(\textbf{ Td0}[(i) \& 0xff], 24)
\item 
\#define \textbf{ TD41}(i)~(\textbf{ Td4s}[((i) $>$$>$ 24) \& 0xff] $<$$<$ 24)
\item 
\#define \textbf{ TD42}(i)~(\textbf{ Td4s}[((i) $>$$>$ 16) \& 0xff] $<$$<$ 16)
\item 
\#define \textbf{ TD43}(i)~(\textbf{ Td4s}[((i) $>$$>$ 8) \& 0xff] $<$$<$ 8)
\item 
\#define \textbf{ TD44}(i)~(\textbf{ Td4s}[(i) \& 0xff])
\item 
\#define \textbf{ TD0\+\_\+}(i)~\textbf{ Td0}[(i) \& 0xff]
\item 
\#define \textbf{ TD1\+\_\+}(i)~\textbf{ rotr}(\textbf{ Td0}[(i) \& 0xff], 8)
\item 
\#define \textbf{ TD2\+\_\+}(i)~\textbf{ rotr}(\textbf{ Td0}[(i) \& 0xff], 16)
\item 
\#define \textbf{ TD3\+\_\+}(i)~\textbf{ rotr}(\textbf{ Td0}[(i) \& 0xff], 24)
\item 
\#define \textbf{ GETU32}(pt)
\item 
\#define \textbf{ PUTU32}(ct,  st)
\item 
\#define \textbf{ AES\+\_\+\+PRIV\+\_\+\+SIZE}~(4 $\ast$ 44)
\end{DoxyCompactItemize}
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
static \textbf{ u32} \textbf{ rotr} (\textbf{ u32} val, int bits)
\item 
void \textbf{ rijndael\+Key\+Setup\+Enc} (\textbf{ u32} rk[$\,$], const \textbf{ u8} cipher\+Key[$\,$])
\begin{DoxyCompactList}\small\item\em Expand the cipher key into the encryption key schedule. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Variables}
\begin{DoxyCompactItemize}
\item 
const \textbf{ u32} \textbf{ Te0} [256]
\item 
const \textbf{ u32} \textbf{ Te1} [256]
\item 
const \textbf{ u32} \textbf{ Te2} [256]
\item 
const \textbf{ u32} \textbf{ Te3} [256]
\item 
const \textbf{ u32} \textbf{ Te4} [256]
\item 
const \textbf{ u32} \textbf{ Td0} [256]
\item 
const \textbf{ u32} \textbf{ Td1} [256]
\item 
const \textbf{ u32} \textbf{ Td2} [256]
\item 
const \textbf{ u32} \textbf{ Td3} [256]
\item 
const \textbf{ u32} \textbf{ Td4} [256]
\item 
const \textbf{ u32} \textbf{ rcon} [10]
\item 
const \textbf{ u8} \textbf{ Td4s} [256]
\item 
const \textbf{ u8} \textbf{ rcons} [10]
\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
AES (Rijndael) cipher. 



\doxysubsection{Macro Definition Documentation}
\mbox{\label{aes__i_8h_a19a0f9d8f5afc3c3a52c147ea2e847d9}} 
\index{aes\_i.h@{aes\_i.h}!AES\_PRIV\_SIZE@{AES\_PRIV\_SIZE}}
\index{AES\_PRIV\_SIZE@{AES\_PRIV\_SIZE}!aes\_i.h@{aes\_i.h}}
\doxysubsubsection{AES\_PRIV\_SIZE}
{\footnotesize\ttfamily \#define AES\+\_\+\+PRIV\+\_\+\+SIZE~(4 $\ast$ 44)}

\mbox{\label{aes__i_8h_a14c615a66a44254fa344726b3dabdaf9}} 
\index{aes\_i.h@{aes\_i.h}!AES\_SMALL\_TABLES@{AES\_SMALL\_TABLES}}
\index{AES\_SMALL\_TABLES@{AES\_SMALL\_TABLES}!aes\_i.h@{aes\_i.h}}
\doxysubsubsection{AES\_SMALL\_TABLES}
{\footnotesize\ttfamily \#define AES\+\_\+\+SMALL\+\_\+\+TABLES}

\mbox{\label{aes__i_8h_add03ff597bcc3979b5d82eaab61820cd}} 
\index{aes\_i.h@{aes\_i.h}!GETU32@{GETU32}}
\index{GETU32@{GETU32}!aes\_i.h@{aes\_i.h}}
\doxysubsubsection{GETU32}
{\footnotesize\ttfamily \#define GETU32(\begin{DoxyParamCaption}\item[{}]{pt }\end{DoxyParamCaption})}

{\bfseries Value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{(((u32)(pt)[0] << 24) \string^ ((u32)(pt)[1] << 16) \string^ \(\backslash\)}
\DoxyCodeLine{((u32)(pt)[2] <<  8) \string^ ((u32)(pt)[3]))}

\end{DoxyCode}
\mbox{\label{aes__i_8h_a081bd53ea4c159e9ce643966d05d2730}} 
\index{aes\_i.h@{aes\_i.h}!PUTU32@{PUTU32}}
\index{PUTU32@{PUTU32}!aes\_i.h@{aes\_i.h}}
\doxysubsubsection{PUTU32}
{\footnotesize\ttfamily \#define PUTU32(\begin{DoxyParamCaption}\item[{}]{ct,  }\item[{}]{st }\end{DoxyParamCaption})}

{\bfseries Value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{\{ \(\backslash\)}
\DoxyCodeLine{(ct)[0] = (u8)((st) >> 24); (ct)[1] = (u8)((st) >> 16); \(\backslash\)}
\DoxyCodeLine{(ct)[2] = (u8)((st) >>  8); (ct)[3] = (u8)(st); \}}

\end{DoxyCode}
\mbox{\label{aes__i_8h_ad6b5c98917a37671bb80a42c6f6f60ef}} 
\index{aes\_i.h@{aes\_i.h}!RCON@{RCON}}
\index{RCON@{RCON}!aes\_i.h@{aes\_i.h}}
\doxysubsubsection{RCON}
{\footnotesize\ttfamily \#define RCON(\begin{DoxyParamCaption}\item[{}]{i }\end{DoxyParamCaption})~((\textbf{ u32})\textbf{ rcons}[(i)] $<$$<$ 24)}

\mbox{\label{aes__i_8h_aa4cb44bed14afc3db37e72dc8845b6da}} 
\index{aes\_i.h@{aes\_i.h}!TD0@{TD0}}
\index{TD0@{TD0}!aes\_i.h@{aes\_i.h}}
\doxysubsubsection{TD0}
{\footnotesize\ttfamily \#define TD0(\begin{DoxyParamCaption}\item[{}]{i }\end{DoxyParamCaption})~\textbf{ Td0}[((i) $>$$>$ 24) \& 0xff]}

\mbox{\label{aes__i_8h_ab1a3d82afb28c08499c8aedc51d94325}} 
\index{aes\_i.h@{aes\_i.h}!TD0\_@{TD0\_}}
\index{TD0\_@{TD0\_}!aes\_i.h@{aes\_i.h}}
\doxysubsubsection{TD0\_}
{\footnotesize\ttfamily \#define TD0\+\_\+(\begin{DoxyParamCaption}\item[{}]{i }\end{DoxyParamCaption})~\textbf{ Td0}[(i) \& 0xff]}

\mbox{\label{aes__i_8h_ad8edffe7c0d8ffb5d3ef52eb1bc1e6e5}} 
\index{aes\_i.h@{aes\_i.h}!TD1@{TD1}}
\index{TD1@{TD1}!aes\_i.h@{aes\_i.h}}
\doxysubsubsection{TD1}
{\footnotesize\ttfamily \#define TD1(\begin{DoxyParamCaption}\item[{}]{i }\end{DoxyParamCaption})~\textbf{ rotr}(\textbf{ Td0}[((i) $>$$>$ 16) \& 0xff], 8)}

\mbox{\label{aes__i_8h_aba3b7e2718ee682db2ba0d2bf3549172}} 
\index{aes\_i.h@{aes\_i.h}!TD1\_@{TD1\_}}
\index{TD1\_@{TD1\_}!aes\_i.h@{aes\_i.h}}
\doxysubsubsection{TD1\_}
{\footnotesize\ttfamily \#define TD1\+\_\+(\begin{DoxyParamCaption}\item[{}]{i }\end{DoxyParamCaption})~\textbf{ rotr}(\textbf{ Td0}[(i) \& 0xff], 8)}

\mbox{\label{aes__i_8h_aa74aa314014d21b53408a9a5d4a4b968}} 
\index{aes\_i.h@{aes\_i.h}!TD2@{TD2}}
\index{TD2@{TD2}!aes\_i.h@{aes\_i.h}}
\doxysubsubsection{TD2}
{\footnotesize\ttfamily \#define TD2(\begin{DoxyParamCaption}\item[{}]{i }\end{DoxyParamCaption})~\textbf{ rotr}(\textbf{ Td0}[((i) $>$$>$ 8) \& 0xff], 16)}

\mbox{\label{aes__i_8h_a8ee7b1c55a5507aced095f8aa788ea6c}} 
\index{aes\_i.h@{aes\_i.h}!TD2\_@{TD2\_}}
\index{TD2\_@{TD2\_}!aes\_i.h@{aes\_i.h}}
\doxysubsubsection{TD2\_}
{\footnotesize\ttfamily \#define TD2\+\_\+(\begin{DoxyParamCaption}\item[{}]{i }\end{DoxyParamCaption})~\textbf{ rotr}(\textbf{ Td0}[(i) \& 0xff], 16)}

\mbox{\label{aes__i_8h_a822ae9eb9f0f50bb86e12d9dd22aebf5}} 
\index{aes\_i.h@{aes\_i.h}!TD3@{TD3}}
\index{TD3@{TD3}!aes\_i.h@{aes\_i.h}}
\doxysubsubsection{TD3}
{\footnotesize\ttfamily \#define TD3(\begin{DoxyParamCaption}\item[{}]{i }\end{DoxyParamCaption})~\textbf{ rotr}(\textbf{ Td0}[(i) \& 0xff], 24)}

\mbox{\label{aes__i_8h_a906ffd926ccc9e7057a16697ce008ed7}} 
\index{aes\_i.h@{aes\_i.h}!TD3\_@{TD3\_}}
\index{TD3\_@{TD3\_}!aes\_i.h@{aes\_i.h}}
\doxysubsubsection{TD3\_}
{\footnotesize\ttfamily \#define TD3\+\_\+(\begin{DoxyParamCaption}\item[{}]{i }\end{DoxyParamCaption})~\textbf{ rotr}(\textbf{ Td0}[(i) \& 0xff], 24)}

\mbox{\label{aes__i_8h_a854d7291c6100d8399ad6d93a19ce940}} 
\index{aes\_i.h@{aes\_i.h}!TD41@{TD41}}
\index{TD41@{TD41}!aes\_i.h@{aes\_i.h}}
\doxysubsubsection{TD41}
{\footnotesize\ttfamily \#define TD41(\begin{DoxyParamCaption}\item[{}]{i }\end{DoxyParamCaption})~(\textbf{ Td4s}[((i) $>$$>$ 24) \& 0xff] $<$$<$ 24)}

\mbox{\label{aes__i_8h_ac486feb8cf42807eca6eb6f8ff56745a}} 
\index{aes\_i.h@{aes\_i.h}!TD42@{TD42}}
\index{TD42@{TD42}!aes\_i.h@{aes\_i.h}}
\doxysubsubsection{TD42}
{\footnotesize\ttfamily \#define TD42(\begin{DoxyParamCaption}\item[{}]{i }\end{DoxyParamCaption})~(\textbf{ Td4s}[((i) $>$$>$ 16) \& 0xff] $<$$<$ 16)}

\mbox{\label{aes__i_8h_a26cde76eb8fe0fd5939ef5ab876c1728}} 
\index{aes\_i.h@{aes\_i.h}!TD43@{TD43}}
\index{TD43@{TD43}!aes\_i.h@{aes\_i.h}}
\doxysubsubsection{TD43}
{\footnotesize\ttfamily \#define TD43(\begin{DoxyParamCaption}\item[{}]{i }\end{DoxyParamCaption})~(\textbf{ Td4s}[((i) $>$$>$ 8) \& 0xff] $<$$<$ 8)}

\mbox{\label{aes__i_8h_a1599c2f9f14fc158c194d14937017724}} 
\index{aes\_i.h@{aes\_i.h}!TD44@{TD44}}
\index{TD44@{TD44}!aes\_i.h@{aes\_i.h}}
\doxysubsubsection{TD44}
{\footnotesize\ttfamily \#define TD44(\begin{DoxyParamCaption}\item[{}]{i }\end{DoxyParamCaption})~(\textbf{ Td4s}[(i) \& 0xff])}

\mbox{\label{aes__i_8h_a3564fd55993878903ceacde3f0a14eaf}} 
\index{aes\_i.h@{aes\_i.h}!TE0@{TE0}}
\index{TE0@{TE0}!aes\_i.h@{aes\_i.h}}
\doxysubsubsection{TE0}
{\footnotesize\ttfamily \#define TE0(\begin{DoxyParamCaption}\item[{}]{i }\end{DoxyParamCaption})~\textbf{ Te0}[((i) $>$$>$ 24) \& 0xff]}

\mbox{\label{aes__i_8h_a9155f7d93334c638f1bb47073764fe91}} 
\index{aes\_i.h@{aes\_i.h}!TE1@{TE1}}
\index{TE1@{TE1}!aes\_i.h@{aes\_i.h}}
\doxysubsubsection{TE1}
{\footnotesize\ttfamily \#define TE1(\begin{DoxyParamCaption}\item[{}]{i }\end{DoxyParamCaption})~\textbf{ rotr}(\textbf{ Te0}[((i) $>$$>$ 16) \& 0xff], 8)}

\mbox{\label{aes__i_8h_a151fb49d27ef94560cd22a07ff0ef036}} 
\index{aes\_i.h@{aes\_i.h}!TE2@{TE2}}
\index{TE2@{TE2}!aes\_i.h@{aes\_i.h}}
\doxysubsubsection{TE2}
{\footnotesize\ttfamily \#define TE2(\begin{DoxyParamCaption}\item[{}]{i }\end{DoxyParamCaption})~\textbf{ rotr}(\textbf{ Te0}[((i) $>$$>$ 8) \& 0xff], 16)}

\mbox{\label{aes__i_8h_aba3cc552a2e0b6aae94e40e1ec33bad3}} 
\index{aes\_i.h@{aes\_i.h}!TE3@{TE3}}
\index{TE3@{TE3}!aes\_i.h@{aes\_i.h}}
\doxysubsubsection{TE3}
{\footnotesize\ttfamily \#define TE3(\begin{DoxyParamCaption}\item[{}]{i }\end{DoxyParamCaption})~\textbf{ rotr}(\textbf{ Te0}[(i) \& 0xff], 24)}

\mbox{\label{aes__i_8h_ac5f2af2af11051a8b7ffa078a185d68d}} 
\index{aes\_i.h@{aes\_i.h}!TE4@{TE4}}
\index{TE4@{TE4}!aes\_i.h@{aes\_i.h}}
\doxysubsubsection{TE4}
{\footnotesize\ttfamily \#define TE4(\begin{DoxyParamCaption}\item[{}]{i }\end{DoxyParamCaption})~((\textbf{ Te0}[(i)] $>$$>$ 8) \& 0x000000ff)}

\mbox{\label{aes__i_8h_a2995f9f054e33cefbbeee36e61cfd0a0}} 
\index{aes\_i.h@{aes\_i.h}!TE41@{TE41}}
\index{TE41@{TE41}!aes\_i.h@{aes\_i.h}}
\doxysubsubsection{TE41}
{\footnotesize\ttfamily \#define TE41(\begin{DoxyParamCaption}\item[{}]{i }\end{DoxyParamCaption})~((\textbf{ Te0}[((i) $>$$>$ 24) \& 0xff] $<$$<$ 8) \& 0xff000000)}

\mbox{\label{aes__i_8h_aa6634673981da1648c4c65af6ad03067}} 
\index{aes\_i.h@{aes\_i.h}!TE414@{TE414}}
\index{TE414@{TE414}!aes\_i.h@{aes\_i.h}}
\doxysubsubsection{TE414}
{\footnotesize\ttfamily \#define TE414(\begin{DoxyParamCaption}\item[{}]{i }\end{DoxyParamCaption})~((\textbf{ Te0}[((i) $>$$>$ 24) \& 0xff] $>$$>$ 8) \& 0x000000ff)}

\mbox{\label{aes__i_8h_a8e08e7c1900eeed0dcf3708239083417}} 
\index{aes\_i.h@{aes\_i.h}!TE42@{TE42}}
\index{TE42@{TE42}!aes\_i.h@{aes\_i.h}}
\doxysubsubsection{TE42}
{\footnotesize\ttfamily \#define TE42(\begin{DoxyParamCaption}\item[{}]{i }\end{DoxyParamCaption})~(\textbf{ Te0}[((i) $>$$>$ 16) \& 0xff] \& 0x00ff0000)}

\mbox{\label{aes__i_8h_ae2b70ba6d03568f572267e309d12df64}} 
\index{aes\_i.h@{aes\_i.h}!TE421@{TE421}}
\index{TE421@{TE421}!aes\_i.h@{aes\_i.h}}
\doxysubsubsection{TE421}
{\footnotesize\ttfamily \#define TE421(\begin{DoxyParamCaption}\item[{}]{i }\end{DoxyParamCaption})~((\textbf{ Te0}[((i) $>$$>$ 16) \& 0xff] $<$$<$ 8) \& 0xff000000)}

\mbox{\label{aes__i_8h_ab8d6d16722bec5c722789980391bdab9}} 
\index{aes\_i.h@{aes\_i.h}!TE43@{TE43}}
\index{TE43@{TE43}!aes\_i.h@{aes\_i.h}}
\doxysubsubsection{TE43}
{\footnotesize\ttfamily \#define TE43(\begin{DoxyParamCaption}\item[{}]{i }\end{DoxyParamCaption})~(\textbf{ Te0}[((i) $>$$>$ 8) \& 0xff] \& 0x0000ff00)}

\mbox{\label{aes__i_8h_ad46c1383b72b79d70b048034a34a8267}} 
\index{aes\_i.h@{aes\_i.h}!TE432@{TE432}}
\index{TE432@{TE432}!aes\_i.h@{aes\_i.h}}
\doxysubsubsection{TE432}
{\footnotesize\ttfamily \#define TE432(\begin{DoxyParamCaption}\item[{}]{i }\end{DoxyParamCaption})~(\textbf{ Te0}[((i) $>$$>$ 8) \& 0xff] \& 0x00ff0000)}

\mbox{\label{aes__i_8h_a353ed5ebc3987e0dccc4bb96b94f6f1d}} 
\index{aes\_i.h@{aes\_i.h}!TE44@{TE44}}
\index{TE44@{TE44}!aes\_i.h@{aes\_i.h}}
\doxysubsubsection{TE44}
{\footnotesize\ttfamily \#define TE44(\begin{DoxyParamCaption}\item[{}]{i }\end{DoxyParamCaption})~((\textbf{ Te0}[(i) \& 0xff] $>$$>$ 8) \& 0x000000ff)}

\mbox{\label{aes__i_8h_ab74487232d6015e200c21bf7c3f499af}} 
\index{aes\_i.h@{aes\_i.h}!TE443@{TE443}}
\index{TE443@{TE443}!aes\_i.h@{aes\_i.h}}
\doxysubsubsection{TE443}
{\footnotesize\ttfamily \#define TE443(\begin{DoxyParamCaption}\item[{}]{i }\end{DoxyParamCaption})~(\textbf{ Te0}[(i) \& 0xff] \& 0x0000ff00)}



\doxysubsection{Function Documentation}
\mbox{\label{aes__i_8h_a10668a1ca14115a010de1b8d2736ce93}} 
\index{aes\_i.h@{aes\_i.h}!rijndaelKeySetupEnc@{rijndaelKeySetupEnc}}
\index{rijndaelKeySetupEnc@{rijndaelKeySetupEnc}!aes\_i.h@{aes\_i.h}}
\doxysubsubsection{rijndaelKeySetupEnc()}
{\footnotesize\ttfamily void rijndael\+Key\+Setup\+Enc (\begin{DoxyParamCaption}\item[{\textbf{ u32}}]{rk[$\,$],  }\item[{const \textbf{ u8}}]{cipher\+Key[$\,$] }\end{DoxyParamCaption})}



Expand the cipher key into the encryption key schedule. 

\begin{DoxyReturn}{Returns}
the number of rounds for the given cipher key size. 
\end{DoxyReturn}


References \textbf{ GETU32}, \textbf{ RCON}, \textbf{ TE414}, \textbf{ TE421}, \textbf{ TE432}, and \textbf{ TE443}.



Referenced by \textbf{ aes\+\_\+encrypt\+\_\+init()}.

\mbox{\label{aes__i_8h_a5db758ddbcccd45d11ed559264c7dd53}} 
\index{aes\_i.h@{aes\_i.h}!rotr@{rotr}}
\index{rotr@{rotr}!aes\_i.h@{aes\_i.h}}
\doxysubsubsection{rotr()}
{\footnotesize\ttfamily static \textbf{ u32} rotr (\begin{DoxyParamCaption}\item[{\textbf{ u32}}]{val,  }\item[{int}]{bits }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



\doxysubsection{Variable Documentation}
\mbox{\label{aes__i_8h_a2020f5f83c4f2879679917adc6914a19}} 
\index{aes\_i.h@{aes\_i.h}!rcon@{rcon}}
\index{rcon@{rcon}!aes\_i.h@{aes\_i.h}}
\doxysubsubsection{rcon}
{\footnotesize\ttfamily const \textbf{ u32} rcon[10]\hspace{0.3cm}{\ttfamily [extern]}}

\mbox{\label{aes__i_8h_ab55180ee6d8f5926175d10838d858bfa}} 
\index{aes\_i.h@{aes\_i.h}!rcons@{rcons}}
\index{rcons@{rcons}!aes\_i.h@{aes\_i.h}}
\doxysubsubsection{rcons}
{\footnotesize\ttfamily const \textbf{ u8} rcons[10]\hspace{0.3cm}{\ttfamily [extern]}}

\mbox{\label{aes__i_8h_a617bd984c9eb22d503cc618506643ae7}} 
\index{aes\_i.h@{aes\_i.h}!Td0@{Td0}}
\index{Td0@{Td0}!aes\_i.h@{aes\_i.h}}
\doxysubsubsection{Td0}
{\footnotesize\ttfamily const \textbf{ u32} Td0[256]\hspace{0.3cm}{\ttfamily [extern]}}

\mbox{\label{aes__i_8h_affc46a00885a1ab0a29823cc01a67f17}} 
\index{aes\_i.h@{aes\_i.h}!Td1@{Td1}}
\index{Td1@{Td1}!aes\_i.h@{aes\_i.h}}
\doxysubsubsection{Td1}
{\footnotesize\ttfamily const \textbf{ u32} Td1[256]\hspace{0.3cm}{\ttfamily [extern]}}

\mbox{\label{aes__i_8h_a323f7df0eea492981a39b79c55c233ba}} 
\index{aes\_i.h@{aes\_i.h}!Td2@{Td2}}
\index{Td2@{Td2}!aes\_i.h@{aes\_i.h}}
\doxysubsubsection{Td2}
{\footnotesize\ttfamily const \textbf{ u32} Td2[256]\hspace{0.3cm}{\ttfamily [extern]}}

\mbox{\label{aes__i_8h_a40c72041352a52847fc791d1b8e05f1c}} 
\index{aes\_i.h@{aes\_i.h}!Td3@{Td3}}
\index{Td3@{Td3}!aes\_i.h@{aes\_i.h}}
\doxysubsubsection{Td3}
{\footnotesize\ttfamily const \textbf{ u32} Td3[256]\hspace{0.3cm}{\ttfamily [extern]}}

\mbox{\label{aes__i_8h_a7e2642c14540b077b00ddc75ba958c64}} 
\index{aes\_i.h@{aes\_i.h}!Td4@{Td4}}
\index{Td4@{Td4}!aes\_i.h@{aes\_i.h}}
\doxysubsubsection{Td4}
{\footnotesize\ttfamily const \textbf{ u32} Td4[256]\hspace{0.3cm}{\ttfamily [extern]}}

\mbox{\label{aes__i_8h_a506d1ef74e2736ea77ac61b37e8a87d1}} 
\index{aes\_i.h@{aes\_i.h}!Td4s@{Td4s}}
\index{Td4s@{Td4s}!aes\_i.h@{aes\_i.h}}
\doxysubsubsection{Td4s}
{\footnotesize\ttfamily const \textbf{ u8} Td4s[256]\hspace{0.3cm}{\ttfamily [extern]}}

\mbox{\label{aes__i_8h_a256ba7f8b00895413e42ba5039ed27c5}} 
\index{aes\_i.h@{aes\_i.h}!Te0@{Te0}}
\index{Te0@{Te0}!aes\_i.h@{aes\_i.h}}
\doxysubsubsection{Te0}
{\footnotesize\ttfamily const \textbf{ u32} Te0[256]\hspace{0.3cm}{\ttfamily [extern]}}

\mbox{\label{aes__i_8h_a457d96b91f5a632c62ceb58f2c088ec6}} 
\index{aes\_i.h@{aes\_i.h}!Te1@{Te1}}
\index{Te1@{Te1}!aes\_i.h@{aes\_i.h}}
\doxysubsubsection{Te1}
{\footnotesize\ttfamily const \textbf{ u32} Te1[256]\hspace{0.3cm}{\ttfamily [extern]}}

\mbox{\label{aes__i_8h_a378800db0abd57a9d948dd3994797cc6}} 
\index{aes\_i.h@{aes\_i.h}!Te2@{Te2}}
\index{Te2@{Te2}!aes\_i.h@{aes\_i.h}}
\doxysubsubsection{Te2}
{\footnotesize\ttfamily const \textbf{ u32} Te2[256]\hspace{0.3cm}{\ttfamily [extern]}}

\mbox{\label{aes__i_8h_ad3d51b5781132ffed4e9d265ab764f12}} 
\index{aes\_i.h@{aes\_i.h}!Te3@{Te3}}
\index{Te3@{Te3}!aes\_i.h@{aes\_i.h}}
\doxysubsubsection{Te3}
{\footnotesize\ttfamily const \textbf{ u32} Te3[256]\hspace{0.3cm}{\ttfamily [extern]}}

\mbox{\label{aes__i_8h_a7813c854a494b64c13b90353125741f5}} 
\index{aes\_i.h@{aes\_i.h}!Te4@{Te4}}
\index{Te4@{Te4}!aes\_i.h@{aes\_i.h}}
\doxysubsubsection{Te4}
{\footnotesize\ttfamily const \textbf{ u32} Te4[256]\hspace{0.3cm}{\ttfamily [extern]}}

