mbed TLS v2.23.0: sha512.h File Reference

mbed TLS v2.23.0

Data Structures | Macros | Typedefs | Functions
sha512.h File Reference

This file contains SHA-384 and SHA-512 definitions and functions. More...

`#include "mbedtls/config.h"`
`#include <stddef.h>`
`#include <stdint.h>`
Include dependency graph for sha512.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

## Data Structures
struct | mbedtls_sha512_context
| The SHA-512 context structure. More...

## Macros
#define | MBEDTLS_ERR_SHA512_HW_ACCEL_FAILED -0x0039
#define | MBEDTLS_ERR_SHA512_BAD_INPUT_DATA -0x0075
#define | MBEDTLS_DEPRECATED

## Typedefs
typedef struct mbedtls_sha512_context | mbedtls_sha512_context
| The SHA-512 context structure. More...

## Functions
void | mbedtls_sha512_init (mbedtls_sha512_context *ctx)
| This function initializes a SHA-512 context. More...
void | mbedtls_sha512_free (mbedtls_sha512_context *ctx)
| This function clears a SHA-512 context. More...
void | mbedtls_sha512_clone (mbedtls_sha512_context *dst, const mbedtls_sha512_context *src)
| This function clones the state of a SHA-512 context. More...
int | mbedtls_sha512_starts_ret (mbedtls_sha512_context *ctx, int is384)
| This function starts a SHA-384 or SHA-512 checksum calculation. More...
int | mbedtls_sha512_update_ret (mbedtls_sha512_context *ctx, const unsigned char *input, size_t ilen)
| This function feeds an input buffer into an ongoing SHA-512 checksum calculation. More...
int | mbedtls_sha512_finish_ret (mbedtls_sha512_context *ctx, unsigned char output[64])
| This function finishes the SHA-512 operation, and writes the result to the output buffer. This function is for internal use only. More...
int | mbedtls_internal_sha512_process (mbedtls_sha512_context *ctx, const unsigned char data[128])
| This function processes a single data block within the ongoing SHA-512 computation. More...
MBEDTLS_DEPRECATED void | mbedtls_sha512_starts (mbedtls_sha512_context *ctx, int is384)
| This function starts a SHA-384 or SHA-512 checksum calculation. More...
MBEDTLS_DEPRECATED void | mbedtls_sha512_update (mbedtls_sha512_context *ctx, const unsigned char *input, size_t ilen)
| This function feeds an input buffer into an ongoing SHA-512 checksum calculation. More...
MBEDTLS_DEPRECATED void | mbedtls_sha512_finish (mbedtls_sha512_context *ctx, unsigned char output[64])
| This function finishes the SHA-512 operation, and writes the result to the output buffer. More...
MBEDTLS_DEPRECATED void | mbedtls_sha512_process (mbedtls_sha512_context *ctx, const unsigned char data[128])
| This function processes a single data block within the ongoing SHA-512 computation. This function is for internal use only. More...
int | mbedtls_sha512_ret (const unsigned char *input, size_t ilen, unsigned char output[64], int is384)
| This function calculates the SHA-512 or SHA-384 checksum of a buffer. More...
MBEDTLS_DEPRECATED void | mbedtls_sha512 (const unsigned char *input, size_t ilen, unsigned char output[64], int is384)
| This function calculates the SHA-512 or SHA-384 checksum of a buffer. More...
int | mbedtls_sha512_self_test (int verbose)
| The SHA-384 or SHA-512 checkup routine. More...

## Detailed Description

This file contains SHA-384 and SHA-512 definitions and functions.

The Secure Hash Algorithms 384 and 512 (SHA-384 and SHA-512) cryptographic hash functions are defined in FIPS 180-4: Secure Hash Standard (SHS).

Definition in file sha512.h.

## Macro Definition Documentation

## ◆ MBEDTLS_DEPRECATED [1/2]

#define MBEDTLS_DEPRECATED

Definition at line 268 of file sha512.h.

## ◆ MBEDTLS_DEPRECATED [2/2]

#define MBEDTLS_DEPRECATED

Definition at line 268 of file sha512.h.

## ◆ MBEDTLS_ERR_SHA512_BAD_INPUT_DATA

#define MBEDTLS_ERR_SHA512_BAD_INPUT_DATA -0x0075

SHA-512 input data was malformed.

