sha256.h File Reference

The SHA-224 and SHA-256 cryptographic hash function. More...

`#include "config.h"`
`#include <stddef.h>`
`#include <stdint.h>`
Include dependency graph for sha256.h:

Go to the source code of this file.

## Data Structures

struct | mbedtls_sha256_context
| The SHA-256 context structure. More...

## Macros

#define | MBEDTLS_ERR_SHA256_HW_ACCEL_FAILED -0x0037
#define | MBEDTLS_DEPRECATED __attribute__((deprecated))
#define | MBEDTLS_DEPRECATED __attribute__((deprecated))

## Functions

void | mbedtls_sha256_init (mbedtls_sha256_context *ctx)
| This function initializes a SHA-256 context. More...
void | mbedtls_sha256_free (mbedtls_sha256_context *ctx)
| This function clears a SHA-256 context. More...
void | mbedtls_sha256_clone (mbedtls_sha256_context *dst, const mbedtls_sha256_context *src)
| This function clones the state of a SHA-256 context. More...
int | mbedtls_sha256_starts_ret (mbedtls_sha256_context *ctx, int is224)
| This function starts a SHA-224 or SHA-256 checksum calculation. More...
int | mbedtls_sha256_update_ret (mbedtls_sha256_context *ctx, const unsigned char *input, size_t ilen)
| This function feeds an input buffer into an ongoing SHA-256 checksum calculation. More...
int | mbedtls_sha256_finish_ret (mbedtls_sha256_context *ctx, unsigned char output[32])
| This function finishes the SHA-256 operation, and writes the result to the output buffer. More...
int | mbedtls_internal_sha256_process (mbedtls_sha256_context *ctx, const unsigned char data[64])
| This function processes a single data block within the ongoing SHA-256 computation. This function is for internal use only. More...
MBEDTLS_DEPRECATED void | mbedtls_sha256_starts (mbedtls_sha256_context *ctx, int is224)
| This function starts a SHA-256 checksum calculation. More...
MBEDTLS_DEPRECATED void | mbedtls_sha256_update (mbedtls_sha256_context *ctx, const unsigned char *input, size_t ilen)
| This function feeds an input buffer into an ongoing SHA-256 checksum calculation. More...
MBEDTLS_DEPRECATED void | mbedtls_sha256_finish (mbedtls_sha256_context *ctx, unsigned char output[32])
| This function finishes the SHA-256 operation, and writes the result to the output buffer. More...
MBEDTLS_DEPRECATED void | mbedtls_sha256_process (mbedtls_sha256_context *ctx, const unsigned char data[64])
| This function processes a single data block within the ongoing SHA-256 computation. This function is for internal use only. More...
int | mbedtls_sha256_ret (const unsigned char *input, size_t ilen, unsigned char output[32], int is224)
| This function calculates the SHA-224 or SHA-256 checksum of a buffer. More...
MBEDTLS_DEPRECATED void | mbedtls_sha256 (const unsigned char *input, size_t ilen, unsigned char output[32], int is224)
| This function calculates the SHA-224 or SHA-256 checksum of a buffer. More...
int | mbedtls_sha256_self_test (int verbose)
| The SHA-224 and SHA-256 checkup routine. More...

## Detailed Description

The SHA-224 and SHA-256 cryptographic hash function.

Definition in file sha256.h.

## Macro Definition Documentation

## MBEDTLS_DEPRECATED [1/2]

#define MBEDTLS_DEPRECATED __attribute__((deprecated))

Definition at line 235 of file sha256.h.

## MBEDTLS_DEPRECATED [2/2]

#define MBEDTLS_DEPRECATED __attribute__((deprecated))

Definition at line 235 of file sha256.h.

## MBEDTLS_ERR_SHA256_HW_ACCEL_FAILED

#define MBEDTLS_ERR_SHA256_HW_ACCEL_FAILED -0x0037

SHA-256 hardware accelerator failed

Definition at line 36 of file sha256.h.

## Function Documentation

## mbedtls_internal_sha256_process()

int mbedtls_internal_sha256_process | ( | mbedtls_sha256_context * | ctx,
|  | const unsigned char | data[64]
| ) |  |

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

Parameters

  ctx | The SHA-256 context.
  data | The buffer holding one block of data.

Returns
  `0` on success.

## mbedtls_sha256()

MBEDTLS_DEPRECATED void mbedtls_sha256 | ( | const unsigned char * | input,
|  | size_t | ilen,
|  | unsigned char | output[32],
|  | int | is224
| ) |  |

This function calculates the SHA-224 or SHA-256 checksum of a buffer.

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

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

