Kenji Arai / mbed-os_TYBLE16

Dependents:   TYBLE16_simple_data_logger TYBLE16_MP3_Air

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers ssi_aes_defs.h Source File

ssi_aes_defs.h

Go to the documentation of this file.
00001 /**************************************************************************************
00002 * Copyright (c) 2016-2017, ARM Limited or its affiliates. All rights reserved         *
00003 *                                                                                     *
00004 * This file and the related binary are licensed under the following license:          *
00005 *                                                                                     *
00006 * ARM Object Code and Header Files License, v1.0 Redistribution.                      *
00007 *                                                                                     *
00008 * Redistribution and use of object code, header files, and documentation, without     *
00009 * modification, are permitted provided that the following conditions are met:         *
00010 *                                                                                     *
00011 * 1) Redistributions must reproduce the above copyright notice and the                *
00012 *    following disclaimer in the documentation and/or other materials                 *
00013 *    provided with the distribution.                                                  *
00014 *                                                                                     *
00015 * 2) Unless to the extent explicitly permitted by law, no reverse                     *
00016 *    engineering, decompilation, or disassembly of is permitted.                      *
00017 *                                                                                     *
00018 * 3) Redistribution and use is permitted solely for the purpose of                    *
00019 *    developing or executing applications that are targeted for use                   *
00020 *    on an ARM-based product.                                                         *
00021 *                                                                                     *
00022 * DISCLAIMER. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND                  *
00023 * CONTRIBUTORS "AS IS." ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT             *
00024 * NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, NON-INFRINGEMENT,        *
00025 * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE          *
00026 * COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,   *
00027 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED            *
00028 * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR              *
00029 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF              *
00030 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING                *
00031 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS                  *
00032 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.                        *
00033 **************************************************************************************/
00034 
00035 
00036 /*!
00037 @file
00038 @brief This file contains definitions that are used for the ARM CryptoCell 3xx version of the CryptoCell AES APIs.
00039 @defgroup ssi_aes_defs CryptoCell AES definitions
00040 @{
00041 @ingroup ssi_aes
00042 
00043 */
00044 
00045 #ifndef SSI_AES_DEFS_H
00046 #define SSI_AES_DEFS_H
00047 
00048 #include "ssi_pal_types.h"
00049 
00050 
00051 #ifdef __cplusplus
00052 extern "C"
00053 {
00054 #endif
00055 
00056 /************************ Defines ******************************/
00057 
00058 /*! The size of the user's context prototype (see ::SaSiAesUserContext_t) in words. */
00059 #define SASI_AES_USER_CTX_SIZE_IN_WORDS (4+4+7+4)
00060 
00061 /*! The AES block size in words. */
00062 #define SASI_AES_BLOCK_SIZE_IN_WORDS 4
00063 /*! The AES block size in bytes. */
00064 #define SASI_AES_BLOCK_SIZE_IN_BYTES  (SASI_AES_BLOCK_SIZE_IN_WORDS * sizeof(uint32_t))
00065 
00066 /*! The size of the IV buffer in words. */
00067 #define SASI_AES_IV_SIZE_IN_WORDS   SASI_AES_BLOCK_SIZE_IN_WORDS
00068 /*! The size of the IV buffer in bytes. */
00069 #define SASI_AES_IV_SIZE_IN_BYTES  (SASI_AES_IV_SIZE_IN_WORDS * sizeof(uint32_t))
00070 
00071 /*! The maximum size of the AES KEY in words. */
00072 #define SASI_AES_KEY_MAX_SIZE_IN_WORDS 4
00073 /*! The maximum size of the AES KEY in bytes. */
00074 #define SASI_AES_KEY_MAX_SIZE_IN_BYTES (SASI_AES_KEY_MAX_SIZE_IN_WORDS * sizeof(uint32_t))
00075 
00076 
00077 #ifdef __cplusplus
00078 }
00079 #endif
00080 /**
00081 @}
00082  */
00083 #endif /* #ifndef SSI_AES_DEFS_H */