mirror of
https://github.com/strongswan/strongswan.git
synced 2025-10-05 00:00:45 -04:00
crypto: Add new KDF type for IKEv2 PRFs
This commit is contained in:
parent
7bde56a9bc
commit
37dbc87960
@ -1217,6 +1217,7 @@ static kdf_t *create_kdf_vector(kdf_constructor_t create,
|
||||
{
|
||||
switch (alg)
|
||||
{
|
||||
case KDF_PRF:
|
||||
case KDF_PRF_PLUS:
|
||||
return create_kdf_args(create, alg, vector->arg.prf);
|
||||
case KDF_UNDEFINED:
|
||||
@ -1235,6 +1236,7 @@ static bool kdf_vector_applies(key_derivation_function_t alg,
|
||||
|
||||
switch (alg)
|
||||
{
|
||||
case KDF_PRF:
|
||||
case KDF_PRF_PLUS:
|
||||
{
|
||||
pseudo_random_function_t prf;
|
||||
|
@ -24,6 +24,7 @@
|
||||
|
||||
ENUM(key_derivation_function_names, KDF_UNDEFINED, KDF_PRF_PLUS,
|
||||
"KDF_UNDEFINED",
|
||||
"KDF_PRF",
|
||||
"KDF_PRF_PLUS",
|
||||
);
|
||||
|
||||
@ -34,6 +35,8 @@ bool kdf_has_fixed_output_length(key_derivation_function_t type)
|
||||
{
|
||||
switch (type)
|
||||
{
|
||||
case KDF_PRF:
|
||||
return TRUE;
|
||||
case KDF_PRF_PLUS:
|
||||
case KDF_UNDEFINED:
|
||||
break;
|
||||
|
@ -41,9 +41,16 @@ enum key_derivation_function_t {
|
||||
|
||||
KDF_UNDEFINED,
|
||||
|
||||
/**
|
||||
* RFC 7296 prf, expects a pseudo_random_function_t in the constructor,
|
||||
* parameters are KEY (DH secret) and SALT (nonces).
|
||||
* Has a fixed output length.
|
||||
*/
|
||||
KDF_PRF,
|
||||
|
||||
/**
|
||||
* RFC 7296 prf+, expects a pseudo_random_function_t in the constructor,
|
||||
* parameters are KEY and SALT.
|
||||
* parameters are KEY (SKEYSEED/SK_d) and SALT (nonces etc.).
|
||||
*/
|
||||
KDF_PRF_PLUS,
|
||||
};
|
||||
|
Loading…
x
Reference in New Issue
Block a user