]> git.proxmox.com Git - mirror_edk2.git/blob - CryptoPkg/Library/BaseCryptLib/Kdf/CryptHkdfNull.c
UefiCpuPkg: Move AsmRelocateApLoopStart from Mpfuncs.nasm to AmdSev.nasm
[mirror_edk2.git] / CryptoPkg / Library / BaseCryptLib / Kdf / CryptHkdfNull.c
1 /** @file
2 HMAC-SHA256 KDF Wrapper Implementation which does not provide real capabilities.
3
4 Copyright (c) 2018 - 2022, Intel Corporation. All rights reserved.<BR>
5 SPDX-License-Identifier: BSD-2-Clause-Patent
6
7 **/
8
9 #include <Library/BaseCryptLib.h>
10 #include <Library/DebugLib.h>
11
12 /**
13 Derive key data using HMAC-SHA256 based KDF.
14
15 @param[in] Key Pointer to the user-supplied key.
16 @param[in] KeySize Key size in bytes.
17 @param[in] Salt Pointer to the salt(non-secret) value.
18 @param[in] SaltSize Salt size in bytes.
19 @param[in] Info Pointer to the application specific info.
20 @param[in] InfoSize Info size in bytes.
21 @param[out] Out Pointer to buffer to receive hkdf value.
22 @param[in] OutSize Size of hkdf bytes to generate.
23
24 @retval TRUE Hkdf generated successfully.
25 @retval FALSE Hkdf generation failed.
26
27 **/
28 BOOLEAN
29 EFIAPI
30 HkdfSha256ExtractAndExpand (
31 IN CONST UINT8 *Key,
32 IN UINTN KeySize,
33 IN CONST UINT8 *Salt,
34 IN UINTN SaltSize,
35 IN CONST UINT8 *Info,
36 IN UINTN InfoSize,
37 OUT UINT8 *Out,
38 IN UINTN OutSize
39 )
40 {
41 ASSERT (FALSE);
42 return FALSE;
43 }
44
45 /**
46 Derive SHA256 HMAC-based Extract key Derivation Function (HKDF).
47
48 @param[in] Key Pointer to the user-supplied key.
49 @param[in] KeySize key size in bytes.
50 @param[in] Salt Pointer to the salt(non-secret) value.
51 @param[in] SaltSize salt size in bytes.
52 @param[out] PrkOut Pointer to buffer to receive hkdf value.
53 @param[in] PrkOutSize size of hkdf bytes to generate.
54
55 @retval true Hkdf generated successfully.
56 @retval false Hkdf generation failed.
57
58 **/
59 BOOLEAN
60 EFIAPI
61 HkdfSha256Extract (
62 IN CONST UINT8 *Key,
63 IN UINTN KeySize,
64 IN CONST UINT8 *Salt,
65 IN UINTN SaltSize,
66 OUT UINT8 *PrkOut,
67 UINTN PrkOutSize
68 )
69 {
70 ASSERT (FALSE);
71 return FALSE;
72 }
73
74 /**
75 Derive SHA256 HMAC-based Expand Key Derivation Function (HKDF).
76
77 @param[in] Prk Pointer to the user-supplied key.
78 @param[in] PrkSize Key size in bytes.
79 @param[in] Info Pointer to the application specific info.
80 @param[in] InfoSize Info size in bytes.
81 @param[out] Out Pointer to buffer to receive hkdf value.
82 @param[in] OutSize Size of hkdf bytes to generate.
83
84 @retval TRUE Hkdf generated successfully.
85 @retval FALSE Hkdf generation failed.
86
87 **/
88 BOOLEAN
89 EFIAPI
90 HkdfSha256Expand (
91 IN CONST UINT8 *Prk,
92 IN UINTN PrkSize,
93 IN CONST UINT8 *Info,
94 IN UINTN InfoSize,
95 OUT UINT8 *Out,
96 IN UINTN OutSize
97 )
98 {
99 ASSERT (FALSE);
100 return FALSE;
101 }
102
103 /**
104 Derive SHA384 HMAC-based Extract-and-Expand Key Derivation Function (HKDF).
105
106 @param[in] Key Pointer to the user-supplied key.
107 @param[in] KeySize Key size in bytes.
108 @param[in] Salt Pointer to the salt(non-secret) value.
109 @param[in] SaltSize Salt size in bytes.
110 @param[in] Info Pointer to the application specific info.
111 @param[in] InfoSize Info size in bytes.
112 @param[out] Out Pointer to buffer to receive hkdf value.
113 @param[in] OutSize Size of hkdf bytes to generate.
114
115 @retval TRUE Hkdf generated successfully.
116 @retval FALSE Hkdf generation failed.
117
118 **/
119 BOOLEAN
120 EFIAPI
121 HkdfSha384ExtractAndExpand (
122 IN CONST UINT8 *Key,
123 IN UINTN KeySize,
124 IN CONST UINT8 *Salt,
125 IN UINTN SaltSize,
126 IN CONST UINT8 *Info,
127 IN UINTN InfoSize,
128 OUT UINT8 *Out,
129 IN UINTN OutSize
130 )
131 {
132 ASSERT (FALSE);
133 return FALSE;
134 }
135
136 /**
137 Derive SHA384 HMAC-based Extract key Derivation Function (HKDF).
138
139 @param[in] Key Pointer to the user-supplied key.
140 @param[in] KeySize key size in bytes.
141 @param[in] Salt Pointer to the salt(non-secret) value.
142 @param[in] SaltSize salt size in bytes.
143 @param[out] PrkOut Pointer to buffer to receive hkdf value.
144 @param[in] PrkOutSize size of hkdf bytes to generate.
145
146 @retval true Hkdf generated successfully.
147 @retval false Hkdf generation failed.
148
149 **/
150 BOOLEAN
151 EFIAPI
152 HkdfSha384Extract (
153 IN CONST UINT8 *Key,
154 IN UINTN KeySize,
155 IN CONST UINT8 *Salt,
156 IN UINTN SaltSize,
157 OUT UINT8 *PrkOut,
158 UINTN PrkOutSize
159 )
160 {
161 ASSERT (FALSE);
162 return FALSE;
163 }
164
165 /**
166 Derive SHA384 HMAC-based Expand Key Derivation Function (HKDF).
167
168 @param[in] Prk Pointer to the user-supplied key.
169 @param[in] PrkSize Key size in bytes.
170 @param[in] Info Pointer to the application specific info.
171 @param[in] InfoSize Info size in bytes.
172 @param[out] Out Pointer to buffer to receive hkdf value.
173 @param[in] OutSize Size of hkdf bytes to generate.
174
175 @retval TRUE Hkdf generated successfully.
176 @retval FALSE Hkdf generation failed.
177
178 **/
179 BOOLEAN
180 EFIAPI
181 HkdfSha384Expand (
182 IN CONST UINT8 *Prk,
183 IN UINTN PrkSize,
184 IN CONST UINT8 *Info,
185 IN UINTN InfoSize,
186 OUT UINT8 *Out,
187 IN UINTN OutSize
188 )
189 {
190 ASSERT (FALSE);
191 return FALSE;
192 }