Kenji Arai / mbed-os_TYBLE16

Dependents:   TYBLE16_simple_data_logger TYBLE16_MP3_Air

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers crys_rsa_error.h Source File

crys_rsa_error.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  #ifndef CRYS_RSA_ERROR_H
00038 #define CRYS_RSA_ERROR_H
00039 
00040 
00041 #include "crys_error.h"
00042 
00043 #ifdef __cplusplus
00044 extern "C"
00045 {
00046 #endif
00047 
00048 /*! @file
00049 @brief This module contains the definitions of the CRYS RSA errors.
00050 @defgroup crys_rsa_error CryptoCell RSA specific errors
00051 @{
00052 @ingroup crys_rsa
00053 */
00054 
00055 /************************ Defines ******************************/
00056 
00057 /*! CRYS RSA module on the CRYS layer base address - 0x00F00400 */
00058 
00059 /*! The CRYS RSA module errors */
00060 /*! Illegal modulus size. */
00061 #define CRYS_RSA_INVALID_MODULUS_SIZE                        (CRYS_RSA_MODULE_ERROR_BASE + 0x0UL)
00062 /*! Illegal modulus pointer. */
00063 #define CRYS_RSA_INVALID_MODULUS_POINTER_ERROR               (CRYS_RSA_MODULE_ERROR_BASE + 0x1UL)
00064 /*! Illegal exponent pointer. */
00065 #define CRYS_RSA_INVALID_EXPONENT_POINTER_ERROR              (CRYS_RSA_MODULE_ERROR_BASE + 0x2UL)
00066 /*! Illegal public key structure pointer. */
00067 #define CRYS_RSA_INVALID_PUB_KEY_STRUCT_POINTER_ERROR        (CRYS_RSA_MODULE_ERROR_BASE + 0x3UL)
00068 /*! Illegal private key structure pointer. */
00069 #define CRYS_RSA_INVALID_PRIV_KEY_STRUCT_POINTER_ERROR       (CRYS_RSA_MODULE_ERROR_BASE + 0x4UL)
00070 /*! Illegal exponent value. */
00071 #define CRYS_RSA_INVALID_EXPONENT_VAL                        (CRYS_RSA_MODULE_ERROR_BASE + 0x5UL)
00072 /*! Illegal exponent size. */
00073 #define CRYS_RSA_INVALID_EXPONENT_SIZE                       (CRYS_RSA_MODULE_ERROR_BASE + 0x6UL)
00074 /*! Illegal CRT first factor pointer (P_ptr) . */
00075 #define CRYS_RSA_INVALID_CRT_FIRST_FACTOR_POINTER_ERROR      (CRYS_RSA_MODULE_ERROR_BASE + 0x7UL)
00076 /*! Illegal CRT second factor pointer (Q_ptr) . */
00077 #define CRYS_RSA_INVALID_CRT_SECOND_FACTOR_POINTER_ERROR     (CRYS_RSA_MODULE_ERROR_BASE + 0x8UL)
00078 /*! Illegal CRT first exponent factor pointer (dP_ptr) . */
00079 #define CRYS_RSA_INVALID_CRT_FIRST_FACTOR_EXP_PTR_ERROR      (CRYS_RSA_MODULE_ERROR_BASE + 0x9UL)
00080 /*! Illegal CRT second exponent factor pointer (dQ_ptr) . */
00081 #define CRYS_RSA_INVALID_CRT_SECOND_FACTOR_EXP_PTR_ERROR     (CRYS_RSA_MODULE_ERROR_BASE + 0xAUL)
00082 /*! Illegal CRT coefficient pointer (qInv_ptr) . */
00083 #define CRYS_RSA_INVALID_CRT_COEFFICIENT_PTR_ERROR           (CRYS_RSA_MODULE_ERROR_BASE + 0xBUL)
00084 /*! Illegal CRT first factor size (Psize). */
00085 #define CRYS_RSA_INVALID_CRT_FIRST_FACTOR_SIZE               (CRYS_RSA_MODULE_ERROR_BASE + 0xCUL)
00086 /*! Illegal CRT second factor size (Qsize). */
00087 #define CRYS_RSA_INVALID_CRT_SECOND_FACTOR_SIZE              (CRYS_RSA_MODULE_ERROR_BASE + 0xDUL)
00088 /*! Illegal CRT first and second factor size (Psize + Qsize). */
00089 #define CRYS_RSA_INVALID_CRT_FIRST_AND_SECOND_FACTOR_SIZE    (CRYS_RSA_MODULE_ERROR_BASE + 0xEUL)
00090 /*! Illegal CRT first factor exponent value (dP). */
00091 #define CRYS_RSA_INVALID_CRT_FIRST_FACTOR_EXPONENT_VAL       (CRYS_RSA_MODULE_ERROR_BASE + 0xFUL)
00092 /*! Illegal CRT first factor exponent value (dQ). */
00093 #define CRYS_RSA_INVALID_CRT_SECOND_FACTOR_EXPONENT_VAL      (CRYS_RSA_MODULE_ERROR_BASE + 0x10UL)
00094 /*! Illegal CRT coefficient value (qInv). */
00095 #define CRYS_RSA_INVALID_CRT_COEFF_VAL                       (CRYS_RSA_MODULE_ERROR_BASE + 0x11UL)
00096 /*! Illegal data in. */
00097 #define CRYS_RSA_DATA_POINTER_INVALID_ERROR                  (CRYS_RSA_MODULE_ERROR_BASE + 0x12UL)
00098 /*! Illegal message data size. */
00099 #define CRYS_RSA_INVALID_MESSAGE_DATA_SIZE                   (CRYS_RSA_MODULE_ERROR_BASE + 0x13UL)
00100 /*! Illegal message value. */
00101 #define CRYS_RSA_INVALID_MESSAGE_VAL                         (CRYS_RSA_MODULE_ERROR_BASE + 0x14UL)
00102 
00103 /*! Modulus even error. */
00104 #define CRYS_RSA_MODULUS_EVEN_ERROR                          (CRYS_RSA_MODULE_ERROR_BASE + 0x15UL)
00105 /*! Illegal context pointer. */
00106 #define CRYS_RSA_INVALID_USER_CONTEXT_POINTER_ERROR          (CRYS_RSA_MODULE_ERROR_BASE + 0x16UL)
00107 /*! Illegal hash operation mode. */
00108 #define CRYS_RSA_HASH_ILLEGAL_OPERATION_MODE_ERROR           (CRYS_RSA_MODULE_ERROR_BASE + 0x17UL)
00109 /*! Illegal MGF value. */
00110 #define CRYS_RSA_MGF_ILLEGAL_ARG_ERROR                       (CRYS_RSA_MODULE_ERROR_BASE + 0x18UL)
00111 /*! Illegal PKCS1 version. */
00112 #define CRYS_RSA_PKCS1_VER_ARG_ERROR                         (CRYS_RSA_MODULE_ERROR_BASE + 0x19UL)
00113 
00114 /*! Invalid private key. */
00115 #define CRYS_RSA_PRIV_KEY_VALIDATION_TAG_ERROR               (CRYS_RSA_MODULE_ERROR_BASE + 0x1AUL)
00116 /*! Invalid public key. */
00117 #define CRYS_RSA_PUB_KEY_VALIDATION_TAG_ERROR                (CRYS_RSA_MODULE_ERROR_BASE + 0x1BUL)
00118 /*! Invalid context. */
00119 #define CRYS_RSA_USER_CONTEXT_VALIDATION_TAG_ERROR           (CRYS_RSA_MODULE_ERROR_BASE + 0x1CUL)
00120 /*! Illegal output pointer. */
00121 #define CRYS_RSA_INVALID_OUTPUT_POINTER_ERROR                (CRYS_RSA_MODULE_ERROR_BASE + 0x1DUL)
00122 /*! Illegal output size pointer. */
00123 #define CRYS_RSA_INVALID_OUTPUT_SIZE_POINTER_ERROR           (CRYS_RSA_MODULE_ERROR_BASE + 0x1FUL)
00124 /*! Illegal temporary buffer pointer. */
00125 #define CRYS_RSA_CONV_TO_CRT_INVALID_TEMP_BUFF_POINTER_ERROR (CRYS_RSA_MODULE_ERROR_BASE + 0x20UL)
00126 
00127 /*! OAEP encode parameter string is too long. */
00128 #define CRYS_RSA_BASE_OAEP_ENCODE_PARAMETER_STRING_TOO_LONG  (CRYS_RSA_MODULE_ERROR_BASE + 0x22UL)
00129 /*! OAEP decode parameter string is too long. */
00130 #define CRYS_RSA_BASE_OAEP_DECODE_PARAMETER_STRING_TOO_LONG  (CRYS_RSA_MODULE_ERROR_BASE + 0x23UL)
00131 /*! OAEP encode message is too long. */
00132 #define CRYS_RSA_BASE_OAEP_ENCODE_MESSAGE_TOO_LONG           (CRYS_RSA_MODULE_ERROR_BASE + 0x24UL)
00133 /*! OAEP decode message is too long. */
00134 #define CRYS_RSA_BASE_OAEP_DECODE_MESSAGE_TOO_LONG           (CRYS_RSA_MODULE_ERROR_BASE + 0x25UL)
00135 /*! Illegal key generation data struct pointer. */
00136 #define CRYS_RSA_KEY_GEN_DATA_STRUCT_POINTER_INVALID         (CRYS_RSA_MODULE_ERROR_BASE + 0x26UL)
00137 /*! Illegal PRIM data struct pointer. */
00138 #define CRYS_RSA_PRIM_DATA_STRUCT_POINTER_INVALID            (CRYS_RSA_MODULE_ERROR_BASE + 0x27UL)
00139 /*! Illegal message buffer size. */
00140 #define CRYS_RSA_INVALID_MESSAGE_BUFFER_SIZE                 (CRYS_RSA_MODULE_ERROR_BASE + 0x28UL)
00141 /*! Illegal signature buffer size. */
00142 #define CRYS_RSA_INVALID_SIGNATURE_BUFFER_SIZE               (CRYS_RSA_MODULE_ERROR_BASE + 0x29UL)
00143 /*! Illegal modulus size pointer. */
00144 #define CRYS_RSA_INVALID_MOD_BUFFER_SIZE_POINTER             (CRYS_RSA_MODULE_ERROR_BASE + 0x2AUL)
00145 /*! Illegal exponent size pointer. */
00146 #define CRYS_RSA_INVALID_EXP_BUFFER_SIZE_POINTER             (CRYS_RSA_MODULE_ERROR_BASE + 0x2BUL)
00147 /*! Illegal signature pointer. */
00148 #define CRYS_RSA_INVALID_SIGNATURE_BUFFER_POINTER            (CRYS_RSA_MODULE_ERROR_BASE + 0x2CUL)
00149 /*! Wrong private key type. */
00150 #define CRYS_RSA_WRONG_PRIVATE_KEY_TYPE                      (CRYS_RSA_MODULE_ERROR_BASE + 0x2DUL)
00151 
00152 /*! Illegal CRT first factor size pointer (Psize) . */
00153 #define CRYS_RSA_INVALID_CRT_FIRST_FACTOR_SIZE_POINTER_ERROR (CRYS_RSA_MODULE_ERROR_BASE + 0x2EUL)
00154 /*! Illegal CRT second factor size pointer (Qsize) . */
00155 #define CRYS_RSA_INVALID_CRT_SECOND_FACTOR_SIZE_POINTER_ERROR (CRYS_RSA_MODULE_ERROR_BASE + 0x2FUL)
00156 /*! Illegal CRT first factor exponent size pointer (dPsize) . */
00157 #define CRYS_RSA_INVALID_CRT_FIRST_FACTOR_EXP_SIZE_PTR_ERROR (CRYS_RSA_MODULE_ERROR_BASE + 0x30UL)
00158 /*! Illegal CRT second factor exponent size pointer (dQsize) . */
00159 #define CRYS_RSA_INVALID_CRT_SECOND_FACTOR_EXP_SIZE_PTR_ERROR (CRYS_RSA_MODULE_ERROR_BASE + 0x31UL)
00160 /*! Illegal CRT coefficient size pointer (qInvsize) . */
00161 #define CRYS_RSA_INVALID_CRT_COEFFICIENT_SIZE_PTR_ERROR      (CRYS_RSA_MODULE_ERROR_BASE + 0x32UL)
00162 
00163 /*! Illegal CRT first factor size (Psize) . */
00164 #define CRYS_RSA_INVALID_CRT_FIRST_FACTOR_SIZE_ERROR         (CRYS_RSA_MODULE_ERROR_BASE + 0x33UL)
00165 /*! Illegal CRT second factor size (Qsize) . */
00166 #define CRYS_RSA_INVALID_CRT_SECOND_FACTOR_SIZE_ERROR        (CRYS_RSA_MODULE_ERROR_BASE + 0x34UL)
00167 /*! Illegal CRT first factor exponent size (dPsize) . */
00168 #define CRYS_RSA_INVALID_CRT_FIRST_FACTOR_EXP_SIZE_ERROR     (CRYS_RSA_MODULE_ERROR_BASE + 0x35UL)
00169 /*! Illegal CRT second factor exponent size (dQsize) . */
00170 #define CRYS_RSA_INVALID_CRT_SECOND_FACTOR_EXP_SIZE_ERROR    (CRYS_RSA_MODULE_ERROR_BASE + 0x36UL)
00171 /*! Illegal CRT coefficient size (qInvsize) . */
00172 #define CRYS_RSA_INVALID_CRT_COEFFICIENT_SIZE_ERROR          (CRYS_RSA_MODULE_ERROR_BASE + 0x37UL)
00173 /*! Key generation conditional test failed. */
00174 #define CRYS_RSA_KEY_GEN_CONDITIONAL_TEST_FAIL_ERROR         (CRYS_RSA_MODULE_ERROR_BASE + 0x38UL)
00175 
00176 /*! Random generation in range failed. */
00177 #define CRYS_RSA_CAN_NOT_GENERATE_RAND_IN_RANGE              (CRYS_RSA_MODULE_ERROR_BASE + 0x39UL)
00178 /*! Illegal CRT parameter size. */
00179 #define CRYS_RSA_INVALID_CRT_PARAMETR_SIZE_ERROR             (CRYS_RSA_MODULE_ERROR_BASE + 0x3AUL)
00180 
00181 /*! Illegal modulus. */
00182 #define CRYS_RSA_INVALID_MODULUS_ERROR                       (CRYS_RSA_MODULE_ERROR_BASE + 0x40UL)
00183 /*! Illegal pointer. */
00184 #define CRYS_RSA_INVALID_PTR_ERROR                           (CRYS_RSA_MODULE_ERROR_BASE + 0x41UL)
00185 /*! Illegal decryption mode. */
00186 #define CRYS_RSA_INVALID_DECRYPRION_MODE_ERROR               (CRYS_RSA_MODULE_ERROR_BASE + 0x42UL)
00187 
00188 /*! Illegal generated private key. */
00189 #define CRYS_RSA_GENERATED_PRIV_KEY_IS_TOO_LOW               (CRYS_RSA_MODULE_ERROR_BASE + 0x43UL)
00190 /*! Key generation error. */
00191 #define CRYS_RSA_KEY_GENERATION_FAILURE_ERROR                (CRYS_RSA_MODULE_ERROR_BASE + 0x44UL)
00192 /*! Internal error. */
00193 #define CRYS_RSA_INTERNAL_ERROR                              (CRYS_RSA_MODULE_ERROR_BASE + 0x45UL)
00194 
00195 
00196 /****************************************************************************************
00197  * PKCS#1 VERSION 1.5 ERRORS
00198  ****************************************************************************************/
00199 /*! BER encoding passed. */
00200 #define CRYS_RSA_BER_ENCODING_OK                            CRYS_OK
00201 /*! Error in BER parsing. */
00202 #define CRYS_RSA_ERROR_BER_PARSING                         (CRYS_RSA_MODULE_ERROR_BASE+0x51UL)
00203 /*! Error in PKCS15 message. */
00204 #define CRYS_RSA_ENCODE_15_MSG_OUT_OF_RANGE                (CRYS_RSA_MODULE_ERROR_BASE+0x52UL)
00205 /*! Error in PKCS15 PS. */
00206 #define CRYS_RSA_ENCODE_15_PS_TOO_SHORT                    (CRYS_RSA_MODULE_ERROR_BASE+0x53UL)
00207 /*! PKCS15 block type is not supported. */
00208 #define CRYS_RSA_PKCS1_15_BLOCK_TYPE_NOT_SUPPORTED         (CRYS_RSA_MODULE_ERROR_BASE+0x54UL)
00209 /*! Error in PKCS15 decrypted block parsing. */
00210 #define CRYS_RSA_15_ERROR_IN_DECRYPTED_BLOCK_PARSING       (CRYS_RSA_MODULE_ERROR_BASE+0x55UL)
00211 /*! Error in random operation. */
00212 #define CRYS_RSA_ERROR_IN_RANDOM_OPERATION_FOR_ENCODE      (CRYS_RSA_MODULE_ERROR_BASE+0x56UL)
00213 /*! PKCS15 verification failed. */
00214 #define CRYS_RSA_ERROR_VER15_INCONSISTENT_VERIFY           (CRYS_RSA_MODULE_ERROR_BASE+0x57UL)
00215 /*! Illegal message size (in no hash operation case). */
00216 #define CRYS_RSA_INVALID_MESSAGE_DATA_SIZE_IN_NO_HASH_CASE (CRYS_RSA_MODULE_ERROR_BASE+0x58UL)
00217 /*! Illegal message size. */
00218 #define CRYS_RSA_INVALID_MESSAGE_DATA_SIZE_IN_SSL_CASE     (CRYS_RSA_MODULE_ERROR_BASE+0x59UL)
00219 /*! PKCS#1 Ver 1.5 verify hash input inconsistent with hash mode derived from signature. */
00220 #define CRYS_RSA_PKCS15_VERIFY_BER_ENCODING_HASH_TYPE      (CRYS_RSA_MODULE_ERROR_BASE+0x60UL)
00221 /*! Illegal DER hash mode */
00222 #define CRYS_RSA_GET_DER_HASH_MODE_ILLEGAL                 (CRYS_RSA_MODULE_ERROR_BASE+0x61UL)
00223 
00224 /****************************************************************************************
00225  * PKCS#1 VERSION 2.1 ERRORS
00226  ****************************************************************************************/
00227 /*! Illegal salt length. */
00228 #define CRYS_RSA_PSS_ENCODING_MODULUS_HASH_SALT_LENGTHS_ERROR  (CRYS_RSA_MODULE_ERROR_BASE+0x80UL)
00229 /*! Illegal MGF mask. */
00230 #define CRYS_RSA_BASE_MGF_MASK_TOO_LONG                   (CRYS_RSA_MODULE_ERROR_BASE+0x81UL)
00231 /*! PSS verification failed. */
00232 #define CRYS_RSA_ERROR_PSS_INCONSISTENT_VERIFY            (CRYS_RSA_MODULE_ERROR_BASE+0x82UL)
00233 /*! OAEP message too long. */
00234 #define CRYS_RSA_OAEP_VER21_MESSAGE_TOO_LONG              (CRYS_RSA_MODULE_ERROR_BASE+0x83UL)
00235 /*! OAEP error in decrypted block parsing. */
00236 #define CRYS_RSA_ERROR_IN_DECRYPTED_BLOCK_PARSING         (CRYS_RSA_MODULE_ERROR_BASE+0x84UL)
00237 /*! OAEP decoding error. */
00238 #define CRYS_RSA_OAEP_DECODE_ERROR                        (CRYS_RSA_MODULE_ERROR_BASE+0x85UL)
00239 /*! Error in decrypted data size. */
00240 #define CRYS_RSA_15_ERROR_IN_DECRYPTED_DATA_SIZE          (CRYS_RSA_MODULE_ERROR_BASE+0x86UL)
00241 /*! Error in decrypted data. */
00242 #define CRYS_RSA_15_ERROR_IN_DECRYPTED_DATA               (CRYS_RSA_MODULE_ERROR_BASE+0x87UL)
00243 /*! Illegal L pointer. */
00244 #define CRYS_RSA_OAEP_L_POINTER_ERROR                     (CRYS_RSA_MODULE_ERROR_BASE+0x88UL)
00245 /*! Illegal output size. */
00246 #define CRYS_RSA_DECRYPT_INVALID_OUTPUT_SIZE              (CRYS_RSA_MODULE_ERROR_BASE+0x89UL)
00247 /*! Illegal output size pointer. */
00248 #define CRYS_RSA_DECRYPT_OUTPUT_SIZE_POINTER_ERROR        (CRYS_RSA_MODULE_ERROR_BASE+0x8AUL)
00249 /*! Illegal parameters. */
00250 #define CRYS_RSA_ILLEGAL_PARAMS_ACCORDING_TO_PRIV_ERROR   (CRYS_RSA_MODULE_ERROR_BASE + 0x93UL)
00251 /*! RSA is not supported. */
00252 #define CRYS_RSA_IS_NOT_SUPPORTED                         (CRYS_RSA_MODULE_ERROR_BASE+0xFFUL)
00253 
00254 
00255 /************************ Enums ********************************/
00256 
00257 
00258 /************************ Typedefs  ****************************/
00259 
00260 
00261 /************************ Structs  ******************************/
00262 
00263 
00264 /************************ Public Variables **********************/
00265 
00266 
00267 /************************ Public Functions **********************/
00268 
00269 #ifdef __cplusplus
00270 }
00271 #endif
00272 /**
00273 @}
00274  */
00275 #endif
00276 
00277