]> git.proxmox.com Git - mirror_edk2.git/blobdiff - CryptoPkg/Library/BaseCryptLib/Hash/CryptMd4.c
CryptoPkg/BaseCrpytLib: Retire MD4 algorithm
[mirror_edk2.git] / CryptoPkg / Library / BaseCryptLib / Hash / CryptMd4.c
diff --git a/CryptoPkg/Library/BaseCryptLib/Hash/CryptMd4.c b/CryptoPkg/Library/BaseCryptLib/Hash/CryptMd4.c
deleted file mode 100644 (file)
index bc02da0..0000000
+++ /dev/null
@@ -1,223 +0,0 @@
-/** @file\r
-  MD4 Digest Wrapper Implementation over OpenSSL.\r
-\r
-Copyright (c) 2010 - 2016, Intel Corporation. All rights reserved.<BR>\r
-SPDX-License-Identifier: BSD-2-Clause-Patent\r
-\r
-**/\r
-\r
-#include "InternalCryptLib.h"\r
-#include <openssl/md4.h>\r
-\r
-/**\r
-  Retrieves the size, in bytes, of the context buffer required for MD4 hash operations.\r
-\r
-  @return  The size, in bytes, of the context buffer required for MD4 hash operations.\r
-\r
-**/\r
-UINTN\r
-EFIAPI\r
-Md4GetContextSize (\r
-  VOID\r
-  )\r
-{\r
-  //\r
-  // Retrieves the OpenSSL MD4 Context Size\r
-  //\r
-  return (UINTN) (sizeof (MD4_CTX));\r
-}\r
-\r
-/**\r
-  Initializes user-supplied memory pointed by Md4Context as MD4 hash context for\r
-  subsequent use.\r
-\r
-  If Md4Context is NULL, then return FALSE.\r
-\r
-  @param[out]  Md4Context  Pointer to MD4 context being initialized.\r
-\r
-  @retval TRUE   MD4 context initialization succeeded.\r
-  @retval FALSE  MD4 context initialization failed.\r
-\r
-**/\r
-BOOLEAN\r
-EFIAPI\r
-Md4Init (\r
-  OUT  VOID  *Md4Context\r
-  )\r
-{\r
-  //\r
-  // Check input parameters.\r
-  //\r
-  if (Md4Context == NULL) {\r
-    return FALSE;\r
-  }\r
-\r
-  //\r
-  // OpenSSL MD4 Context Initialization\r
-  //\r
-  return (BOOLEAN) (MD4_Init ((MD4_CTX *) Md4Context));\r
-}\r
-\r
-/**\r
-  Makes a copy of an existing MD4 context.\r
-\r
-  If Md4Context is NULL, then return FALSE.\r
-  If NewMd4Context is NULL, then return FALSE.\r
-\r
-  @param[in]  Md4Context     Pointer to MD4 context being copied.\r
-  @param[out] NewMd4Context  Pointer to new MD4 context.\r
-\r
-  @retval TRUE   MD4 context copy succeeded.\r
-  @retval FALSE  MD4 context copy failed.\r
-\r
-**/\r
-BOOLEAN\r
-EFIAPI\r
-Md4Duplicate (\r
-  IN   CONST VOID  *Md4Context,\r
-  OUT  VOID        *NewMd4Context\r
-  )\r
-{\r
-  //\r
-  // Check input parameters.\r
-  //\r
-  if (Md4Context == NULL || NewMd4Context == NULL) {\r
-    return FALSE;\r
-  }\r
-\r
-  CopyMem (NewMd4Context, Md4Context, sizeof (MD4_CTX));\r
-\r
-  return TRUE;\r
-}\r
-\r
-/**\r
-  Digests the input data and updates MD4 context.\r
-\r
-  This function performs MD4 digest on a data buffer of the specified size.\r
-  It can be called multiple times to compute the digest of long or discontinuous data streams.\r
-  MD4 context should be already correctly initialized by Md4Init(), and should not be finalized\r
-  by Md4Final(). Behavior with invalid context is undefined.\r
-\r
-  If Md4Context is NULL, then return FALSE.\r
-\r
-  @param[in, out]  Md4Context  Pointer to the MD4 context.\r
-  @param[in]       Data        Pointer to the buffer containing the data to be hashed.\r
-  @param[in]       DataSize    Size of Data buffer in bytes.\r
-\r
-  @retval TRUE   MD4 data digest succeeded.\r
-  @retval FALSE  MD4 data digest failed.\r
-\r
-**/\r
-BOOLEAN\r
-EFIAPI\r
-Md4Update (\r
-  IN OUT  VOID        *Md4Context,\r
-  IN      CONST VOID  *Data,\r
-  IN      UINTN       DataSize\r
-  )\r
-{\r
-  //\r
-  // Check input parameters.\r
-  //\r
-  if (Md4Context == NULL) {\r
-    return FALSE;\r
-  }\r
-\r
-  //\r
-  // Check invalid parameters, in case that only DataLength was checked in OpenSSL\r
-  //\r
-  if (Data == NULL && DataSize != 0) {\r
-    return FALSE;\r
-  }\r
-\r
-  //\r
-  // OpenSSL MD4 Hash Update\r
-  //\r
-  return (BOOLEAN) (MD4_Update ((MD4_CTX *) Md4Context, Data, DataSize));\r
-}\r
-\r
-/**\r
-  Completes computation of the MD4 digest value.\r
-\r
-  This function completes MD4 hash computation and retrieves the digest value into\r
-  the specified memory. After this function has been called, the MD4 context cannot\r
-  be used again.\r
-  MD4 context should be already correctly initialized by Md4Init(), and should not be\r
-  finalized by Md4Final(). Behavior with invalid MD4 context is undefined.\r
-\r
-  If Md4Context is NULL, then return FALSE.\r
-  If HashValue is NULL, then return FALSE.\r
-\r
-  @param[in, out]  Md4Context  Pointer to the MD4 context.\r
-  @param[out]      HashValue   Pointer to a buffer that receives the MD4 digest\r
-                               value (16 bytes).\r
-\r
-  @retval TRUE   MD4 digest computation succeeded.\r
-  @retval FALSE  MD4 digest computation failed.\r
-\r
-**/\r
-BOOLEAN\r
-EFIAPI\r
-Md4Final (\r
-  IN OUT  VOID   *Md4Context,\r
-  OUT     UINT8  *HashValue\r
-  )\r
-{\r
-  //\r
-  // Check input parameters.\r
-  //\r
-  if (Md4Context == NULL || HashValue == NULL) {\r
-    return FALSE;\r
-  }\r
-\r
-  //\r
-  // OpenSSL MD4 Hash Finalization\r
-  //\r
-  return (BOOLEAN) (MD4_Final (HashValue, (MD4_CTX *) Md4Context));\r
-}\r
-\r
-/**\r
-  Computes the MD4 message digest of a input data buffer.\r
-\r
-  This function performs the MD4 message digest of a given data buffer, and places\r
-  the digest value into the specified memory.\r
-\r
-  If this interface is not supported, then return FALSE.\r
-\r
-  @param[in]   Data        Pointer to the buffer containing the data to be hashed.\r
-  @param[in]   DataSize    Size of Data buffer in bytes.\r
-  @param[out]  HashValue   Pointer to a buffer that receives the MD4 digest\r
-                           value (16 bytes).\r
-\r
-  @retval TRUE   MD4 digest computation succeeded.\r
-  @retval FALSE  MD4 digest computation failed.\r
-  @retval FALSE  This interface is not supported.\r
-\r
-**/\r
-BOOLEAN\r
-EFIAPI\r
-Md4HashAll (\r
-  IN   CONST VOID  *Data,\r
-  IN   UINTN       DataSize,\r
-  OUT  UINT8       *HashValue\r
-  )\r
-{\r
-  //\r
-  // Check input parameters.\r
-  //\r
-  if (HashValue == NULL) {\r
-    return FALSE;\r
-  }\r
-  if (Data == NULL && DataSize != 0) {\r
-    return FALSE;\r
-  }\r
-\r
-  //\r
-  // OpenSSL MD4 Hash Computation.\r
-  //\r
-  if (MD4 (Data, DataSize, HashValue) == NULL) {\r
-    return FALSE;\r
-  } else {\r
-    return TRUE;\r
-  }\r
-}\r