|
|
|
@ -1124,7 +1124,15 @@ LIBLTE_ERROR_ENUM liblte_security_milenage_f1(uint8 *k,
|
|
|
|
|
rijndael_key_schedule(k, &round_keys);
|
|
|
|
|
|
|
|
|
|
// Compute OPc
|
|
|
|
|
compute_OPc(&round_keys, op, op_c);
|
|
|
|
|
printf("OPc 0x: ");
|
|
|
|
|
for(i=0;i<16;i++)
|
|
|
|
|
{
|
|
|
|
|
op_c[i] = op[i];
|
|
|
|
|
printf("%02x", op_c[i]);
|
|
|
|
|
}
|
|
|
|
|
printf("\n");
|
|
|
|
|
|
|
|
|
|
//compute_OPc(&round_keys, op, op_c);
|
|
|
|
|
|
|
|
|
|
// Compute temp
|
|
|
|
|
for(i=0; i<16; i++)
|
|
|
|
@ -1207,8 +1215,16 @@ LIBLTE_ERROR_ENUM liblte_security_milenage_f1_star(uint8 *k,
|
|
|
|
|
// Initialize the round keys
|
|
|
|
|
rijndael_key_schedule(k, &round_keys);
|
|
|
|
|
|
|
|
|
|
printf("OPc 0x: ");
|
|
|
|
|
for(i=0;i<16;i++)
|
|
|
|
|
{
|
|
|
|
|
op_c[i] = op[i];
|
|
|
|
|
printf("%02x", op_c[i]);
|
|
|
|
|
}
|
|
|
|
|
printf("\n");
|
|
|
|
|
|
|
|
|
|
// Compute OPc
|
|
|
|
|
compute_OPc(&round_keys, op, op_c);
|
|
|
|
|
//compute_OPc(&round_keys, op, op_c);
|
|
|
|
|
|
|
|
|
|
// Compute temp
|
|
|
|
|
for(i=0; i<16; i++)
|
|
|
|
@ -1404,7 +1420,14 @@ LIBLTE_ERROR_ENUM liblte_security_milenage_f5_star(uint8 *k,
|
|
|
|
|
rijndael_key_schedule(k, &round_keys);
|
|
|
|
|
|
|
|
|
|
// Compute OPc
|
|
|
|
|
compute_OPc(&round_keys, op, op_c);
|
|
|
|
|
//compute_OPc(&round_keys, op, op_c);
|
|
|
|
|
printf("OPc 0x: ");
|
|
|
|
|
for(i=0;i<16;i++)
|
|
|
|
|
{
|
|
|
|
|
op_c[i] = op[i];
|
|
|
|
|
printf("%02x", op_c[i]);
|
|
|
|
|
}
|
|
|
|
|
printf("\n");
|
|
|
|
|
|
|
|
|
|
// Compute temp
|
|
|
|
|
for(i=0; i<16; i++)
|
|
|
|
|