/** @file | |
Diffie-Hellman Wrapper Implementation which does not provide | |
real capabilities. | |
Copyright (c) 2012 - 2018, Intel Corporation. All rights reserved.<BR> | |
SPDX-License-Identifier: BSD-2-Clause-Patent | |
**/ | |
#include "InternalCryptLib.h" | |
/** | |
Allocates and Initializes one Diffie-Hellman Context for subsequent use. | |
@return Pointer to the Diffie-Hellman Context that has been initialized. | |
If the interface is not supported, DhNew() returns NULL. | |
**/ | |
VOID * | |
EFIAPI | |
DhNew ( | |
VOID | |
) | |
{ | |
ASSERT (FALSE); | |
return NULL; | |
} | |
/** | |
Release the specified DH context. | |
If the interface is not supported, then ASSERT(). | |
@param[in] DhContext Pointer to the DH context to be released. | |
**/ | |
VOID | |
EFIAPI | |
DhFree ( | |
IN VOID *DhContext | |
) | |
{ | |
ASSERT (FALSE); | |
} | |
/** | |
Generates DH parameter. | |
Return FALSE to indicate this interface is not supported. | |
@param[in, out] DhContext Pointer to the DH context. | |
@param[in] Generator Value of generator. | |
@param[in] PrimeLength Length in bits of prime to be generated. | |
@param[out] Prime Pointer to the buffer to receive the generated prime number. | |
@retval FALSE This interface is not supported. | |
**/ | |
BOOLEAN | |
EFIAPI | |
DhGenerateParameter ( | |
IN OUT VOID *DhContext, | |
IN UINTN Generator, | |
IN UINTN PrimeLength, | |
OUT UINT8 *Prime | |
) | |
{ | |
ASSERT (FALSE); | |
return FALSE; | |
} | |
/** | |
Sets generator and prime parameters for DH. | |
Return FALSE to indicate this interface is not supported. | |
@param[in, out] DhContext Pointer to the DH context. | |
@param[in] Generator Value of generator. | |
@param[in] PrimeLength Length in bits of prime to be generated. | |
@param[in] Prime Pointer to the prime number. | |
@retval FALSE This interface is not supported. | |
**/ | |
BOOLEAN | |
EFIAPI | |
DhSetParameter ( | |
IN OUT VOID *DhContext, | |
IN UINTN Generator, | |
IN UINTN PrimeLength, | |
IN CONST UINT8 *Prime | |
) | |
{ | |
ASSERT (FALSE); | |
return FALSE; | |
} | |
/** | |
Generates DH public key. | |
Return FALSE to indicate this interface is not supported. | |
@param[in, out] DhContext Pointer to the DH context. | |
@param[out] PublicKey Pointer to the buffer to receive generated public key. | |
@param[in, out] PublicKeySize On input, the size of PublicKey buffer in bytes. | |
On output, the size of data returned in PublicKey buffer in bytes. | |
@retval FALSE This interface is not supported. | |
**/ | |
BOOLEAN | |
EFIAPI | |
DhGenerateKey ( | |
IN OUT VOID *DhContext, | |
OUT UINT8 *PublicKey, | |
IN OUT UINTN *PublicKeySize | |
) | |
{ | |
ASSERT (FALSE); | |
return FALSE; | |
} | |
/** | |
Computes exchanged common key. | |
Return FALSE to indicate this interface is not supported. | |
@param[in, out] DhContext Pointer to the DH context. | |
@param[in] PeerPublicKey Pointer to the peer's public key. | |
@param[in] PeerPublicKeySize Size of peer's public key in bytes. | |
@param[out] Key Pointer to the buffer to receive generated key. | |
@param[in, out] KeySize On input, the size of Key buffer in bytes. | |
On output, the size of data returned in Key buffer in bytes. | |
@retval FALSE This interface is not supported. | |
**/ | |
BOOLEAN | |
EFIAPI | |
DhComputeKey ( | |
IN OUT VOID *DhContext, | |
IN CONST UINT8 *PeerPublicKey, | |
IN UINTN PeerPublicKeySize, | |
OUT UINT8 *Key, | |
IN OUT UINTN *KeySize | |
) | |
{ | |
ASSERT (FALSE); | |
return FALSE; | |
} |