Main Page   Class Hierarchy   Compound List   File List   Compound Members  

milenage.h

00001 /*-------------------------------------------------------------------
00002  *          Example algorithms f1, f1*, f2, f3, f4, f5, f5*
00003  *-------------------------------------------------------------------
00004  *
00005  *  A sample implementation of the example 3GPP authentication and
00006  *  key agreement functions f1, f1*, f2, f3, f4, f5 and f5*.  This is
00007  *  a byte-oriented implementation of the functions, and of the block
00008  *  cipher kernel function Rijndael.
00009  *
00010  *  This has been coded for clarity, not necessarily for efficiency.
00011  *
00012  *  The functions f2, f3, f4 and f5 share the same inputs and have
00013  *  been coded together as a single function.  f1, f1* and f5* are
00014  *  all coded separately.
00015  *
00016  *-----------------------------------------------------------------*/
00017 
00018 #ifndef MILENAGE_H
00019 #define MILENAGE_H
00020 
00021 typedef unsigned char u8;
00022 
00023 
00024 void f1    ( u8 k[16], u8 rand[16], u8 sqn[6], u8 amf[2],
00025              u8 mac_a[8], u8 op[16] );
00026 void f2345 ( u8 k[16], u8 rand[16],
00027              u8 res[8], u8 ck[16], u8 ik[16], u8 ak[6], u8 op[16] );
00028 void f1star( u8 k[16], u8 rand[16], u8 sqn[6], u8 amf[2],
00029              u8 mac_s[8], u8 op[16] );
00030 void f5star( u8 k[16], u8 rand[16],
00031              u8 ak[6], u8 op[16] );
00032 void ComputeOPc( u8 op_c[16], u8 op[16] );
00033 
00034 
00035 #endif

Generated on Wed Mar 7 14:44:59 2007 for Seagull by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002