\doxysection{tuak.\+h}
\label{tuak_8h_source}\index{src/gsm/tuak/tuak.h@{src/gsm/tuak/tuak.h}}
\textbf{ Go to the documentation of this file.}
\begin{DoxyCode}{0}
\DoxyCodeLine{1 \textcolor{preprocessor}{\#pragma once}}
\DoxyCodeLine{2 \textcolor{preprocessor}{\#include <stdint.h>}}
\DoxyCodeLine{3 }
\DoxyCodeLine{4 \textcolor{comment}{/* low-\/level functions */}}
\DoxyCodeLine{5 }
\DoxyCodeLine{6 \textcolor{keywordtype}{int} tuak\_f1(\textcolor{keyword}{const} uint8\_t *opc, \textcolor{keyword}{const} uint8\_t *k, uint8\_t k\_len\_bytes, \textcolor{keyword}{const} uint8\_t *\_rand,}
\DoxyCodeLine{7             \textcolor{keyword}{const} uint8\_t *sqn, \textcolor{keyword}{const} uint8\_t *amf, uint8\_t *mac\_a, uint8\_t mac\_a\_len\_bytes,}
\DoxyCodeLine{8             \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{int} keccac\_iterations);}
\DoxyCodeLine{9 }
\DoxyCodeLine{10 \textcolor{keywordtype}{int} tuak\_f1star(\textcolor{keyword}{const} uint8\_t *opc, \textcolor{keyword}{const} uint8\_t *k, uint8\_t k\_len\_bytes, \textcolor{keyword}{const} uint8\_t *\_rand,}
\DoxyCodeLine{11                 \textcolor{keyword}{const} uint8\_t *sqn, \textcolor{keyword}{const} uint8\_t *amf, uint8\_t *mac\_s, uint8\_t mac\_s\_len\_bytes,}
\DoxyCodeLine{12                 \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{int} keccac\_iterations);}
\DoxyCodeLine{13 }
\DoxyCodeLine{14 \textcolor{keywordtype}{int} tuak\_f2345(\textcolor{keyword}{const} uint8\_t *opc, \textcolor{keyword}{const} uint8\_t *k, uint8\_t k\_len\_bytes,}
\DoxyCodeLine{15                \textcolor{keyword}{const} uint8\_t *\_rand, uint8\_t *res, uint8\_t res\_len\_bytes,}
\DoxyCodeLine{16                uint8\_t *ck, uint8\_t ck\_len\_bytes,}
\DoxyCodeLine{17                uint8\_t *ik, uint8\_t ik\_len\_bytes, uint8\_t *ak, \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{int} keccac\_iterations);}
\DoxyCodeLine{18 }
\DoxyCodeLine{19 \textcolor{keywordtype}{int} tuak\_f5star(\textcolor{keyword}{const} uint8\_t *opc, \textcolor{keyword}{const} uint8\_t *k, uint8\_t k\_len\_bytes,}
\DoxyCodeLine{20                 \textcolor{keyword}{const} uint8\_t *\_rand, uint8\_t *ak, \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{int} keccac\_iterations);}
\DoxyCodeLine{21 }
\DoxyCodeLine{22 \textcolor{comment}{/* high-\/level API */}}
\DoxyCodeLine{23 }
\DoxyCodeLine{24 \textcolor{keywordtype}{void} tuak\_set\_keccak\_iterations(\textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{int} i);}
\DoxyCodeLine{25 }
\DoxyCodeLine{26 \textcolor{keywordtype}{void} tuak\_generate(\textcolor{keyword}{const} uint8\_t *opc, \textcolor{keyword}{const} uint8\_t *amf, \textcolor{keyword}{const} uint8\_t *k, uint8\_t k\_len\_bytes,}
\DoxyCodeLine{27                    \textcolor{keyword}{const} uint8\_t *sqn, \textcolor{keyword}{const} uint8\_t *\_rand, uint8\_t *autn, uint8\_t *ik,}
\DoxyCodeLine{28                    uint8\_t *ck, uint8\_t *res, \textcolor{keywordtype}{size\_t} *res\_len);}
\DoxyCodeLine{29 }
\DoxyCodeLine{30 \textcolor{keywordtype}{int} tuak\_auts(\textcolor{keyword}{const} uint8\_t *opc, \textcolor{keyword}{const} uint8\_t *k, uint8\_t k\_len\_bytes,}
\DoxyCodeLine{31               \textcolor{keyword}{const} uint8\_t *\_rand, \textcolor{keyword}{const} uint8\_t *auts, uint8\_t *sqn);}
\DoxyCodeLine{32 }
\DoxyCodeLine{33 \textcolor{keywordtype}{int} tuak\_opc\_gen(uint8\_t *opc, \textcolor{keyword}{const} uint8\_t *k, uint8\_t k\_len\_bytes, \textcolor{keyword}{const} uint8\_t *op);}

\end{DoxyCode}
