Home | History | Annotate | Download | only in Cipher
      1 /** @file
      2   AES Wrapper Implementation which does not provide real capabilities.
      3 
      4 Copyright (c) 2012, Intel Corporation. All rights reserved.<BR>
      5 This program and the accompanying materials
      6 are licensed and made available under the terms and conditions of the BSD License
      7 which accompanies this distribution.  The full text of the license may be found at
      8 http://opensource.org/licenses/bsd-license.php
      9 
     10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
     11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     12 
     13 **/
     14 
     15 #include "InternalCryptLib.h"
     16 
     17 /**
     18   Retrieves the size, in bytes, of the context buffer required for AES operations.
     19 
     20   Return zero to indicate this interface is not supported.
     21 
     22   @retval  0   This interface is not supported.
     23 
     24 **/
     25 UINTN
     26 EFIAPI
     27 AesGetContextSize (
     28   VOID
     29   )
     30 {
     31   ASSERT (FALSE);
     32   return 0;
     33 }
     34 
     35 /**
     36   Initializes user-supplied memory as AES context for subsequent use.
     37 
     38   Return FALSE to indicate this interface is not supported.
     39 
     40   @param[out]  AesContext  Pointer to AES context being initialized.
     41   @param[in]   Key         Pointer to the user-supplied AES key.
     42   @param[in]   KeyLength   Length of AES key in bits.
     43 
     44   @retval FALSE  This interface is not supported.
     45 
     46 **/
     47 BOOLEAN
     48 EFIAPI
     49 AesInit (
     50   OUT  VOID         *AesContext,
     51   IN   CONST UINT8  *Key,
     52   IN   UINTN        KeyLength
     53   )
     54 {
     55   ASSERT (FALSE);
     56   return FALSE;
     57 }
     58 
     59 /**
     60   Performs AES encryption on a data buffer of the specified size in ECB mode.
     61 
     62   Return FALSE to indicate this interface is not supported.
     63 
     64   @param[in]   AesContext  Pointer to the AES context.
     65   @param[in]   Input       Pointer to the buffer containing the data to be encrypted.
     66   @param[in]   InputSize   Size of the Input buffer in bytes.
     67   @param[out]  Output      Pointer to a buffer that receives the AES encryption output.
     68 
     69   @retval FALSE  This interface is not supported.
     70 
     71 **/
     72 BOOLEAN
     73 EFIAPI
     74 AesEcbEncrypt (
     75   IN   VOID         *AesContext,
     76   IN   CONST UINT8  *Input,
     77   IN   UINTN        InputSize,
     78   OUT  UINT8        *Output
     79   )
     80 {
     81   ASSERT (FALSE);
     82   return FALSE;
     83 }
     84 
     85 /**
     86   Performs AES decryption on a data buffer of the specified size in ECB mode.
     87 
     88   Return FALSE to indicate this interface is not supported.
     89 
     90   @param[in]   AesContext  Pointer to the AES context.
     91   @param[in]   Input       Pointer to the buffer containing the data to be decrypted.
     92   @param[in]   InputSize   Size of the Input buffer in bytes.
     93   @param[out]  Output      Pointer to a buffer that receives the AES decryption output.
     94 
     95   @retval FALSE  This interface is not supported.
     96 
     97 **/
     98 BOOLEAN
     99 EFIAPI
    100 AesEcbDecrypt (
    101   IN   VOID         *AesContext,
    102   IN   CONST UINT8  *Input,
    103   IN   UINTN        InputSize,
    104   OUT  UINT8        *Output
    105   )
    106 {
    107   ASSERT (FALSE);
    108   return FALSE;
    109 }
    110 
    111 /**
    112   Performs AES encryption on a data buffer of the specified size in CBC mode.
    113 
    114   Return FALSE to indicate this interface is not supported.
    115 
    116   @param[in]   AesContext  Pointer to the AES context.
    117   @param[in]   Input       Pointer to the buffer containing the data to be encrypted.
    118   @param[in]   InputSize   Size of the Input buffer in bytes.
    119   @param[in]   Ivec        Pointer to initialization vector.
    120   @param[out]  Output      Pointer to a buffer that receives the AES encryption output.
    121 
    122   @retval FALSE  This interface is not supported.
    123 
    124 **/
    125 BOOLEAN
    126 EFIAPI
    127 AesCbcEncrypt (
    128   IN   VOID         *AesContext,
    129   IN   CONST UINT8  *Input,
    130   IN   UINTN        InputSize,
    131   IN   CONST UINT8  *Ivec,
    132   OUT  UINT8        *Output
    133   )
    134 {
    135   ASSERT (FALSE);
    136   return FALSE;
    137 }
    138 
    139 /**
    140   Performs AES decryption on a data buffer of the specified size in CBC mode.
    141 
    142   Return FALSE to indicate this interface is not supported.
    143 
    144   @param[in]   AesContext  Pointer to the AES context.
    145   @param[in]   Input       Pointer to the buffer containing the data to be encrypted.
    146   @param[in]   InputSize   Size of the Input buffer in bytes.
    147   @param[in]   Ivec        Pointer to initialization vector.
    148   @param[out]  Output      Pointer to a buffer that receives the AES encryption output.
    149 
    150   @retval FALSE  This interface is not supported.
    151 
    152 **/
    153 BOOLEAN
    154 EFIAPI
    155 AesCbcDecrypt (
    156   IN   VOID         *AesContext,
    157   IN   CONST UINT8  *Input,
    158   IN   UINTN        InputSize,
    159   IN   CONST UINT8  *Ivec,
    160   OUT  UINT8        *Output
    161   )
    162 {
    163   ASSERT (FALSE);
    164   return FALSE;
    165 }
    166