\doxysection{src/gsm/kdf.c File Reference}
\label{kdf_8c}\index{src/gsm/kdf.c@{src/gsm/kdf.c}}
{\ttfamily \#include $<$stdint.\+h$>$}\newline
{\ttfamily \#include $<$string.\+h$>$}\newline
{\ttfamily \#include \char`\"{}config.\+h\char`\"{}}\newline
{\ttfamily \#include $<$osmocom/crypt/kdf.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/core/bit32gen.\+h$>$}\newline
{\ttfamily \#include \char`\"{}kdf/common.\+h\char`\"{}}\newline
{\ttfamily \#include \char`\"{}kdf/sha256.\+h\char`\"{}}\newline
\doxysubsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\#define \textbf{ HMAC\+\_\+\+FUNC}(k,  lk,  s,  sl,  out)~\textbf{ hmac\+\_\+sha256}(k,lk,s,sl,out)
\end{DoxyCompactItemize}
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
void \textbf{ osmo\+\_\+kdf\+\_\+kc128} (const uint8\+\_\+t $\ast$ck, const uint8\+\_\+t $\ast$ik, uint8\+\_\+t $\ast$kc128)
\item 
void \textbf{ osmo\+\_\+kdf\+\_\+kasme} (const uint8\+\_\+t $\ast$ck, const uint8\+\_\+t $\ast$ik, const uint8\+\_\+t $\ast$plmn\+\_\+id, const uint8\+\_\+t $\ast$sqn, const uint8\+\_\+t $\ast$ak, uint8\+\_\+t $\ast$kasme)
\item 
void \textbf{ osmo\+\_\+kdf\+\_\+enb} (const uint8\+\_\+t $\ast$kasme, uint32\+\_\+t ul\+\_\+count, uint8\+\_\+t $\ast$kenb)
\item 
void \textbf{ osmo\+\_\+kdf\+\_\+nh} (const uint8\+\_\+t $\ast$kasme, const uint8\+\_\+t $\ast$sync\+\_\+input, uint8\+\_\+t $\ast$nh)
\item 
void \textbf{ osmo\+\_\+kdf\+\_\+nas} (uint8\+\_\+t algo\+\_\+type, uint8\+\_\+t algo\+\_\+id, const uint8\+\_\+t $\ast$kasme, uint8\+\_\+t $\ast$knas)
\end{DoxyCompactItemize}


\doxysubsection{Macro Definition Documentation}
\mbox{\label{kdf_8c_a367e523e2d31624774ca1d515ac0b078}} 
\index{kdf.c@{kdf.c}!HMAC\_FUNC@{HMAC\_FUNC}}
\index{HMAC\_FUNC@{HMAC\_FUNC}!kdf.c@{kdf.c}}
\doxysubsubsection{HMAC\_FUNC}
{\footnotesize\ttfamily \#define HMAC\+\_\+\+FUNC(\begin{DoxyParamCaption}\item[{}]{k,  }\item[{}]{lk,  }\item[{}]{s,  }\item[{}]{sl,  }\item[{}]{out }\end{DoxyParamCaption})~\textbf{ hmac\+\_\+sha256}(k,lk,s,sl,out)}

