]> git.proxmox.com Git - mirror_edk2.git/blobdiff - CryptoPkg/Driver/Crypto.c
CryptoPkg/BaseCryptLib: Retire ARC4 algorithm
[mirror_edk2.git] / CryptoPkg / Driver / Crypto.c
index 53ee0edea5c4ab8fc70d915446bf267649d6e482..af6148291949d0d1b6094cd2e402a4190a7e1bf0 100644 (file)
@@ -2037,150 +2037,107 @@ CryptoServiceAesCbcDecrypt (
 }\r
 \r
 /**\r
-  Retrieves the size, in bytes, of the context buffer required for ARC4 operations.\r
-\r
-  If this interface is not supported, then return zero.\r
+  ARC4 is deprecated and unsupported any longer.\r
+  Keep the function field for binary compability.\r
 \r
-  @return  The size, in bytes, of the context buffer required for ARC4 operations.\r
   @retval  0   This interface is not supported.\r
 \r
 **/\r
 UINTN\r
 EFIAPI\r
-CryptoServiceArc4GetContextSize (\r
+DeprecatedCryptoServiceArc4GetContextSize (\r
   VOID\r
   )\r
 {\r
-  return CALL_BASECRYPTLIB (Arc4.Services.GetContextSize, Arc4GetContextSize, (), 0);\r
+  return BaseCryptLibServiceDeprecated ("Arc4GetContextSize"), 0;\r
 }\r
 \r
 /**\r
-  Initializes user-supplied memory as ARC4 context for subsequent use.\r
-\r
-  This function initializes user-supplied memory pointed by Arc4Context as ARC4 context.\r
-  In addition, it sets up all ARC4 key materials for subsequent encryption and decryption\r
-  operations.\r
-\r
-  If Arc4Context is NULL, then return FALSE.\r
-  If Key is NULL, then return FALSE.\r
-  If KeySize does not in the range of [5, 256] bytes, then return FALSE.\r
-  If this interface is not supported, then return FALSE.\r
+  ARC4 is deprecated and unsupported any longer.\r
+  Keep the function field for binary compability.\r
 \r
   @param[out]  Arc4Context  Pointer to ARC4 context being initialized.\r
   @param[in]   Key          Pointer to the user-supplied ARC4 key.\r
   @param[in]   KeySize      Size of ARC4 key in bytes.\r
 \r
-  @retval TRUE   ARC4 context initialization succeeded.\r
-  @retval FALSE  ARC4 context initialization failed.\r
   @retval FALSE  This interface is not supported.\r
 \r
 **/\r
 BOOLEAN\r
 EFIAPI\r
-CryptoServiceArc4Init (\r
+DeprecatedCryptoServiceArc4Init (\r
   OUT  VOID         *Arc4Context,\r
   IN   CONST UINT8  *Key,\r
   IN   UINTN        KeySize\r
   )\r
 {\r
-  return CALL_BASECRYPTLIB (Arc4.Services.Init, Arc4Init, (Arc4Context, Key, KeySize), FALSE);\r
+  return BaseCryptLibServiceDeprecated ("Arc4Init"), FALSE;\r
 }\r
 \r
 /**\r
-  Performs ARC4 encryption on a data buffer of the specified size.\r
-\r
-  This function performs ARC4 encryption on data buffer pointed by Input, of specified\r
-  size of InputSize.\r
-  Arc4Context should be already correctly initialized by Arc4Init(). Behavior with\r
-  invalid ARC4 context is undefined.\r
-\r
-  If Arc4Context is NULL, then return FALSE.\r
-  If Input is NULL, then return FALSE.\r
-  If Output is NULL, then return FALSE.\r
-  If this interface is not supported, then return FALSE.\r
+  ARC4 is deprecated and unsupported any longer.\r
+  Keep the function field for binary compability.\r
 \r
   @param[in, out]  Arc4Context  Pointer to the ARC4 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 ARC4 encryption output.\r
 \r
-  @retval TRUE   ARC4 encryption succeeded.\r
-  @retval FALSE  ARC4 encryption failed.\r
   @retval FALSE  This interface is not supported.\r
 \r
 **/\r
 BOOLEAN\r
 EFIAPI\r
-CryptoServiceArc4Encrypt (\r
+DeprecatedCryptoServiceArc4Encrypt (\r
   IN OUT  VOID         *Arc4Context,\r
   IN      CONST UINT8  *Input,\r
   IN      UINTN        InputSize,\r
   OUT     UINT8        *Output\r
   )\r
 {\r
-  return CALL_BASECRYPTLIB (Arc4.Services.Encrypt, Arc4Encrypt, (Arc4Context, Input, InputSize, Output), FALSE);\r
+  return BaseCryptLibServiceDeprecated ("Arc4Encrypt"), FALSE;\r
 }\r
 \r
 /**\r
-  Performs ARC4 decryption on a data buffer of the specified size.\r
-\r
-  This function performs ARC4 decryption on data buffer pointed by Input, of specified\r
-  size of InputSize.\r
-  Arc4Context should be already correctly initialized by Arc4Init(). Behavior with\r
-  invalid ARC4 context is undefined.\r
-\r
-  If Arc4Context is NULL, then return FALSE.\r
-  If Input is NULL, then return FALSE.\r
-  If Output is NULL, then return FALSE.\r
-  If this interface is not supported, then return FALSE.\r
+  ARC4 is deprecated and unsupported any longer.\r
+  Keep the function field for binary compability.\r
 \r
   @param[in, out]  Arc4Context  Pointer to the ARC4 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 ARC4 decryption output.\r
 \r
-  @retval TRUE   ARC4 decryption succeeded.\r
-  @retval FALSE  ARC4 decryption failed.\r
   @retval FALSE  This interface is not supported.\r
 \r
 **/\r
 BOOLEAN\r
 EFIAPI\r
-CryptoServiceArc4Decrypt (\r
+DeprecatedCryptoServiceArc4Decrypt (\r
   IN OUT  VOID   *Arc4Context,\r
   IN      UINT8  *Input,\r
   IN      UINTN  InputSize,\r
   OUT     UINT8  *Output\r
   )\r
 {\r
-  return CALL_BASECRYPTLIB (Arc4.Services.Decrypt, Arc4Decrypt, (Arc4Context, Input, InputSize, Output), FALSE);\r
+  return BaseCryptLibServiceDeprecated ("Arc4Decrypt"), FALSE;\r
 }\r
 \r
 /**\r
-  Resets the ARC4 context to the initial state.\r
-\r
-  The function resets the ARC4 context to the state it had immediately after the\r
-  ARC4Init() function call.\r
-  Contrary to ARC4Init(), Arc4Reset() requires no secret key as input, but ARC4 context\r
-  should be already correctly initialized by ARC4Init().\r
-\r
-  If Arc4Context is NULL, then return FALSE.\r
-  If this interface is not supported, then return FALSE.\r
+  ARC4 is deprecated and unsupported any longer.\r
+  Keep the function field for binary compability.\r
 \r
   @param[in, out]  Arc4Context  Pointer to the ARC4 context.\r
 \r
-  @retval TRUE   ARC4 reset succeeded.\r
-  @retval FALSE  ARC4 reset failed.\r
   @retval FALSE  This interface is not supported.\r
 \r
 **/\r
 BOOLEAN\r
 EFIAPI\r
-CryptoServiceArc4Reset (\r
+DeprecatedCryptoServiceArc4Reset (\r
   IN OUT  VOID  *Arc4Context\r
   )\r
 {\r
-  return CALL_BASECRYPTLIB (Arc4.Services.Reset, Arc4Reset, (Arc4Context), FALSE);\r
+  return BaseCryptLibServiceDeprecated ("Arc4Reset"), FALSE;\r
 }\r
 \r
 //=====================================================================================\r
@@ -4502,12 +4459,12 @@ const EDKII_CRYPTO_PROTOCOL mEdkiiCrypto = {
   CryptoServiceAesEcbDecrypt,\r
   CryptoServiceAesCbcEncrypt,\r
   CryptoServiceAesCbcDecrypt,\r
-  /// Arc4\r
-  CryptoServiceArc4GetContextSize,\r
-  CryptoServiceArc4Init,\r
-  CryptoServiceArc4Encrypt,\r
-  CryptoServiceArc4Decrypt,\r
-  CryptoServiceArc4Reset,\r
+  /// Arc4 - deprecated and unsupported\r
+  DeprecatedCryptoServiceArc4GetContextSize,\r
+  DeprecatedCryptoServiceArc4Init,\r
+  DeprecatedCryptoServiceArc4Encrypt,\r
+  DeprecatedCryptoServiceArc4Decrypt,\r
+  DeprecatedCryptoServiceArc4Reset,\r
   /// SM3\r
   CryptoServiceSm3GetContextSize,\r
   CryptoServiceSm3Init,\r