\doxysection{src/gsm/auth\+\_\+xor.c File Reference}
\label{auth__xor_8c}\index{src/gsm/auth\_xor.c@{src/gsm/auth\_xor.c}}


GSM/\+GPRS/3G authentication core infrastructure.  


{\ttfamily \#include $<$string.\+h$>$}\newline
{\ttfamily \#include $<$stdint.\+h$>$}\newline
{\ttfamily \#include $<$errno.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/core/bit64gen.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/crypt/auth.\+h$>$}\newline
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
static void \textbf{ xor} (uint8\+\_\+t $\ast$out, const uint8\+\_\+t $\ast$a, const uint8\+\_\+t $\ast$b, size\+\_\+t \textbf{ len})
\item 
static int \textbf{ xor\+\_\+gen\+\_\+vec} (struct \textbf{ osmo\+\_\+auth\+\_\+vector} $\ast$vec, struct \textbf{ osmo\+\_\+sub\+\_\+auth\+\_\+data2} $\ast$aud, const uint8\+\_\+t $\ast$\+\_\+rand)
\item 
static int \textbf{ xor\+\_\+gen\+\_\+vec\+\_\+auts} (struct \textbf{ osmo\+\_\+auth\+\_\+vector} $\ast$vec, struct \textbf{ osmo\+\_\+sub\+\_\+auth\+\_\+data2} $\ast$aud, const uint8\+\_\+t $\ast$auts, const uint8\+\_\+t $\ast$rand\+\_\+auts, const uint8\+\_\+t $\ast$\+\_\+rand)
\item 
static \textbf{ \+\_\+\+\_\+attribute\+\_\+\+\_\+} ((constructor))
\end{DoxyCompactItemize}
\doxysubsection*{Variables}
\begin{DoxyCompactItemize}
\item 
static struct \textbf{ osmo\+\_\+auth\+\_\+impl} \textbf{ xor\+\_\+alg}
\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
GSM/\+GPRS/3G authentication core infrastructure. 

GSM XOR-\/2G algorithm as specified in Annex 4 (A.\+4.\+1.\+2) of 3GPP TS 51.\+010-\/1.

This is implemented by typical GSM MS tester 

\doxysubsection{Function Documentation}
\mbox{\label{auth__xor_8c_ga9ed16867a9394d9ccf1132194edae298}} 
\index{auth\_xor.c@{auth\_xor.c}!\_\_attribute\_\_@{\_\_attribute\_\_}}
\index{\_\_attribute\_\_@{\_\_attribute\_\_}!auth\_xor.c@{auth\_xor.c}}
\doxysubsubsection{\_\_attribute\_\_()}
{\footnotesize\ttfamily static \+\_\+\+\_\+attribute\+\_\+\+\_\+ (\begin{DoxyParamCaption}\item[{(constructor)}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ osmo\+\_\+auth\+\_\+register()}, and \textbf{ xor\+\_\+alg}.