Definition at line 41 of file sha512.h.

## ◆ MBEDTLS_ERR_SHA512_HW_ACCEL_FAILED

#define MBEDTLS_ERR_SHA512_HW_ACCEL_FAILED -0x0039

SHA-512 hardware accelerator failed

Definition at line 40 of file sha512.h.

## Typedef Documentation

## ◆ mbedtls_sha512_context

typedef struct mbedtls_sha512_context mbedtls_sha512_context

The SHA-512 context structure.

                The structure is used both for SHA-384 and for SHA-512
                checksum calculations. The choice between these two is
                made in the call to mbedtls_sha512_starts_ret().

## Function Documentation

## ◆ mbedtls_internal_sha512_process()

int mbedtls_internal_sha512_process | ( | mbedtls_sha512_context * | ctx,
|  | const unsigned char | data[128]
| ) |  |

This function processes a single data block within the ongoing SHA-512 computation.

Parameters

  ctx | The SHA-512 context. This must be initialized.
  data | The buffer holding one block of data. This must be a readable buffer of length `128` Bytes.

Returns
  `0` on success.
  A negative error code on failure.

## ◆ mbedtls_sha512()

MBEDTLS_DEPRECATED void mbedtls_sha512 | ( | const unsigned char * | input,
|  | size_t | ilen,
|  | unsigned char | output[64],
|  | int | is384
| ) |  |

This function calculates the SHA-512 or SHA-384 checksum of a buffer.

The function allocates the context, performs the calculation, and frees the context.

The SHA-512 result is calculated as output = SHA-512(input buffer).

Deprecated:
  Superseded by mbedtls_sha512_ret() in 2.7.0

Parameters

  input | The buffer holding the data. This must be a readable buffer of length `ilen` Bytes.
  ilen | The length of the input data in Bytes.
  output | The SHA-384 or SHA-512 checksum result. This must be a writable buffer of length `64` Bytes.
  is384 | Determines which function to use. This must be either `0` for SHA-512, or `1` for SHA-384.

Note
  When `MBEDTLS_SHA512_NO_SHA384` is defined, `is384` must be `0`, or the function will fail to work.

## ◆ mbedtls_sha512_clone()

void mbedtls_sha512_clone | ( | mbedtls_sha512_context * | dst,
|  | const mbedtls_sha512_context * | src
| ) |  |

This function clones the state of a SHA-512 context.

Parameters

  dst | The destination context. This must be initialized.
  src | The context to clone. This must be initialized.

## ◆ mbedtls_sha512_finish()

MBEDTLS_DEPRECATED void mbedtls_sha512_finish | ( | mbedtls_sha512_context * | ctx,
|  | unsigned char | output[64]
| ) |  |

This function finishes the SHA-512 operation, and writes the result to the output buffer.

Deprecated:
  Superseded by mbedtls_sha512_finish_ret() in 2.7.0.

Parameters

  ctx | The SHA-512 context. This must be initialized and have a hash operation started.
  output | The SHA-384 or SHA-512 checksum result. This must be a writable buffer of size `64` Bytes.

## ◆ mbedtls_sha512_finish_ret()

int mbedtls_sha512_finish_ret | ( | mbedtls_sha512_context * | ctx,
|  | unsigned char | output[64]
| ) |  |

This function finishes the SHA-512 operation, and writes the result to the output buffer. This function is for internal use only.

Parameters

  ctx | The SHA-512 context. This must be initialized and have a hash operation started.
  output | The SHA-384 or SHA-512 checksum result. This must be a writable buffer of length `64` Bytes.

Returns
  `0` on success.
  A negative error code on failure.

## ◆ mbedtls_sha512_free()

void mbedtls_sha512_free | ( | mbedtls_sha512_context * | ctx | ) |

This function clears a SHA-512 context.

Parameters

  ctx | The SHA-512 context to clear. This may be `NULL`, in which case this function does nothing. If it is not `NULL`, it must point to an initialized SHA-512 context.

## ◆ mbedtls_sha512_init()

void mbedtls_sha512_init | ( | mbedtls_sha512_context * | ctx | ) |

This function initializes a SHA-512 context.

Parameters

  ctx | The SHA-512 context to initialize. This must not be `NULL`.

## ◆ mbedtls_sha512_process()

