HKDF (HMAC-based Key Derivation Function) - ORYX EMBEDDED
- Home
- CycloneTCP
- CycloneSSL
- CycloneSSH
- CycloneIPSEC
- CycloneSTP
- CycloneACME
- CycloneCRYPTO
- Download
- Main Page
- Data Structures
- Files
- File List
- Globals
- cyclone_crypto
- kdf
HKDF (HMAC-based Key Derivation Function) More...
#include "core/crypto.h" #include "kdf/hkdf.h" #include "mac/hmac.h"Go to the source code of this file.
Macros | |
| #define | TRACE_LEVEL CRYPTO_TRACE_LEVEL |
Functions | |
| error_t | hkdf (const HashAlgo *hash, const uint8_t *ikm, size_t ikmLen, const uint8_t *salt, size_t saltLen, const uint8_t *info, size_t infoLen, uint8_t *okm, size_t okmLen) |
| HKDF key derivation function. More... | |
| error_t | hkdfExtract (const HashAlgo *hash, const uint8_t *ikm, size_t ikmLen, const uint8_t *salt, size_t saltLen, uint8_t *prk) |
| HKDF extract step. More... | |
| error_t | hkdfExpand (const HashAlgo *hash, const uint8_t *prk, size_t prkLen, const uint8_t *info, size_t infoLen, uint8_t *okm, size_t okmLen) |
| HKDF expand step. More... | |
Detailed Description
HKDF (HMAC-based Key Derivation Function)
LicenseSPDX-License-Identifier: GPL-2.0-or-later
Copyright (C) 2010-2026 Oryx Embedded SARL. All rights reserved.
This file is part of CycloneCRYPTO Open.
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
DescriptionHKDF is a simple HMAC-based key derivation function which can be used as a building block in various protocols and applications. Refer to RFC 5869 for more details
AuthorOryx Embedded SARL (www.oryx-embedded.com) Version2.6.0Definition in file hkdf.c.
Macro Definition Documentation
◆ TRACE_LEVEL
| #define TRACE_LEVEL CRYPTO_TRACE_LEVEL |
Definition at line 38 of file hkdf.c.
Function Documentation
◆ hkdf()
| error_t hkdf | ( | const HashAlgo * | hash, |
| const uint8_t * | ikm, | ||
| size_t | ikmLen, | ||
| const uint8_t * | salt, | ||
| size_t | saltLen, | ||
| const uint8_t * | info, | ||
| size_t | infoLen, | ||
| uint8_t * | okm, | ||
| size_t | okmLen | ||
| ) |
HKDF key derivation function.
Parameters| [in] | hash | Underlying hash function |
| [in] | ikm | input keying material |
| [in] | ikmLen | Length in the input keying material |
| [in] | salt | Optional salt value (a non-secret random value) |
| [in] | saltLen | Length of the salt |
| [in] | info | Optional application specific information |
| [in] | infoLen | Length of the application specific information |
| [out] | okm | output keying material |
| [in] | okmLen | Length of the output keying material |
Definition at line 63 of file hkdf.c.
◆ hkdfExpand()
| error_t hkdfExpand | ( | const HashAlgo * | hash, |
| const uint8_t * | prk, | ||
| size_t | prkLen, | ||
| const uint8_t * | info, | ||
| size_t | infoLen, | ||
| uint8_t * | okm, | ||
| size_t | okmLen | ||
| ) |
HKDF expand step.
Parameters| [in] | hash | Underlying hash function |
| [in] | prk | Pseudorandom key |
| [in] | prkLen | Length of the pseudorandom key |
| [in] | info | Optional application specific information |
| [in] | infoLen | Length of the application specific information |
| [out] | okm | output keying material |
| [in] | okmLen | Length of the output keying material |
Definition at line 158 of file hkdf.c.
◆ hkdfExtract()
| error_t hkdfExtract | ( | const HashAlgo * | hash, |
| const uint8_t * | ikm, | ||
| size_t | ikmLen, | ||
| const uint8_t * | salt, | ||
| size_t | saltLen, | ||
| uint8_t * | prk | ||
| ) |
HKDF extract step.
Parameters| [in] | hash | Underlying hash function |
| [in] | ikm | input keying material |
| [in] | ikmLen | Length in the input keying material |
| [in] | salt | Optional salt value (a non-secret random value) |
| [in] | saltLen | Length of the salt |
| [out] | prk | Pseudorandom key |
Definition at line 97 of file hkdf.c.
Copyright © 2023 Oryx Embedded SARL. All Rights Reserved. Contact Terms PrivacyTừ khóa » C Hkdf
-
Rfc6234/hkdf.c At Master - GitHub
-
Hkdf.c Source Code - HKDF (HMAC-based Key Derivation Function)
-
Fs/crypto/hkdf.c - Linux Source Code (v5.19) - Elixir Bootlin
-
HKDF - Wikipedia
-
HKDF | Apple Developer Documentation
-
OpenSSL: Crypto/kdf/hkdf.c - Fossies
-
Key Derivation Functions — Cryptography 38.0.v1 Documentation
-
How To Implement HKDF With The Cryptographic Library - ST Wiki
-
HMAC-based Extract-then-expand Key Derivation Function (HKDF)
-
HMAC-based Extract-and-Expand Key Derivation Function (HKDF)
-
Hkdf - : Rust Package Registry
-
Src/lib/kdf/hkdf/hkdf.cpp Source File - Botan
-
Botan::HKDF Class Reference