xof: Add helper to determine MGF1 XOF type from hash algorithm
This commit is contained in:
@@ -1,4 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
|
* Copyright (C) 2017 Tobias Brunner
|
||||||
* Copyright (C) 2016 Andreas Steffen
|
* Copyright (C) 2016 Andreas Steffen
|
||||||
* HSR Hochschule fuer Technik Rapperswil
|
* HSR Hochschule fuer Technik Rapperswil
|
||||||
*
|
*
|
||||||
@@ -25,3 +26,31 @@ ENUM(ext_out_function_names, XOF_UNDEFINED, XOF_CHACHA20,
|
|||||||
"XOF_CHACHA20"
|
"XOF_CHACHA20"
|
||||||
);
|
);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Described in header
|
||||||
|
*/
|
||||||
|
ext_out_function_t xof_mgf1_from_hash_algorithm(hash_algorithm_t alg)
|
||||||
|
{
|
||||||
|
switch (alg)
|
||||||
|
{
|
||||||
|
case HASH_SHA1:
|
||||||
|
return XOF_MGF1_SHA1;
|
||||||
|
case HASH_SHA256:
|
||||||
|
return XOF_MGF1_SHA256;
|
||||||
|
case HASH_SHA512:
|
||||||
|
return XOF_MGF1_SHA512;
|
||||||
|
case HASH_SHA224:
|
||||||
|
case HASH_SHA384:
|
||||||
|
case HASH_IDENTITY:
|
||||||
|
case HASH_UNKNOWN:
|
||||||
|
case HASH_MD2:
|
||||||
|
case HASH_MD4:
|
||||||
|
case HASH_MD5:
|
||||||
|
case HASH_SHA3_224:
|
||||||
|
case HASH_SHA3_256:
|
||||||
|
case HASH_SHA3_384:
|
||||||
|
case HASH_SHA3_512:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return XOF_UNDEFINED;
|
||||||
|
}
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
|
* Copyright (C) 2017 Tobias Brunner
|
||||||
* Copyright (C) 2016 Andreas Steffen
|
* Copyright (C) 2016 Andreas Steffen
|
||||||
* HSR Hochschule fuer Technik Rapperswil
|
* HSR Hochschule fuer Technik Rapperswil
|
||||||
*
|
*
|
||||||
@@ -111,4 +112,12 @@ struct xof_t {
|
|||||||
void (*destroy)(xof_t *this);
|
void (*destroy)(xof_t *this);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Determine an MGF1 XOF type for the given hash algorithm.
|
||||||
|
*
|
||||||
|
* @param alg hash algorithm to map
|
||||||
|
* @return MGF1 XOF type if available, XOF_UNDEFINED otherwise
|
||||||
|
*/
|
||||||
|
ext_out_function_t xof_mgf1_from_hash_algorithm(hash_algorithm_t alg);
|
||||||
|
|
||||||
#endif /** XOF_H_ @}*/
|
#endif /** XOF_H_ @}*/
|
||||||
|
|||||||
Reference in New Issue
Block a user