File nut/contrib/arm-crypto-lib/des/des.c


Included Files

* \file des.c * \author Daniel Otte * \email daniel.otte@rub.de * \date 2007-06-16 * \brief DES and EDE-DES implementation * \license GPLv3 or later *


Preprocessor definitions

#define ROTTABLE 0x7EFC

#define ROTTABLE_INV 0x3F7E

#define R

#define L


Global Variable sbox

const uint8_t sbox[256]
Visible in:   nut/contrib/arm-crypto-lib/des/des.c
Used in: des_f() nut/contrib/arm-crypto-lib/des/des.c

Global Variable e_permtab

const uint8_t e_permtab[]
Visible in:   nut/contrib/arm-crypto-lib/des/des.c
Used in: des_f() nut/contrib/arm-crypto-lib/des/des.c

Global Variable p_permtab

const uint8_t p_permtab[]
Visible in:   nut/contrib/arm-crypto-lib/des/des.c
Used in: des_f() nut/contrib/arm-crypto-lib/des/des.c

Global Variable ip_permtab

const uint8_t ip_permtab[]
Visible in:   nut/contrib/arm-crypto-lib/des/des.c
Used in: des_dec() nut/contrib/arm-crypto-lib/des/des.c
  des_enc() nut/contrib/arm-crypto-lib/des/des.c

Global Variable inv_ip_permtab

const uint8_t inv_ip_permtab[]
Visible in:   nut/contrib/arm-crypto-lib/des/des.c
Used in: des_dec() nut/contrib/arm-crypto-lib/des/des.c
  des_enc() nut/contrib/arm-crypto-lib/des/des.c

Global Variable pc1_permtab

const uint8_t pc1_permtab[]
Visible in:   nut/contrib/arm-crypto-lib/des/des.c
Used in: des_dec() nut/contrib/arm-crypto-lib/des/des.c
  des_enc() nut/contrib/arm-crypto-lib/des/des.c

Global Variable pc2_permtab

const uint8_t pc2_permtab[]
Visible in:   nut/contrib/arm-crypto-lib/des/des.c
Used in: des_dec() nut/contrib/arm-crypto-lib/des/des.c
  des_enc() nut/contrib/arm-crypto-lib/des/des.c

Global Variable splitin6bitword_permtab

const uint8_t splitin6bitword_permtab[]
Visible in:   nut/contrib/arm-crypto-lib/des/des.c
Used in: splitin6bitwords() nut/contrib/arm-crypto-lib/des/des.c

Global Variable shiftkey_permtab

const uint8_t shiftkey_permtab[]
Visible in:   nut/contrib/arm-crypto-lib/des/des.c
Used in: shiftkey() nut/contrib/arm-crypto-lib/des/des.c

Global Variable shiftkeyinv_permtab

const uint8_t shiftkeyinv_permtab[]
Visible in:   nut/contrib/arm-crypto-lib/des/des.c
Used in: shiftkey_inv() nut/contrib/arm-crypto-lib/des/des.c

Global Function changeendian32()

void changeendian32 ( uint32_t* a )
Called by: des_f() nut/contrib/arm-crypto-lib/des/des.c

Global Function des_dec()

void des_dec ( void* out, const void* in, const uint8_t* key )
Calls: des_f() nut/contrib/arm-crypto-lib/des/des.c
  permute() nut/contrib/arm-crypto-lib/des/des.c
  shiftkey_inv() nut/contrib/arm-crypto-lib/des/des.c
Called by: tdes_dec() nut/contrib/arm-crypto-lib/des/des.c
  tdes_enc() nut/contrib/arm-crypto-lib/des/des.c
References Variables: inv_ip_permtab nut/contrib/arm-crypto-lib/des/des.c
  ip_permtab nut/contrib/arm-crypto-lib/des/des.c
  pc1_permtab nut/contrib/arm-crypto-lib/des/des.c
  pc2_permtab nut/contrib/arm-crypto-lib/des/des.c

