mbed TLS v2.24.0
md4.h
Go to the documentation of this file.
1 
10 /*
11  * Copyright The Mbed TLS Contributors
12  * SPDX-License-Identifier: Apache-2.0
13  *
14  * Licensed under the Apache License, Version 2.0 (the "License"); you may
15  * not use this file except in compliance with the License.
16  * You may obtain a copy of the License at
17  *
18  * http://www.apache.org/licenses/LICENSE-2.0
19  *
20  * Unless required by applicable law or agreed to in writing, software
21  * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
22  * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
23  * See the License for the specific language governing permissions and
24  * limitations under the License.
25  *
26  */
27 #ifndef MBEDTLS_MD4_H
28 #define MBEDTLS_MD4_H
29 
30 #if !defined(MBEDTLS_CONFIG_FILE)
31 #include "mbedtls/config.h"
32 #else
33 #include MBEDTLS_CONFIG_FILE
34 #endif
35 
36 #include <stddef.h>
37 #include <stdint.h>
38 
39 /* MBEDTLS_ERR_MD4_HW_ACCEL_FAILED is deprecated and should not be used. */
40 #define MBEDTLS_ERR_MD4_HW_ACCEL_FAILED -0x002D
42 #ifdef __cplusplus
43 extern "C" {
44 #endif
45 
46 #if !defined(MBEDTLS_MD4_ALT)
47 // Regular implementation
48 //
49 
58 typedef struct mbedtls_md4_context
59 {
60  uint32_t total[2];
61  uint32_t state[4];
62  unsigned char buffer[64];
63 }
64 mbedtls_md4_context;
65 
66 #else /* MBEDTLS_MD4_ALT */
67 #include "md4_alt.h"
68 #endif /* MBEDTLS_MD4_ALT */
69 
80 void mbedtls_md4_init( mbedtls_md4_context *ctx );
81 
92 void mbedtls_md4_free( mbedtls_md4_context *ctx );
93 
105 void mbedtls_md4_clone( mbedtls_md4_context *dst,
106  const mbedtls_md4_context *src );
107 
119 int mbedtls_md4_starts_ret( mbedtls_md4_context *ctx );
120 
135 int mbedtls_md4_update_ret( mbedtls_md4_context *ctx,
136  const unsigned char *input,
137  size_t ilen );
138 
152 int mbedtls_md4_finish_ret( mbedtls_md4_context *ctx,
153  unsigned char output[16] );
154 
168 int mbedtls_internal_md4_process( mbedtls_md4_context *ctx,
169  const unsigned char data[64] );
170 
171 #if !defined(MBEDTLS_DEPRECATED_REMOVED)
172 #if defined(MBEDTLS_DEPRECATED_WARNING)
173 #define MBEDTLS_DEPRECATED __attribute__((deprecated))
174 #else
175 #define MBEDTLS_DEPRECATED
176 #endif
177 
189 MBEDTLS_DEPRECATED void mbedtls_md4_starts( mbedtls_md4_context *ctx );
190 
205 MBEDTLS_DEPRECATED void mbedtls_md4_update( mbedtls_md4_context *ctx,
206  const unsigned char *input,
207  size_t ilen );
208 
222 MBEDTLS_DEPRECATED void mbedtls_md4_finish( mbedtls_md4_context *ctx,
223  unsigned char output[16] );
224 
238 MBEDTLS_DEPRECATED void mbedtls_md4_process( mbedtls_md4_context *ctx,
239  const unsigned char data[64] );
240 
241 #undef MBEDTLS_DEPRECATED
242 #endif /* !MBEDTLS_DEPRECATED_REMOVED */
243 
258 int mbedtls_md4_ret( const unsigned char *input,
259  size_t ilen,
260  unsigned char output[16] );
261 
262 #if !defined(MBEDTLS_DEPRECATED_REMOVED)
263 #if defined(MBEDTLS_DEPRECATED_WARNING)
264 #define MBEDTLS_DEPRECATED __attribute__((deprecated))
265 #else
266 #define MBEDTLS_DEPRECATED
267 #endif
268 
282 MBEDTLS_DEPRECATED void mbedtls_md4( const unsigned char *input,
283  size_t ilen,
284  unsigned char output[16] );
285 
286 #undef MBEDTLS_DEPRECATED
287 #endif /* !MBEDTLS_DEPRECATED_REMOVED */
288 
289 #if defined(MBEDTLS_SELF_TEST)
290 
301 int mbedtls_md4_self_test( int verbose );
302 
303 #endif /* MBEDTLS_SELF_TEST */
304 
305 #ifdef __cplusplus
306 }
307 #endif
308 
309 #endif /* mbedtls_md4.h */
int mbedtls_md4_ret(const unsigned char *input, size_t ilen, unsigned char output[16])
Output = MD4( input buffer )
int mbedtls_md4_self_test(int verbose)
Checkup routine.
int mbedtls_internal_md4_process(mbedtls_md4_context *ctx, const unsigned char data[64])
MD4 process data block (internal use only)
Configuration options (set of defines)
#define MBEDTLS_DEPRECATED
Definition: pkcs11.h:60
void mbedtls_md4_clone(mbedtls_md4_context *dst, const mbedtls_md4_context *src)
Clone (the state of) an MD4 context.
void mbedtls_md4_free(mbedtls_md4_context *ctx)
Clear MD4 context.
int mbedtls_md4_starts_ret(mbedtls_md4_context *ctx)
MD4 context setup.
int mbedtls_md4_finish_ret(mbedtls_md4_context *ctx, unsigned char output[16])
MD4 final digest.
int mbedtls_md4_update_ret(mbedtls_md4_context *ctx, const unsigned char *input, size_t ilen)
MD4 process buffer.
void mbedtls_md4_init(mbedtls_md4_context *ctx)
Initialize MD4 context.