takashi kadono / Mbed OS Nucleo446_SSD1331

Dependencies:   ssd1331

Committer:
kadonotakashi
Date:
Wed Oct 10 00:33:53 2018 +0000
Revision:
0:8fdf9a60065b
how to make mbed librry

Who changed what in which revision?

UserRevisionLine numberNew contents of line
kadonotakashi 0:8fdf9a60065b 1 /**
kadonotakashi 0:8fdf9a60065b 2 * \file ripemd160.h
kadonotakashi 0:8fdf9a60065b 3 *
kadonotakashi 0:8fdf9a60065b 4 * \brief RIPE MD-160 message digest
kadonotakashi 0:8fdf9a60065b 5 */
kadonotakashi 0:8fdf9a60065b 6 /*
kadonotakashi 0:8fdf9a60065b 7 * Copyright (C) 2006-2015, ARM Limited, All Rights Reserved
kadonotakashi 0:8fdf9a60065b 8 * SPDX-License-Identifier: Apache-2.0
kadonotakashi 0:8fdf9a60065b 9 *
kadonotakashi 0:8fdf9a60065b 10 * Licensed under the Apache License, Version 2.0 (the "License"); you may
kadonotakashi 0:8fdf9a60065b 11 * not use this file except in compliance with the License.
kadonotakashi 0:8fdf9a60065b 12 * You may obtain a copy of the License at
kadonotakashi 0:8fdf9a60065b 13 *
kadonotakashi 0:8fdf9a60065b 14 * http://www.apache.org/licenses/LICENSE-2.0
kadonotakashi 0:8fdf9a60065b 15 *
kadonotakashi 0:8fdf9a60065b 16 * Unless required by applicable law or agreed to in writing, software
kadonotakashi 0:8fdf9a60065b 17 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
kadonotakashi 0:8fdf9a60065b 18 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
kadonotakashi 0:8fdf9a60065b 19 * See the License for the specific language governing permissions and
kadonotakashi 0:8fdf9a60065b 20 * limitations under the License.
kadonotakashi 0:8fdf9a60065b 21 *
kadonotakashi 0:8fdf9a60065b 22 * This file is part of mbed TLS (https://tls.mbed.org)
kadonotakashi 0:8fdf9a60065b 23 */
kadonotakashi 0:8fdf9a60065b 24 #ifndef MBEDTLS_RIPEMD160_H
kadonotakashi 0:8fdf9a60065b 25 #define MBEDTLS_RIPEMD160_H
kadonotakashi 0:8fdf9a60065b 26
kadonotakashi 0:8fdf9a60065b 27 #if !defined(MBEDTLS_CONFIG_FILE)
kadonotakashi 0:8fdf9a60065b 28 #include "config.h"
kadonotakashi 0:8fdf9a60065b 29 #else
kadonotakashi 0:8fdf9a60065b 30 #include MBEDTLS_CONFIG_FILE
kadonotakashi 0:8fdf9a60065b 31 #endif
kadonotakashi 0:8fdf9a60065b 32
kadonotakashi 0:8fdf9a60065b 33 #include <stddef.h>
kadonotakashi 0:8fdf9a60065b 34 #include <stdint.h>
kadonotakashi 0:8fdf9a60065b 35
kadonotakashi 0:8fdf9a60065b 36 #define MBEDTLS_ERR_RIPEMD160_HW_ACCEL_FAILED -0x0031 /**< RIPEMD160 hardware accelerator failed */
kadonotakashi 0:8fdf9a60065b 37
kadonotakashi 0:8fdf9a60065b 38 #ifdef __cplusplus
kadonotakashi 0:8fdf9a60065b 39 extern "C" {
kadonotakashi 0:8fdf9a60065b 40 #endif
kadonotakashi 0:8fdf9a60065b 41
kadonotakashi 0:8fdf9a60065b 42 #if !defined(MBEDTLS_RIPEMD160_ALT)
kadonotakashi 0:8fdf9a60065b 43 // Regular implementation
kadonotakashi 0:8fdf9a60065b 44 //
kadonotakashi 0:8fdf9a60065b 45
kadonotakashi 0:8fdf9a60065b 46 /**
kadonotakashi 0:8fdf9a60065b 47 * \brief RIPEMD-160 context structure
kadonotakashi 0:8fdf9a60065b 48 */
kadonotakashi 0:8fdf9a60065b 49 typedef struct mbedtls_ripemd160_context
kadonotakashi 0:8fdf9a60065b 50 {
kadonotakashi 0:8fdf9a60065b 51 uint32_t total[2]; /*!< number of bytes processed */
kadonotakashi 0:8fdf9a60065b 52 uint32_t state[5]; /*!< intermediate digest state */
kadonotakashi 0:8fdf9a60065b 53 unsigned char buffer[64]; /*!< data block being processed */
kadonotakashi 0:8fdf9a60065b 54 }
kadonotakashi 0:8fdf9a60065b 55 mbedtls_ripemd160_context;
kadonotakashi 0:8fdf9a60065b 56
kadonotakashi 0:8fdf9a60065b 57 #else /* MBEDTLS_RIPEMD160_ALT */
kadonotakashi 0:8fdf9a60065b 58 #include "ripemd160.h"
kadonotakashi 0:8fdf9a60065b 59 #endif /* MBEDTLS_RIPEMD160_ALT */
kadonotakashi 0:8fdf9a60065b 60
kadonotakashi 0:8fdf9a60065b 61 /**
kadonotakashi 0:8fdf9a60065b 62 * \brief Initialize RIPEMD-160 context
kadonotakashi 0:8fdf9a60065b 63 *
kadonotakashi 0:8fdf9a60065b 64 * \param ctx RIPEMD-160 context to be initialized
kadonotakashi 0:8fdf9a60065b 65 */
kadonotakashi 0:8fdf9a60065b 66 void mbedtls_ripemd160_init( mbedtls_ripemd160_context *ctx );
kadonotakashi 0:8fdf9a60065b 67
kadonotakashi 0:8fdf9a60065b 68 /**
kadonotakashi 0:8fdf9a60065b 69 * \brief Clear RIPEMD-160 context
kadonotakashi 0:8fdf9a60065b 70 *
kadonotakashi 0:8fdf9a60065b 71 * \param ctx RIPEMD-160 context to be cleared
kadonotakashi 0:8fdf9a60065b 72 */
kadonotakashi 0:8fdf9a60065b 73 void mbedtls_ripemd160_free( mbedtls_ripemd160_context *ctx );
kadonotakashi 0:8fdf9a60065b 74
kadonotakashi 0:8fdf9a60065b 75 /**
kadonotakashi 0:8fdf9a60065b 76 * \brief Clone (the state of) an RIPEMD-160 context
kadonotakashi 0:8fdf9a60065b 77 *
kadonotakashi 0:8fdf9a60065b 78 * \param dst The destination context
kadonotakashi 0:8fdf9a60065b 79 * \param src The context to be cloned
kadonotakashi 0:8fdf9a60065b 80 */
kadonotakashi 0:8fdf9a60065b 81 void mbedtls_ripemd160_clone( mbedtls_ripemd160_context *dst,
kadonotakashi 0:8fdf9a60065b 82 const mbedtls_ripemd160_context *src );
kadonotakashi 0:8fdf9a60065b 83
kadonotakashi 0:8fdf9a60065b 84 /**
kadonotakashi 0:8fdf9a60065b 85 * \brief RIPEMD-160 context setup
kadonotakashi 0:8fdf9a60065b 86 *
kadonotakashi 0:8fdf9a60065b 87 * \param ctx context to be initialized
kadonotakashi 0:8fdf9a60065b 88 *
kadonotakashi 0:8fdf9a60065b 89 * \return 0 if successful
kadonotakashi 0:8fdf9a60065b 90 */
kadonotakashi 0:8fdf9a60065b 91 int mbedtls_ripemd160_starts_ret( mbedtls_ripemd160_context *ctx );
kadonotakashi 0:8fdf9a60065b 92
kadonotakashi 0:8fdf9a60065b 93 /**
kadonotakashi 0:8fdf9a60065b 94 * \brief RIPEMD-160 process buffer
kadonotakashi 0:8fdf9a60065b 95 *
kadonotakashi 0:8fdf9a60065b 96 * \param ctx RIPEMD-160 context
kadonotakashi 0:8fdf9a60065b 97 * \param input buffer holding the data
kadonotakashi 0:8fdf9a60065b 98 * \param ilen length of the input data
kadonotakashi 0:8fdf9a60065b 99 *
kadonotakashi 0:8fdf9a60065b 100 * \return 0 if successful
kadonotakashi 0:8fdf9a60065b 101 */
kadonotakashi 0:8fdf9a60065b 102 int mbedtls_ripemd160_update_ret( mbedtls_ripemd160_context *ctx,
kadonotakashi 0:8fdf9a60065b 103 const unsigned char *input,
kadonotakashi 0:8fdf9a60065b 104 size_t ilen );
kadonotakashi 0:8fdf9a60065b 105
kadonotakashi 0:8fdf9a60065b 106 /**
kadonotakashi 0:8fdf9a60065b 107 * \brief RIPEMD-160 final digest
kadonotakashi 0:8fdf9a60065b 108 *
kadonotakashi 0:8fdf9a60065b 109 * \param ctx RIPEMD-160 context
kadonotakashi 0:8fdf9a60065b 110 * \param output RIPEMD-160 checksum result
kadonotakashi 0:8fdf9a60065b 111 *
kadonotakashi 0:8fdf9a60065b 112 * \return 0 if successful
kadonotakashi 0:8fdf9a60065b 113 */
kadonotakashi 0:8fdf9a60065b 114 int mbedtls_ripemd160_finish_ret( mbedtls_ripemd160_context *ctx,
kadonotakashi 0:8fdf9a60065b 115 unsigned char output[20] );
kadonotakashi 0:8fdf9a60065b 116
kadonotakashi 0:8fdf9a60065b 117 /**
kadonotakashi 0:8fdf9a60065b 118 * \brief RIPEMD-160 process data block (internal use only)
kadonotakashi 0:8fdf9a60065b 119 *
kadonotakashi 0:8fdf9a60065b 120 * \param ctx RIPEMD-160 context
kadonotakashi 0:8fdf9a60065b 121 * \param data buffer holding one block of data
kadonotakashi 0:8fdf9a60065b 122 *
kadonotakashi 0:8fdf9a60065b 123 * \return 0 if successful
kadonotakashi 0:8fdf9a60065b 124 */
kadonotakashi 0:8fdf9a60065b 125 int mbedtls_internal_ripemd160_process( mbedtls_ripemd160_context *ctx,
kadonotakashi 0:8fdf9a60065b 126 const unsigned char data[64] );
kadonotakashi 0:8fdf9a60065b 127
kadonotakashi 0:8fdf9a60065b 128 #if !defined(MBEDTLS_DEPRECATED_REMOVED)
kadonotakashi 0:8fdf9a60065b 129 #if defined(MBEDTLS_DEPRECATED_WARNING)
kadonotakashi 0:8fdf9a60065b 130 #define MBEDTLS_DEPRECATED __attribute__((deprecated))
kadonotakashi 0:8fdf9a60065b 131 #else
kadonotakashi 0:8fdf9a60065b 132 #define MBEDTLS_DEPRECATED
kadonotakashi 0:8fdf9a60065b 133 #endif
kadonotakashi 0:8fdf9a60065b 134 /**
kadonotakashi 0:8fdf9a60065b 135 * \brief RIPEMD-160 context setup
kadonotakashi 0:8fdf9a60065b 136 *
kadonotakashi 0:8fdf9a60065b 137 * \deprecated Superseded by mbedtls_ripemd160_starts_ret() in 2.7.0
kadonotakashi 0:8fdf9a60065b 138 *
kadonotakashi 0:8fdf9a60065b 139 * \param ctx context to be initialized
kadonotakashi 0:8fdf9a60065b 140 */
kadonotakashi 0:8fdf9a60065b 141 MBEDTLS_DEPRECATED void mbedtls_ripemd160_starts(
kadonotakashi 0:8fdf9a60065b 142 mbedtls_ripemd160_context *ctx );
kadonotakashi 0:8fdf9a60065b 143
kadonotakashi 0:8fdf9a60065b 144 /**
kadonotakashi 0:8fdf9a60065b 145 * \brief RIPEMD-160 process buffer
kadonotakashi 0:8fdf9a60065b 146 *
kadonotakashi 0:8fdf9a60065b 147 * \deprecated Superseded by mbedtls_ripemd160_update_ret() in 2.7.0
kadonotakashi 0:8fdf9a60065b 148 *
kadonotakashi 0:8fdf9a60065b 149 * \param ctx RIPEMD-160 context
kadonotakashi 0:8fdf9a60065b 150 * \param input buffer holding the data
kadonotakashi 0:8fdf9a60065b 151 * \param ilen length of the input data
kadonotakashi 0:8fdf9a60065b 152 */
kadonotakashi 0:8fdf9a60065b 153 MBEDTLS_DEPRECATED void mbedtls_ripemd160_update(
kadonotakashi 0:8fdf9a60065b 154 mbedtls_ripemd160_context *ctx,
kadonotakashi 0:8fdf9a60065b 155 const unsigned char *input,
kadonotakashi 0:8fdf9a60065b 156 size_t ilen );
kadonotakashi 0:8fdf9a60065b 157
kadonotakashi 0:8fdf9a60065b 158 /**
kadonotakashi 0:8fdf9a60065b 159 * \brief RIPEMD-160 final digest
kadonotakashi 0:8fdf9a60065b 160 *
kadonotakashi 0:8fdf9a60065b 161 * \deprecated Superseded by mbedtls_ripemd160_finish_ret() in 2.7.0
kadonotakashi 0:8fdf9a60065b 162 *
kadonotakashi 0:8fdf9a60065b 163 * \param ctx RIPEMD-160 context
kadonotakashi 0:8fdf9a60065b 164 * \param output RIPEMD-160 checksum result
kadonotakashi 0:8fdf9a60065b 165 */
kadonotakashi 0:8fdf9a60065b 166 MBEDTLS_DEPRECATED void mbedtls_ripemd160_finish(
kadonotakashi 0:8fdf9a60065b 167 mbedtls_ripemd160_context *ctx,
kadonotakashi 0:8fdf9a60065b 168 unsigned char output[20] );
kadonotakashi 0:8fdf9a60065b 169
kadonotakashi 0:8fdf9a60065b 170 /**
kadonotakashi 0:8fdf9a60065b 171 * \brief RIPEMD-160 process data block (internal use only)
kadonotakashi 0:8fdf9a60065b 172 *
kadonotakashi 0:8fdf9a60065b 173 * \deprecated Superseded by mbedtls_internal_ripemd160_process() in 2.7.0
kadonotakashi 0:8fdf9a60065b 174 *
kadonotakashi 0:8fdf9a60065b 175 * \param ctx RIPEMD-160 context
kadonotakashi 0:8fdf9a60065b 176 * \param data buffer holding one block of data
kadonotakashi 0:8fdf9a60065b 177 */
kadonotakashi 0:8fdf9a60065b 178 MBEDTLS_DEPRECATED void mbedtls_ripemd160_process(
kadonotakashi 0:8fdf9a60065b 179 mbedtls_ripemd160_context *ctx,
kadonotakashi 0:8fdf9a60065b 180 const unsigned char data[64] );
kadonotakashi 0:8fdf9a60065b 181
kadonotakashi 0:8fdf9a60065b 182 #undef MBEDTLS_DEPRECATED
kadonotakashi 0:8fdf9a60065b 183 #endif /* !MBEDTLS_DEPRECATED_REMOVED */
kadonotakashi 0:8fdf9a60065b 184
kadonotakashi 0:8fdf9a60065b 185 /**
kadonotakashi 0:8fdf9a60065b 186 * \brief Output = RIPEMD-160( input buffer )
kadonotakashi 0:8fdf9a60065b 187 *
kadonotakashi 0:8fdf9a60065b 188 * \param input buffer holding the data
kadonotakashi 0:8fdf9a60065b 189 * \param ilen length of the input data
kadonotakashi 0:8fdf9a60065b 190 * \param output RIPEMD-160 checksum result
kadonotakashi 0:8fdf9a60065b 191 *
kadonotakashi 0:8fdf9a60065b 192 * \return 0 if successful
kadonotakashi 0:8fdf9a60065b 193 */
kadonotakashi 0:8fdf9a60065b 194 int mbedtls_ripemd160_ret( const unsigned char *input,
kadonotakashi 0:8fdf9a60065b 195 size_t ilen,
kadonotakashi 0:8fdf9a60065b 196 unsigned char output[20] );
kadonotakashi 0:8fdf9a60065b 197
kadonotakashi 0:8fdf9a60065b 198 #if !defined(MBEDTLS_DEPRECATED_REMOVED)
kadonotakashi 0:8fdf9a60065b 199 #if defined(MBEDTLS_DEPRECATED_WARNING)
kadonotakashi 0:8fdf9a60065b 200 #define MBEDTLS_DEPRECATED __attribute__((deprecated))
kadonotakashi 0:8fdf9a60065b 201 #else
kadonotakashi 0:8fdf9a60065b 202 #define MBEDTLS_DEPRECATED
kadonotakashi 0:8fdf9a60065b 203 #endif
kadonotakashi 0:8fdf9a60065b 204 /**
kadonotakashi 0:8fdf9a60065b 205 * \brief Output = RIPEMD-160( input buffer )
kadonotakashi 0:8fdf9a60065b 206 *
kadonotakashi 0:8fdf9a60065b 207 * \deprecated Superseded by mbedtls_ripemd160_ret() in 2.7.0
kadonotakashi 0:8fdf9a60065b 208 *
kadonotakashi 0:8fdf9a60065b 209 * \param input buffer holding the data
kadonotakashi 0:8fdf9a60065b 210 * \param ilen length of the input data
kadonotakashi 0:8fdf9a60065b 211 * \param output RIPEMD-160 checksum result
kadonotakashi 0:8fdf9a60065b 212 */
kadonotakashi 0:8fdf9a60065b 213 MBEDTLS_DEPRECATED void mbedtls_ripemd160( const unsigned char *input,
kadonotakashi 0:8fdf9a60065b 214 size_t ilen,
kadonotakashi 0:8fdf9a60065b 215 unsigned char output[20] );
kadonotakashi 0:8fdf9a60065b 216
kadonotakashi 0:8fdf9a60065b 217 #undef MBEDTLS_DEPRECATED
kadonotakashi 0:8fdf9a60065b 218 #endif /* !MBEDTLS_DEPRECATED_REMOVED */
kadonotakashi 0:8fdf9a60065b 219
kadonotakashi 0:8fdf9a60065b 220 /**
kadonotakashi 0:8fdf9a60065b 221 * \brief Checkup routine
kadonotakashi 0:8fdf9a60065b 222 *
kadonotakashi 0:8fdf9a60065b 223 * \return 0 if successful, or 1 if the test failed
kadonotakashi 0:8fdf9a60065b 224 */
kadonotakashi 0:8fdf9a60065b 225 int mbedtls_ripemd160_self_test( int verbose );
kadonotakashi 0:8fdf9a60065b 226
kadonotakashi 0:8fdf9a60065b 227 #ifdef __cplusplus
kadonotakashi 0:8fdf9a60065b 228 }
kadonotakashi 0:8fdf9a60065b 229 #endif
kadonotakashi 0:8fdf9a60065b 230
kadonotakashi 0:8fdf9a60065b 231 #endif /* mbedtls_ripemd160.h */