/** @file Diffie-Hellman Wrapper Implementation which does not provide real capabilities. Copyright (c) 2012, Intel Corporation. All rights reserved.<BR> This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License which accompanies this distribution. The full text of the license may be found at http://opensource.org/licenses/bsd-license.php THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. **/ #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; }