summaryrefslogtreecommitdiff
path: root/cesar/cp/secu/src/secu.c
diff options
context:
space:
mode:
Diffstat (limited to 'cesar/cp/secu/src/secu.c')
-rw-r--r--cesar/cp/secu/src/secu.c21
1 files changed, 7 insertions, 14 deletions
diff --git a/cesar/cp/secu/src/secu.c b/cesar/cp/secu/src/secu.c
index 39bfd895c3..e9b94a88f8 100644
--- a/cesar/cp/secu/src/secu.c
+++ b/cesar/cp/secu/src/secu.c
@@ -98,18 +98,15 @@ cp_secu_protocol_next (cp_secu_protocol_run_t *prun, bool last)
}
}
-/**
- * Generate the AES key.
- * \param num a random number.
- * \param output the key generated.
- */
void
-cp_secu_aes_generate_key (uint num, u8 *output)
+cp_secu_aes_generate_key (const uint num, cp_key_t *output)
{
- dbg_assert (num);
+ /* Check parameter. */
dbg_assert (output);
- cp_secu_pbkdf1 ((u8*) &num, output, 4, CP_SECU_SALT_SPIDCOM);
+ /* Call the real function to generate an AES key. */
+ cp_secu_pbkdf1 ((const u8 *) &num, sizeof (num),
+ output, CP_SECU_SALT_SPIDCOM);
}
/**
@@ -121,16 +118,12 @@ cp_secu_aes_generate_key (uint num, u8 *output)
cp_nid_t
cp_secu_nmk2nid(cp_key_t nmk, u8 security_level)
{
- uint i;
cp_nid_t nid = 0;
- u8 buffer[CP_NMK_SIZE];
+ u8 buffer[CP_SECU_OUTPUT_KEY_SIZE];
dbg_assert (security_level <= 2);
- for (i = 0; i < 4; i++)
- memcpy (buffer + i * 4, &nmk.key[i], 4);
-
- secu_pbkdf1 (buffer, CP_NMK_SIZE, NULL, 0, CP_SECU_PBKDF1_ITERATION_NID,
+ secu_pbkdf1 ((const u8 *) &nmk, sizeof (nmk), NULL, CP_SECU_PBKDF1_ITERATION_NID,
buffer);
/* Set the right nibble of rightmost octet of NID = rightmost nibble