OPTIGA Trust M  1.1.0
C++ library for Optiga Trust M Chip Security Controller
arc4.h File Reference

The ARCFOUR stream cipher. More...

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

Go to the source code of this file.

Classes

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.

Macro Definition Documentation

◆ MBEDTLS_ERR_ARC4_HW_ACCEL_FAILED

#define MBEDTLS_ERR_ARC4_HW_ACCEL_FAILED   -0x0019

ARC4 hardware accelerator failed.

Typedef Documentation

◆ 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
ctxARC4 context
lengthlength of the input data
inputbuffer holding the input data
outputbuffer 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
ctxARC4 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
ctxARC4 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
ctxARC4 context to be setup
keythe secret key
keylenlength 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.