Global Function des_enc()

void des_enc ( void* out, const void* in, const void* key )
Calls: des_f() nut/contrib/arm-crypto-lib/des/des.c
  permute() nut/contrib/arm-crypto-lib/des/des.c
  shiftkey() nut/contrib/arm-crypto-lib/des/des.c
Called by: tdes_dec() nut/contrib/arm-crypto-lib/des/des.c
  tdes_enc() nut/contrib/arm-crypto-lib/des/des.c
References Variables: inv_ip_permtab nut/contrib/arm-crypto-lib/des/des.c
  ip_permtab nut/contrib/arm-crypto-lib/des/des.c
  pc1_permtab nut/contrib/arm-crypto-lib/des/des.c
  pc2_permtab nut/contrib/arm-crypto-lib/des/des.c

Global Function des_f()

uint32_t des_f ( uint32_t r, uint8_t* kr )
Calls: changeendian32() nut/contrib/arm-crypto-lib/des/des.c
  permute() nut/contrib/arm-crypto-lib/des/des.c
  splitin6bitwords() nut/contrib/arm-crypto-lib/des/des.c
  substitute() nut/contrib/arm-crypto-lib/des/des.c
Called by: des_dec() nut/contrib/arm-crypto-lib/des/des.c
  des_enc() nut/contrib/arm-crypto-lib/des/des.c
References Variables: e_permtab nut/contrib/arm-crypto-lib/des/des.c
  p_permtab nut/contrib/arm-crypto-lib/des/des.c
  sbox nut/contrib/arm-crypto-lib/des/des.c

Global Function permute()

void permute ( const uint8_t* ptable, const uint8_t* in, uint8_t* out )
Called by: des_dec() nut/contrib/arm-crypto-lib/des/des.c
  des_enc() nut/contrib/arm-crypto-lib/des/des.c
  des_f() nut/contrib/arm-crypto-lib/des/des.c
  shiftkey() nut/contrib/arm-crypto-lib/des/des.c
  shiftkey_inv() nut/contrib/arm-crypto-lib/des/des.c
  splitin6bitwords() nut/contrib/arm-crypto-lib/des/des.c

Global Function tdes_dec()

void tdes_dec ( void* out, void* in, const uint8_t* key )
Calls: des_dec() nut/contrib/arm-crypto-lib/des/des.c
  des_enc() nut/contrib/arm-crypto-lib/des/des.c

Global Function tdes_enc()

void tdes_enc ( void* out, void* in, const void* key )
Calls: des_dec() nut/contrib/arm-crypto-lib/des/des.c
  des_enc() nut/contrib/arm-crypto-lib/des/des.c

Local Function shiftkey()

static inline void shiftkey ( uint8_t* key )
Calls: memcpy() nut/c/string/memcpy.c
  permute() nut/contrib/arm-crypto-lib/des/des.c
Called by: des_enc() nut/contrib/arm-crypto-lib/des/des.c
References Variables: shiftkey_permtab nut/contrib/arm-crypto-lib/des/des.c

Local Function shiftkey_inv()

static inline void shiftkey_inv ( uint8_t* key )
Calls: memcpy() nut/c/string/memcpy.c
  permute() nut/contrib/arm-crypto-lib/des/des.c
Called by: des_dec() nut/contrib/arm-crypto-lib/des/des.c
References Variables: shiftkeyinv_permtab nut/contrib/arm-crypto-lib/des/des.c

Local Function splitin6bitwords()

static inline uint64_t splitin6bitwords ( uint64_t a )
Calls: permute() nut/contrib/arm-crypto-lib/des/des.c
Called by: des_f() nut/contrib/arm-crypto-lib/des/des.c
References Variables: splitin6bitword_permtab nut/contrib/arm-crypto-lib/des/des.c

Local Function substitute()

static inline uint8_t substitute ( uint8_t a, uint8_t* sbp )
Called by: des_f() nut/contrib/arm-crypto-lib/des/des.c