Deprecated:
  Superseded by mbedtls_sha256_ret() in 2.7.0.

Parameters

  input | The buffer holding the data.
  ilen | The length of the input data.
  output | The SHA-224 or SHA-256 checksum result.

  is224

  Determines which function to use.
  - 0: Use SHA-256.
  - 1: Use SHA-224.

## mbedtls_sha256_clone()

void mbedtls_sha256_clone | ( | mbedtls_sha256_context * | dst,
|  | const mbedtls_sha256_context * | src
| ) |  |

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

Parameters

  dst | The destination context.
  src | The context to clone.

## mbedtls_sha256_finish()

MBEDTLS_DEPRECATED void mbedtls_sha256_finish | ( | mbedtls_sha256_context * | ctx,
|  | unsigned char | output[32]
| ) |  |

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

Deprecated:
  Superseded by mbedtls_sha256_finish_ret() in 2.7.0.

Parameters

  ctx | The SHA-256 context.
  output | The SHA-224or SHA-256 checksum result.

## mbedtls_sha256_finish_ret()

int mbedtls_sha256_finish_ret | ( | mbedtls_sha256_context * | ctx,
|  | unsigned char | output[32]
| ) |  |

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

Parameters

  ctx | The SHA-256 context.
  output | The SHA-224 or SHA-256 checksum result.

Returns
  `0` on success.

## mbedtls_sha256_free()

void mbedtls_sha256_free | ( | mbedtls_sha256_context * | ctx | ) |

This function clears a SHA-256 context.

Parameters

  ctx | The SHA-256 context to clear.

## mbedtls_sha256_init()

void mbedtls_sha256_init | ( | mbedtls_sha256_context * | ctx | ) |

This function initializes a SHA-256 context.

Parameters

  ctx | The SHA-256 context to initialize.

## mbedtls_sha256_process()

MBEDTLS_DEPRECATED void mbedtls_sha256_process | ( | mbedtls_sha256_context * | ctx,
|  | const unsigned char | data[64]
| ) |  |

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

Deprecated:
  Superseded by mbedtls_internal_sha256_process() in 2.7.0.

Parameters

  ctx | The SHA-256 context.
  data | The buffer holding one block of data.

## mbedtls_sha256_ret()

int mbedtls_sha256_ret | ( | const unsigned char * | input,
|  | size_t | ilen,
|  | unsigned char | output[32],
|  | int | is224
| ) |  |

This function calculates the SHA-224 or SHA-256 checksum of a buffer.

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

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

Parameters

  input | The buffer holding the input data.
  ilen | The length of the input data.
  output | The SHA-224 or SHA-256 checksum result.

  is224

  Determines which function to use.
  - 0: Use SHA-256.
  - 1: Use SHA-224.

## mbedtls_sha256_self_test()

int mbedtls_sha256_self_test | ( | int | verbose | ) |

The SHA-224 and SHA-256 checkup routine.

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

## mbedtls_sha256_starts()

MBEDTLS_DEPRECATED void mbedtls_sha256_starts | ( | mbedtls_sha256_context * | ctx,
|  | int | is224
| ) |  |

This function starts a SHA-256 checksum calculation.

Deprecated:
  Superseded by mbedtls_sha256_starts_ret() in 2.7.0.

Parameters

  ctx | The SHA-256 context to initialize.

  is224

  Determines which function to use.
  - 0: Use SHA-256.
  - 1: Use SHA-224.

## mbedtls_sha256_starts_ret()

int mbedtls_sha256_starts_ret | ( | mbedtls_sha256_context * | ctx,
|  | int | is224
| ) |  |

This function starts a SHA-224 or SHA-256 checksum calculation.

Parameters

  ctx | The context to initialize.

  is224

  Determines which function to use.
  - 0: Use SHA-256.
  - 1: Use SHA-224.

Returns
  `0` on success.

## mbedtls_sha256_update()

MBEDTLS_DEPRECATED void mbedtls_sha256_update | ( | mbedtls_sha256_context * | ctx,
|  | const unsigned char * | input,
|  | size_t | ilen
| ) |  |

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

Deprecated:
  Superseded by mbedtls_sha256_update_ret() in 2.7.0.

Parameters

  ctx | The SHA-256 context to initialize.
  input | The buffer holding the data.
  ilen | The length of the input data.

## mbedtls_sha256_update_ret()

int mbedtls_sha256_update_ret | ( | mbedtls_sha256_context * | ctx,
|  | const unsigned char * | input,
|  | size_t | ilen
| ) |  |

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

Parameters

  ctx | SHA-256 context
  input | buffer holding the data
  ilen | length of the input data

Returns
  `0` on success.