文件
PazeSSH/include/paze/hkdf.h
T

32 行
1.1 KiB
C

#ifndef PAZE_HKDF_H
#define PAZE_HKDF_H
#include "paze/paze_types.h"
#include "paze/hash.h"
#ifdef __cplusplus
extern "C" {
#endif
/* HKDF-Extract: PRK = HMAC(salt, IKM)。out 长度 = alg->digest_len */
paze_status_t paze_hkdf_extract(const paze_hash_alg_t *alg,
const uint8_t *salt, size_t saltlen,
const uint8_t *ikm, size_t ikmlen,
uint8_t *prk);
/* HKDF-Expand: 输出 L 字节(L <= 255*digest_len) */
paze_status_t paze_hkdf_expand(const paze_hash_alg_t *alg,
const uint8_t *prk, size_t prklen,
const uint8_t *info, size_t infolen,
uint8_t *out, size_t outlen);
/* HKDF = Extract+Expand */
paze_status_t paze_hkdf(const paze_hash_alg_t *alg,
const uint8_t *salt, size_t saltlen,
const uint8_t *ikm, size_t ikmlen,
const uint8_t *info, size_t infolen,
uint8_t *out, size_t outlen);
#ifdef __cplusplus
}
#endif
#endif