| /** @file | |
| CAMELLIA Wrapper Implementation which does not provide real capabilities.. | |
| Copyright (c) 2025, Arm Limited. All rights reserved.<BR> | |
| SPDX-License-Identifier: BSD-2-Clause-Patent | |
| **/ | |
| #include "InternalCryptLib.h" | |
| /** | |
| Retrieves the size, in bytes, of the context buffer required for CAMELLIA operations. | |
| @return The size, in bytes, of the context buffer required for CAMELLIA operations. | |
| **/ | |
| UINTN | |
| EFIAPI | |
| CamelliaGetContextSize ( | |
| VOID | |
| ) | |
| { | |
| ASSERT (FALSE); | |
| return 0; | |
| } | |
| /** | |
| Initializes user-supplied memory as Camellia context for subsequent use. | |
| This function initializes user-supplied memory pointed by CamelliaContext as | |
| CAMELLIA context. | |
| In addition, it sets up all CAMELLIA key materials for subsequent | |
| encryption and decryption operations. | |
| There are 3 options for key length, 128 bits, 192 bits, and 256 bits. | |
| If CamelliaContext is NULL, then return FALSE. | |
| If Key is NULL, then return FALSE. | |
| If KeyLength is not valid, then return FALSE. | |
| @param[out] CamelliaContext Pointer to CAMELLIA context being initialized. | |
| @param[in] Key Pointer to the user-supplied CAMELLIA key. | |
| @param[in] KeyLength Length of CAMELLIA key in bits. | |
| @retval TRUE CAMELLIA context initialization succeeded. | |
| @retval FALSE CAMELLIA context initialization failed. | |
| **/ | |
| BOOLEAN | |
| EFIAPI | |
| CamelliaInit ( | |
| OUT VOID *CamelliaContext, | |
| IN CONST UINT8 *Key, | |
| IN UINTN KeyLength | |
| ) | |
| { | |
| ASSERT (FALSE); | |
| return FALSE; | |
| } | |
| /** | |
| Performs CAMELLIA encryption on single block (128 bits) | |
| This function performs CAMELLIA encryption on single block pointed by Input. | |
| Caller must perform padding, if necessary, to ensure single block size. | |
| CamelliaContext should be already correctly initialized by CamelliaInit(). | |
| Behavior with invalid Camellia context is undefined. | |
| If CamelliaContext is NULL, then return FALSE. | |
| If Input is NULL, then return FALSE. | |
| If Output is NULL, then return FALSE. | |
| @param[in] CamelliaContext Pointer to the CAMELLIA context. | |
| @param[in] Input Pointer to the buffer containing single block data | |
| @param[out] Output Pointer to a buffer that receives the CAMELLIA encryption output. | |
| @retval TRUE CAMELLIA encryption succeeded. | |
| @retval FALSE CAMELLIA encryption failed. | |
| **/ | |
| BOOLEAN | |
| EFIAPI | |
| CamelliaEncrypt ( | |
| IN VOID *CamelliaContext, | |
| IN CONST UINT8 *Input, | |
| OUT UINT8 *Output | |
| ) | |
| { | |
| ASSERT (FALSE); | |
| return FALSE; | |
| } | |
| /** | |
| Performs CAMELLIA decryption on single block (128 bits) | |
| This function performs CAMELLIA decryption on single block pointed by Input. | |
| Caller must perform padding, if necessary, to ensure single block size. | |
| CamelliaContext should be already correctly initialized by CamelliaInit(). | |
| Behavior with invalid CAMELLIA context is undefined. | |
| If CamelliaContext is NULL, then return FALSE. | |
| If Input is NULL, then return FALSE. | |
| If Output is NULL, then return FALSE. | |
| @param[in] CamelliaContext Pointer to the CAMELLIA context. | |
| @param[in] Input Pointer to the buffer containing single block encrpyted data. | |
| @param[out] Output Pointer to a buffer that receives the CAMELLIA decryption output. | |
| @retval TRUE CAMELLIA decryption succeeded. | |
| @retval FALSE CAMELLIA decryption failed. | |
| **/ | |
| BOOLEAN | |
| EFIAPI | |
| CamelliaDecrypt ( | |
| IN VOID *CamelliaContext, | |
| IN CONST UINT8 *Input, | |
| OUT UINT8 *Output | |
| ) | |
| { | |
| ASSERT (FALSE); | |
| return FALSE; | |
| } |