Home | History | Annotate | Download | only in tests
      1 /*
      2  * Test program for EAP-SIM PRF
      3  * Copyright (c) 2004-2006, Jouni Malinen <j (at) w1.fi>
      4  *
      5  * This software may be distributed under the terms of the BSD license.
      6  * See README for more details.
      7  */
      8 
      9 #include "eap_common/eap_sim_common.c"
     10 
     11 
     12 static int test_eap_sim_prf(void)
     13 {
     14 	/* http://csrc.nist.gov/encryption/dss/Examples-1024bit.pdf */
     15 	u8 xkey[] = {
     16 		0xbd, 0x02, 0x9b, 0xbe, 0x7f, 0x51, 0x96, 0x0b,
     17 		0xcf, 0x9e, 0xdb, 0x2b, 0x61, 0xf0, 0x6f, 0x0f,
     18 		0xeb, 0x5a, 0x38, 0xb6
     19 	};
     20 	u8 w[] = {
     21 		0x20, 0x70, 0xb3, 0x22, 0x3d, 0xba, 0x37, 0x2f,
     22 		0xde, 0x1c, 0x0f, 0xfc, 0x7b, 0x2e, 0x3b, 0x49,
     23 		0x8b, 0x26, 0x06, 0x14, 0x3c, 0x6c, 0x18, 0xba,
     24 		0xcb, 0x0f, 0x6c, 0x55, 0xba, 0xbb, 0x13, 0x78,
     25 		0x8e, 0x20, 0xd7, 0x37, 0xa3, 0x27, 0x51, 0x16
     26 	};
     27 	u8 buf[40];
     28 
     29 	printf("Testing EAP-SIM PRF (FIPS 186-2 + change notice 1)\n");
     30 	eap_sim_prf(xkey, buf, sizeof(buf));
     31 	if (memcmp(w, buf, sizeof(w)) != 0) {
     32 		printf("eap_sim_prf failed\n");
     33 		return 1;
     34 	}
     35 
     36 	return 0;
     37 }
     38 
     39 
     40 int main(int argc, char *argv[])
     41 {
     42 	int errors = 0;
     43 
     44 	errors += test_eap_sim_prf();
     45 
     46 	return errors;
     47 }
     48