arc4.h File Reference

The ARCFOUR stream cipher. More...

`#include "mbedtls/config.h"`
`#include <stddef.h>`
Include dependency graph for arc4.h:

Go to the source code of this file.

## Data Structures

struct | mbedtls_arc4_context
| ARC4 context structure. More...

## Macros

#define | MBEDTLS_ERR_ARC4_HW_ACCEL_FAILED -0x0019

## Typedefs

typedef struct mbedtls_arc4_context | mbedtls_arc4_context
| ARC4 context structure. More...

## Functions

void | mbedtls_arc4_init (mbedtls_arc4_context *ctx)
| Initialize ARC4 context. More...
void | mbedtls_arc4_free (mbedtls_arc4_context *ctx)
| Clear ARC4 context. More...
void | mbedtls_arc4_setup (mbedtls_arc4_context *ctx, const unsigned char *key, unsigned int keylen)
| ARC4 key schedule. More...
int | mbedtls_arc4_crypt (mbedtls_arc4_context *ctx, size_t length, const unsigned char *input, unsigned char *output)
| ARC4 cipher function. More...
int | mbedtls_arc4_self_test (int verbose)
| Checkup routine. More...

## Detailed Description

The ARCFOUR stream cipher.

Warning
  ARC4 is considered a weak cipher and its use constitutes a security risk. We recommend considering stronger ciphers instead.

Definition in file arc4.h.

## Macro Definition Documentation

## MBEDTLS_ERR_ARC4_HW_ACCEL_FAILED

#define MBEDTLS_ERR_ARC4_HW_ACCEL_FAILED -0x0019

ARC4 hardware accelerator failed.

Definition at line 39 of file arc4.h.

## Typedef Documentation

## mbedtls_arc4_context

typedef struct mbedtls_arc4_context mbedtls_arc4_context

ARC4 context structure.

Warning
  ARC4 is considered a weak cipher and its use constitutes a security risk. We recommend considering stronger ciphers instead.

## Function Documentation

## mbedtls_arc4_crypt()

int mbedtls_arc4_crypt | ( | mbedtls_arc4_context * | ctx,
|  | size_t | length,
|  | const unsigned char * | input,
|  | unsigned char * | output
| ) |  |

ARC4 cipher function.

Parameters

  ctx | ARC4 context
  length | length of the input data
  input | buffer holding the input data
  output | buffer for the output data

Returns
  0 if successful

Warning
  ARC4 is considered a weak cipher and its use constitutes a security risk. We recommend considering stronger ciphers instead.

## mbedtls_arc4_free()

void mbedtls_arc4_free | ( | mbedtls_arc4_context * | ctx | ) |

Clear ARC4 context.

Parameters

  ctx | ARC4 context to be cleared

Warning
  ARC4 is considered a weak cipher and its use constitutes a security risk. We recommend considering stronger ciphers instead.

## mbedtls_arc4_init()

void mbedtls_arc4_init | ( | mbedtls_arc4_context * | ctx | ) |

Initialize ARC4 context.

Parameters

  ctx | ARC4 context to be initialized

Warning
  ARC4 is considered a weak cipher and its use constitutes a security risk. We recommend considering stronger ciphers instead.

## mbedtls_arc4_self_test()

int mbedtls_arc4_self_test | ( | int | verbose | ) |

Checkup routine.

Returns
  0 if successful, or 1 if the test failed

Warning
  ARC4 is considered a weak cipher and its use constitutes a security risk. We recommend considering stronger ciphers instead.

## mbedtls_arc4_setup()

void mbedtls_arc4_setup | ( | mbedtls_arc4_context * | ctx,
|  | const unsigned char * | key,
|  | unsigned int | keylen
| ) |  |

ARC4 key schedule.

Parameters

  ctx | ARC4 context to be setup
  key | the secret key
  keylen | length of the key, in bytes

Warning
  ARC4 is considered a weak cipher and its use constitutes a security risk. We recommend considering stronger ciphers instead.