www.pudn.com > agsm2-1.2_src.zip > test_sha_based_aka.cpp


/* test_sha_based_aka.c */ 
#include "stdafx.h" 
#include  
#include "aka.h" 
 
#ifdef DEBUG 
#define dbg_printf printf 
#else 
#define dbg_printf 
#endif 
 
//unsigned char *msg_data = 
//	"abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq"; 
 
void pause(void) 
{ 
	dbg_printf("Press any key to continue\n"); 
#ifdef DEBUG 
	getchar(); 
#endif 
} 
 
void test_aka() 
{ 
	uchar K[]={0xad,0x1b,0x5a,0x15,0x9b,0xe8,0x6b,0x2c, 
		   0xa6,0x6c,0x7a,0xe4,0x0b,0xba,0x9b,0x9d}; 
 
	uchar seed[]={0xb0,0xab,0xb9,0x9d,0x6a,0xc6,0xa7,0x4e, 
			0xb9,0x8e,0xb6,0xc2,0xda,0xb1,0xa5,0x51}; 
 
	uchar Fmk[L_FMK] = { 'A', 'H', 'A', 'G' }; 
	uchar RAND[L_RAND]; 
 
	uchar CK[L_CK]; 
	uchar IK[L_IK]; 
        uchar UAK[L_UAK]; 
 
	uchar MACA[L_MACA]; 
	uchar MACS[L_MACS]; 
	uchar RES[L_RES]; 
	uchar AK[L_AK]; 
	uchar AKS[L_AKS]; 
 
	uchar SQN[L_SQN]={0x00,0x00,0x00,0x00,0x00,0x01}; 
	uchar fi0,fi1,fi1star,fi2,fi3,fi4,fi5,fi5star,fi11; 
 
	uchar buff1[L_RAND/2],buff2[L_RAND/2]; 
 
	uchar AMF[2]; 
 
	int i; 
 
	fi0=0x41; 
	fi1=0x42; 
	fi1star=0x43; 
	fi2=0x44; 
	fi3=0x45; 
	fi4=0x46; 
	fi5=0x47; 
	fi5star=0x48; 
        fi11 = 0x50; 
	dbg_printf("test vector for f0:\n"); 
	dbg_printf("input section\n"); 
	dbg_printf("seed is:	"); 
	for(i=0;i