CommonKeyDerivationSPI.h [plain text]
#ifndef CommonCrypto_CommonNistKeyDerivation_h
#define CommonCrypto_CommonNistKeyDerivation_h
#include <CommonCrypto/CommonCryptor.h>
#include <CommonCrypto/CommonDigestSPI.h>
#include <os/availability.h>
#ifdef __cplusplus
extern "C" {
#endif
enum {
kCCKDFAlgorithmPBKDF2_HMAC = 0,
kCCKDFAlgorithmCTR_HMAC,
kCCKDFAlgorithmCTR_HMAC_FIXED,
kCCKDFAlgorithmFB_HMAC, kCCKDFAlgorithmFB_HMAC_FIXED, kCCKDFAlgorithmDPIPE_HMAC, kCCKDFAlgorithmHKDF
};
typedef uint32_t CCKDFAlgorithm;
CCStatus
CCKeyDerivationHMac(CCKDFAlgorithm algorithm, CCDigestAlgorithm digest,
unsigned rounds, const void *keyDerivationKey, size_t keyDerivationKeyLen,
const void *label, size_t labelLen,
const void *context, size_t contextLen, const void *iv, size_t ivLen, const void *salt, size_t saltLen, void *derivedKey, size_t derivedKeyLen)
API_AVAILABLE(macos(10.10), ios(8.0));
#ifdef __cplusplus
}
#endif
#endif