MBEDTLS_DEPRECATED void mbedtls_sha512_process | ( | mbedtls_sha512_context * | ctx,
|  | const unsigned char | data[128]
| ) |  |

This function processes a single data block within the ongoing SHA-512 computation. This function is for internal use only.

Deprecated:
  Superseded by mbedtls_internal_sha512_process() in 2.7.0.

Parameters

  ctx | The SHA-512 context. This must be initialized.
  data | The buffer holding one block of data. This must be a readable buffer of length `128` Bytes.

## ◆ mbedtls_sha512_ret()

int mbedtls_sha512_ret | ( | const unsigned char * | input,
|  | size_t | ilen,
|  | unsigned char | output[64],
|  | int | is384
| ) |  |

This function calculates the SHA-512 or SHA-384 checksum of a buffer.

The function allocates the context, performs the calculation, and frees the context.

The SHA-512 result is calculated as output = SHA-512(input buffer).

Parameters

  input | The buffer holding the input data. This must be a readable buffer of length `ilen` Bytes.
  ilen | The length of the input data in Bytes.
  output | The SHA-384 or SHA-512 checksum result. This must be a writable buffer of length `64` Bytes.
  is384 | Determines which function to use. This must be either `0` for SHA-512, or `1` for SHA-384.

Note
  When `MBEDTLS_SHA512_NO_SHA384` is defined, `is384` must be `0`, or the function will return MBEDTLS_ERR_SHA512_BAD_INPUT_DATA.

Returns
  `0` on success.
  A negative error code on failure.

## ◆ mbedtls_sha512_self_test()

int mbedtls_sha512_self_test | ( | int | verbose | ) |

The SHA-384 or SHA-512 checkup routine.

Returns
  `0` on success.
  `1` on failure.

## ◆ mbedtls_sha512_starts()

MBEDTLS_DEPRECATED void mbedtls_sha512_starts | ( | mbedtls_sha512_context * | ctx,
|  | int | is384
| ) |  |

This function starts a SHA-384 or SHA-512 checksum calculation.

Deprecated:
  Superseded by mbedtls_sha512_starts_ret() in 2.7.0

Parameters

  ctx | The SHA-512 context to use. This must be initialized.
  is384 | Determines which function to use. This must be either `0` for SHA-512 or `1` for SHA-384.

Note
  When `MBEDTLS_SHA512_NO_SHA384` is defined, `is384` must be `0`, or the function will fail to work.

## ◆ mbedtls_sha512_starts_ret()

int mbedtls_sha512_starts_ret | ( | mbedtls_sha512_context * | ctx,
|  | int | is384
| ) |  |

This function starts a SHA-384 or SHA-512 checksum calculation.

Parameters

  ctx | The SHA-512 context to use. This must be initialized.
  is384 | Determines which function to use. This must be either `0` for SHA-512, or `1` for SHA-384.

Note
  When `MBEDTLS_SHA512_NO_SHA384` is defined, `is384` must be `0`, or the function will return MBEDTLS_ERR_SHA512_BAD_INPUT_DATA.

Returns
  `0` on success.
  A negative error code on failure.

## ◆ mbedtls_sha512_update()

MBEDTLS_DEPRECATED void mbedtls_sha512_update | ( | mbedtls_sha512_context * | ctx,
|  | const unsigned char * | input,
|  | size_t | ilen
| ) |  |

This function feeds an input buffer into an ongoing SHA-512 checksum calculation.

Deprecated:
  Superseded by mbedtls_sha512_update_ret() in 2.7.0.

Parameters

  ctx | The SHA-512 context. This must be initialized and have a hash operation started.
  input | The buffer holding the data. This must be a readable buffer of length `ilen` Bytes.
  ilen | The length of the input data in Bytes.

## ◆ mbedtls_sha512_update_ret()

int mbedtls_sha512_update_ret | ( | mbedtls_sha512_context * | ctx,
|  | const unsigned char * | input,
|  | size_t | ilen
| ) |  |

This function feeds an input buffer into an ongoing SHA-512 checksum calculation.

Parameters

  ctx | The SHA-512 context. This must be initialized and have a hash operation started.
  input | The buffer holding the input data. This must be a readable buffer of length `ilen` Bytes.
  ilen | The length of the input data in Bytes.

Returns
  `0` on success.
  A negative error code on failure.