]> git.proxmox.com Git - mirror_edk2.git/blobdiff - CryptoPkg/Library/BaseCryptLibNull/Cipher/CryptTdesNull.c
CryptoPkg: Add Null instance of the BaseCryptLib class
[mirror_edk2.git] / CryptoPkg / Library / BaseCryptLibNull / Cipher / CryptTdesNull.c
diff --git a/CryptoPkg/Library/BaseCryptLibNull/Cipher/CryptTdesNull.c b/CryptoPkg/Library/BaseCryptLibNull/Cipher/CryptTdesNull.c
new file mode 100644 (file)
index 0000000..efa2716
--- /dev/null
@@ -0,0 +1,160 @@
+/** @file\r
+  TDES Wrapper Implementation which does not provide real capabilities.\r
+\r
+Copyright (c) 2012, Intel Corporation. All rights reserved.<BR>\r
+SPDX-License-Identifier: BSD-2-Clause-Patent\r
+\r
+**/\r
+\r
+#include "InternalCryptLib.h"\r
+\r
+/**\r
+  Retrieves the size, in bytes, of the context buffer required for TDES operations.\r
+\r
+  Return zero to indicate this interface is not supported.\r
+\r
+  @retval  0   This interface is not supported.\r
+\r
+**/\r
+UINTN\r
+EFIAPI\r
+TdesGetContextSize (\r
+  VOID\r
+  )\r
+{\r
+  ASSERT (FALSE);\r
+  return 0;\r
+}\r
+\r
+/**\r
+  Initializes user-supplied memory as TDES context for subsequent use.\r
+\r
+  Return FALSE to indicate this interface is not supported.\r
+\r
+  @param[out]  TdesContext  Pointer to TDES context being initialized.\r
+  @param[in]   Key          Pointer to the user-supplied TDES key.\r
+  @param[in]   KeyLength    Length of TDES key in bits.\r
+\r
+  @retval FALSE  This interface is not supported.\r
+\r
+**/\r
+BOOLEAN\r
+EFIAPI\r
+TdesInit (\r
+  OUT  VOID         *TdesContext,\r
+  IN   CONST UINT8  *Key,\r
+  IN   UINTN        KeyLength\r
+  )\r
+{\r
+  ASSERT (FALSE);\r
+  return FALSE;\r
+}\r
+\r
+/**\r
+  Performs TDES encryption on a data buffer of the specified size in ECB mode.\r
+\r
+  Return FALSE to indicate this interface is not supported.\r
+\r
+  @param[in]   TdesContext  Pointer to the TDES context.\r
+  @param[in]   Input        Pointer to the buffer containing the data to be encrypted.\r
+  @param[in]   InputSize    Size of the Input buffer in bytes.\r
+  @param[out]  Output       Pointer to a buffer that receives the TDES encryption output.\r
+\r
+  @retval FALSE  This interface is not supported.\r
+\r
+**/\r
+BOOLEAN\r
+EFIAPI\r
+TdesEcbEncrypt (\r
+  IN   VOID         *TdesContext,\r
+  IN   CONST UINT8  *Input,\r
+  IN   UINTN        InputSize,\r
+  OUT  UINT8        *Output\r
+  )\r
+{\r
+  ASSERT (FALSE);\r
+  return FALSE;\r
+}\r
+\r
+/**\r
+  Performs TDES decryption on a data buffer of the specified size in ECB mode.\r
+\r
+  Return FALSE to indicate this interface is not supported.\r
+\r
+  @param[in]   TdesContext  Pointer to the TDES context.\r
+  @param[in]   Input        Pointer to the buffer containing the data to be decrypted.\r
+  @param[in]   InputSize    Size of the Input buffer in bytes.\r
+  @param[out]  Output       Pointer to a buffer that receives the TDES decryption output.\r
+\r
+  @retval FALSE  This interface is not supported.\r
+\r
+**/\r
+BOOLEAN\r
+EFIAPI\r
+TdesEcbDecrypt (\r
+  IN   VOID         *TdesContext,\r
+  IN   CONST UINT8  *Input,\r
+  IN   UINTN        InputSize,\r
+  OUT  UINT8        *Output\r
+  )\r
+{\r
+  ASSERT (FALSE);\r
+  return FALSE;\r
+}\r
+\r
+/**\r
+  Performs TDES encryption on a data buffer of the specified size in CBC mode.\r
+\r
+  Return FALSE to indicate this interface is not supported.\r
+\r
+  @param[in]   TdesContext  Pointer to the TDES context.\r
+  @param[in]   Input        Pointer to the buffer containing the data to be encrypted.\r
+  @param[in]   InputSize    Size of the Input buffer in bytes.\r
+  @param[in]   Ivec         Pointer to initialization vector.\r
+  @param[out]  Output       Pointer to a buffer that receives the TDES encryption output.\r
+\r
+  @retval FALSE  This interface is not supported.\r
+\r
+**/\r
+BOOLEAN\r
+EFIAPI\r
+TdesCbcEncrypt (\r
+  IN   VOID         *TdesContext,\r
+  IN   CONST UINT8  *Input,\r
+  IN   UINTN        InputSize,\r
+  IN   CONST UINT8  *Ivec,\r
+  OUT  UINT8        *Output\r
+  )\r
+{\r
+  ASSERT (FALSE);\r
+  return FALSE;\r
+}\r
+\r
+/**\r
+  Performs TDES decryption on a data buffer of the specified size in CBC mode.\r
+\r
+  Return FALSE to indicate this interface is not supported.\r
+\r
+  @param[in]   TdesContext  Pointer to the TDES context.\r
+  @param[in]   Input        Pointer to the buffer containing the data to be encrypted.\r
+  @param[in]   InputSize    Size of the Input buffer in bytes.\r
+  @param[in]   Ivec         Pointer to initialization vector.\r
+  @param[out]  Output       Pointer to a buffer that receives the TDES encryption output.\r
+\r
+  @retval FALSE  This interface is not supported.\r
+\r
+**/\r
+BOOLEAN\r
+EFIAPI\r
+TdesCbcDecrypt (\r
+  IN   VOID         *TdesContext,\r
+  IN   CONST UINT8  *Input,\r
+  IN   UINTN        InputSize,\r
+  IN   CONST UINT8  *Ivec,\r
+  OUT  UINT8        *Output\r
+  )\r
+{\r
+  ASSERT (FALSE);\r
+  return FALSE;\r
+}\r
+\r