Mbed OS Reference
Loading...
Searching...
No Matches
mbedtls/include/mbedtls/des.h File Reference

DES block cipher. More...

#include "mbedtls/config.h"
#include <stddef.h>
#include <stdint.h>

Go to the source code of this file.

Data Structures

struct  mbedtls_des_context
 DES context structure. More...
 
struct  mbedtls_des3_context
 Triple-DES context structure. More...
 

Macros

#define MBEDTLS_ERR_DES_INVALID_INPUT_LENGTH   -0x0032
 The data input has an invalid length. More...
 
#define MBEDTLS_ERR_DES_HW_ACCEL_FAILED   -0x0033
 DES hardware accelerator failed. More...
 

Typedefs

typedef struct mbedtls_des_context mbedtls_des_context
 DES context structure. More...
 
typedef struct mbedtls_des3_context mbedtls_des3_context
 Triple-DES context structure. More...
 

Functions

void mbedtls_des_init (mbedtls_des_context *ctx)
 Initialize DES context. More...
 
void mbedtls_des_free (mbedtls_des_context *ctx)
 Clear DES context. More...
 
void mbedtls_des3_init (mbedtls_des3_context *ctx)
 Initialize Triple-DES context. More...
 
void mbedtls_des3_free (mbedtls_des3_context *ctx)
 Clear Triple-DES context. More...
 
void mbedtls_des_key_set_parity (unsigned char key[8])
 Set key parity on the given key to odd. More...
 
int mbedtls_des_key_check_key_parity (const unsigned char key[8])
 Check that key parity on the given key is odd. More...
 
int mbedtls_des_key_check_weak (const unsigned char key[8])
 Check that key is not a weak or semi-weak DES key. More...
 
int mbedtls_des_setkey_enc (mbedtls_des_context *ctx, const unsigned char key[8])
 DES key schedule (56-bit, encryption) More...
 
int mbedtls_des_setkey_dec (mbedtls_des_context *ctx, const unsigned char key[8])
 DES key schedule (56-bit, decryption) More...
 
int mbedtls_des3_set2key_enc (mbedtls_des3_context *ctx, const unsigned char key[8 *2])
 Triple-DES key schedule (112-bit, encryption) More...
 
int mbedtls_des3_set2key_dec (mbedtls_des3_context *ctx, const unsigned char key[8 *2])
 Triple-DES key schedule (112-bit, decryption) More...
 
int mbedtls_des3_set3key_enc (mbedtls_des3_context *ctx, const unsigned char key[8 *3])
 Triple-DES key schedule (168-bit, encryption) More...
 
int mbedtls_des3_set3key_dec (mbedtls_des3_context *ctx, const unsigned char key[8 *3])
 Triple-DES key schedule (168-bit, decryption) More...
 
int mbedtls_des_crypt_ecb (mbedtls_des_context *ctx, const unsigned char input[8], unsigned char output[8])
 DES-ECB block encryption/decryption. More...
 
int mbedtls_des3_crypt_ecb (mbedtls_des3_context *ctx, const unsigned char input[8], unsigned char output[8])
 3DES-ECB block encryption/decryption More...
 
void mbedtls_des_setkey (uint32_t SK[32], const unsigned char key[8])
 Internal function for key expansion. More...
 

Detailed Description

DES block cipher.

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

Definition in file mbedtls/include/mbedtls/des.h.