cryptlib  3.4.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Macros
Classes | Macros | Typedefs | Functions | Variables
des.h File Reference
#include "crypt/osconfig.h"

Go to the source code of this file.

Classes

struct  des_ks_struct
 

Macros

#define DES_LONG   unsigned long
 
#define DES_KEY_SZ   (sizeof(des_cblock))
 
#define DES_SCHEDULE_SZ   (sizeof(des_key_schedule))
 
#define DES_ENCRYPT   1
 
#define DES_DECRYPT   0
 
#define DES_CBC_MODE   0
 
#define DES_PCBC_MODE   1
 
#define des_ecb2_encrypt(i, o, k1, k2, e)   des_ecb3_encrypt((i),(o),(k1),(k2),(k1),(e))
 
#define des_ede2_cbc_encrypt(i, o, l, k1, k2, iv, e)   des_ede3_cbc_encrypt((i),(o),(l),(k1),(k2),(k1),(iv),(e))
 
#define des_ede2_cfb64_encrypt(i, o, l, k1, k2, iv, n, e)   des_ede3_cfb64_encrypt((i),(o),(l),(k1),(k2),(k1),(iv),(n),(e))
 
#define des_ede2_ofb64_encrypt(i, o, l, k1, k2, iv, n)   des_ede3_ofb64_encrypt((i),(o),(l),(k1),(k2),(k1),(iv),(n))
 
#define _KERBEROS_DES_H
 
#define KRBDES_ENCRYPT   DES_ENCRYPT
 
#define KRBDES_DECRYPT   DES_DECRYPT
 
#define C_Block   des_cblock
 
#define Key_schedule   des_key_schedule
 
#define KEY_SZ   DES_KEY_SZ
 
#define string_to_key   des_string_to_key
 
#define read_pw_string   des_read_pw_string
 
#define random_key   des_random_key
 
#define pcbc_encrypt   des_pcbc_encrypt
 
#define set_key   des_set_key
 
#define key_sched   des_key_sched
 
#define ecb_encrypt   des_ecb_encrypt
 
#define cbc_encrypt   des_cbc_encrypt
 
#define ncbc_encrypt   des_ncbc_encrypt
 
#define xcbc_encrypt   des_xcbc_encrypt
 
#define cbc_cksum   des_cbc_cksum
 
#define quad_cksum   des_quad_cksum
 
#define check_parity   des_check_key_parity
 
#define des_fixup_key_parity   des_set_odd_parity
 

Typedefs

typedef unsigned char des_cblock [8]
 
typedef unsigned char const_des_cblock [8]
 
typedef struct des_ks_struct des_key_schedule [16]
 
typedef des_key_schedule bit_64
 

Functions

const char * des_options (void)
 
void des_ecb3_encrypt (const_des_cblock *input, des_cblock *output, des_key_schedule ks1, des_key_schedule ks2, des_key_schedule ks3, int enc)
 
DES_LONG des_cbc_cksum (const unsigned char *input, des_cblock *output, long length, des_key_schedule schedule, const_des_cblock *ivec)
 
void des_cbc_encrypt (const unsigned char *input, unsigned char *output, long length, des_key_schedule schedule, des_cblock *ivec, int enc)
 
void ASM_EXPORT des_ncbc_encrypt (const unsigned char *input, unsigned char *output, long length, des_key_schedule schedule, des_cblock *ivec, int enc)
 
void des_xcbc_encrypt (const unsigned char *input, unsigned char *output, long length, des_key_schedule schedule, des_cblock *ivec, const_des_cblock *inw, const_des_cblock *outw, int enc)
 
void des_cfb_encrypt (const unsigned char *in, unsigned char *out, int numbits, long length, des_key_schedule schedule, des_cblock *ivec, int enc)
 
void des_ecb_encrypt (const_des_cblock *input, des_cblock *output, des_key_schedule ks, int enc)
 
void ASM_EXPORT des_encrypt1 (DES_LONG *data, des_key_schedule ks, int enc)
 
void des_encrypt2 (DES_LONG *data, des_key_schedule ks, int enc)
 
void ASM_EXPORT des_encrypt3 (DES_LONG *data, des_key_schedule ks1, des_key_schedule ks2, des_key_schedule ks3)
 
void ASM_EXPORT des_decrypt3 (DES_LONG *data, des_key_schedule ks1, des_key_schedule ks2, des_key_schedule ks3)
 
void des_ede3_cbc_encrypt (const unsigned char *input, unsigned char *output, long length, des_key_schedule ks1, des_key_schedule ks2, des_key_schedule ks3, des_cblock *ivec, int enc)
 
void des_ede3_cbcm_encrypt (const unsigned char *in, unsigned char *out, long length, des_key_schedule ks1, des_key_schedule ks2, des_key_schedule ks3, des_cblock *ivec1, des_cblock *ivec2, int enc)
 
void des_ede3_cfb64_encrypt (const unsigned char *in, unsigned char *out, long length, des_key_schedule ks1, des_key_schedule ks2, des_key_schedule ks3, des_cblock *ivec, int *num, int enc)
 
void des_ede3_ofb64_encrypt (const unsigned char *in, unsigned char *out, long length, des_key_schedule ks1, des_key_schedule ks2, des_key_schedule ks3, des_cblock *ivec, int *num)
 
void des_xwhite_in2out (const_des_cblock *des_key, const_des_cblock *in_white, des_cblock *out_white)
 
int des_enc_read (int fd, void *buf, int len, des_key_schedule sched, des_cblock *iv)
 
int des_enc_write (int fd, const void *buf, int len, des_key_schedule sched, des_cblock *iv)
 
char * des_fcrypt (const char *buf, const char *salt, char *ret)
 
char * des_crypt (const char *buf, const char *salt)
 
char * crypt (const char *buf, const char *salt)
 
void des_ofb_encrypt (const unsigned char *in, unsigned char *out, int numbits, long length, des_key_schedule schedule, des_cblock *ivec)
 
void des_pcbc_encrypt (const unsigned char *input, unsigned char *output, long length, des_key_schedule schedule, des_cblock *ivec, int enc)
 
DES_LONG des_quad_cksum (const unsigned char *input, des_cblock output[], long length, int out_count, des_cblock *seed)
 
void des_random_seed (des_cblock *key)
 
int des_random_key (des_cblock *ret)
 
int des_read_password (des_cblock *key, const char *prompt, int verify)
 
int des_read_2passwords (des_cblock *key1, des_cblock *key2, const char *prompt, int verify)
 
int des_read_pw_string (char *buf, int length, const char *prompt, int verify)
 
void des_set_odd_parity (des_cblock *key)
 
int des_check_key_parity (const_des_cblock *key)
 
int des_is_weak_key (const_des_cblock *key)
 
int des_set_key (const_des_cblock *key, des_key_schedule schedule)
 
int des_key_sched (const_des_cblock *key, des_key_schedule schedule)
 
int des_set_key_checked (const_des_cblock *key, des_key_schedule schedule)
 
void des_set_key_unchecked (const_des_cblock *key, des_key_schedule schedule)
 
void des_string_to_key (const char *str, des_cblock *key)
 
void des_string_to_2keys (const char *str, des_cblock *key1, des_cblock *key2)
 
void des_cfb64_encrypt (const unsigned char *in, unsigned char *out, long length, des_key_schedule schedule, des_cblock *ivec, int *num, int enc)
 
void des_ofb64_encrypt (const unsigned char *in, unsigned char *out, long length, des_key_schedule schedule, des_cblock *ivec, int *num)
 
int des_read_pw (char *buf, char *buff, int size, const char *prompt, int verify)
 

Variables

int des_check_key
 
int des_rw_mode
 
int des_set_weak_key_flag
 

Macro Definition Documentation

#define _KERBEROS_DES_H

Definition at line 241 of file des.h.

#define C_Block   des_cblock

Definition at line 252 of file des.h.

#define cbc_cksum   des_cbc_cksum

Definition at line 265 of file des.h.

#define cbc_encrypt   des_cbc_encrypt

Definition at line 262 of file des.h.

#define check_parity   des_check_key_parity

Definition at line 267 of file des.h.

#define DES_CBC_MODE   0

Definition at line 110 of file des.h.

#define DES_DECRYPT   0

Definition at line 108 of file des.h.

#define des_ecb2_encrypt (   i,
  o,
  k1,
  k2,
 
)    des_ecb3_encrypt((i),(o),(k1),(k2),(k1),(e))

Definition at line 113 of file des.h.

#define des_ede2_cbc_encrypt (   i,
  o,
  l,
  k1,
  k2,
  iv,
 
)    des_ede3_cbc_encrypt((i),(o),(l),(k1),(k2),(k1),(iv),(e))

Definition at line 116 of file des.h.

#define des_ede2_cfb64_encrypt (   i,
  o,
  l,
  k1,
  k2,
  iv,
  n,
 
)    des_ede3_cfb64_encrypt((i),(o),(l),(k1),(k2),(k1),(iv),(n),(e))

Definition at line 119 of file des.h.

#define des_ede2_ofb64_encrypt (   i,
  o,
  l,
  k1,
  k2,
  iv,
  n 
)    des_ede3_ofb64_encrypt((i),(o),(l),(k1),(k2),(k1),(iv),(n))

Definition at line 122 of file des.h.

#define DES_ENCRYPT   1

Definition at line 107 of file des.h.

#define des_fixup_key_parity   des_set_odd_parity

Definition at line 271 of file des.h.

#define DES_KEY_SZ   (sizeof(des_cblock))

Definition at line 104 of file des.h.

#define DES_LONG   unsigned long

Definition at line 73 of file des.h.

#define DES_PCBC_MODE   1

Definition at line 111 of file des.h.

#define DES_SCHEDULE_SZ   (sizeof(des_key_schedule))

Definition at line 105 of file des.h.

#define ecb_encrypt   des_ecb_encrypt

Definition at line 261 of file des.h.

#define key_sched   des_key_sched

Definition at line 260 of file des.h.

#define Key_schedule   des_key_schedule

Definition at line 253 of file des.h.

#define KEY_SZ   DES_KEY_SZ

Definition at line 254 of file des.h.

#define KRBDES_DECRYPT   DES_DECRYPT

Definition at line 244 of file des.h.

#define KRBDES_ENCRYPT   DES_ENCRYPT

Definition at line 243 of file des.h.

#define ncbc_encrypt   des_ncbc_encrypt

Definition at line 263 of file des.h.

#define pcbc_encrypt   des_pcbc_encrypt

Definition at line 258 of file des.h.

#define quad_cksum   des_quad_cksum

Definition at line 266 of file des.h.

#define random_key   des_random_key

Definition at line 257 of file des.h.

#define read_pw_string   des_read_pw_string

Definition at line 256 of file des.h.

#define set_key   des_set_key

Definition at line 259 of file des.h.

#define string_to_key   des_string_to_key

Definition at line 255 of file des.h.

#define xcbc_encrypt   des_xcbc_encrypt

Definition at line 264 of file des.h.

Typedef Documentation

Definition at line 270 of file des.h.

typedef unsigned char const_des_cblock[8]

Definition at line 89 of file des.h.

typedef unsigned char des_cblock[8]

Definition at line 88 of file des.h.

typedef struct des_ks_struct des_key_schedule[16]

Function Documentation

char* crypt ( const char *  buf,
const char *  salt 
)
DES_LONG des_cbc_cksum ( const unsigned char *  input,
des_cblock output,
long  length,
des_key_schedule  schedule,
const_des_cblock ivec 
)
void des_cbc_encrypt ( const unsigned char *  input,
unsigned char *  output,
long  length,
des_key_schedule  schedule,
des_cblock ivec,
int  enc 
)
void des_cfb64_encrypt ( const unsigned char *  in,
unsigned char *  out,
long  length,
des_key_schedule  schedule,
des_cblock ivec,
int *  num,
int  enc 
)
void des_cfb_encrypt ( const unsigned char *  in,
unsigned char *  out,
int  numbits,
long  length,
des_key_schedule  schedule,
des_cblock ivec,
int  enc 
)
int des_check_key_parity ( const_des_cblock key)

Definition at line 106 of file desskey.c.

char* des_crypt ( const char *  buf,
const char *  salt 
)
void ASM_EXPORT des_decrypt3 ( DES_LONG data,
des_key_schedule  ks1,
des_key_schedule  ks2,
des_key_schedule  ks3 
)

Definition at line 289 of file desenc.c.

void des_ecb3_encrypt ( const_des_cblock input,
des_cblock output,
des_key_schedule  ks1,
des_key_schedule  ks2,
des_key_schedule  ks3,
int  enc 
)

Definition at line 69 of file desecb3.c.

void des_ecb_encrypt ( const_des_cblock input,
des_cblock output,
des_key_schedule  ks,
int  enc 
)

Definition at line 113 of file desecb.c.

void des_ede3_cbc_encrypt ( const unsigned char *  input,
unsigned char *  output,
long  length,
des_key_schedule  ks1,
des_key_schedule  ks2,
des_key_schedule  ks3,
des_cblock ivec,
int  enc 
)

Definition at line 313 of file desenc.c.

void des_ede3_cbcm_encrypt ( const unsigned char *  in,
unsigned char *  out,
long  length,
des_key_schedule  ks1,
des_key_schedule  ks2,
des_key_schedule  ks3,
des_cblock ivec1,
des_cblock ivec2,
int  enc 
)
void des_ede3_cfb64_encrypt ( const unsigned char *  in,
unsigned char *  out,
long  length,
des_key_schedule  ks1,
des_key_schedule  ks2,
des_key_schedule  ks3,
des_cblock ivec,
int *  num,
int  enc 
)
void des_ede3_ofb64_encrypt ( const unsigned char *  in,
unsigned char *  out,
long  length,
des_key_schedule  ks1,
des_key_schedule  ks2,
des_key_schedule  ks3,
des_cblock ivec,
int *  num 
)
int des_enc_read ( int  fd,
void *  buf,
int  len,
des_key_schedule  sched,
des_cblock iv 
)
int des_enc_write ( int  fd,
const void *  buf,
int  len,
des_key_schedule  sched,
des_cblock iv 
)
void ASM_EXPORT des_encrypt1 ( DES_LONG data,
des_key_schedule  ks,
int  enc 
)

Definition at line 80 of file desenc.c.

void des_encrypt2 ( DES_LONG data,
des_key_schedule  ks,
int  enc 
)

Definition at line 178 of file desenc.c.

void ASM_EXPORT des_encrypt3 ( DES_LONG data,
des_key_schedule  ks1,
des_key_schedule  ks2,
des_key_schedule  ks3 
)

Definition at line 269 of file desenc.c.

char* des_fcrypt ( const char *  buf,
const char *  salt,
char *  ret 
)
int des_is_weak_key ( const_des_cblock key)

Definition at line 148 of file desskey.c.

int des_key_sched ( const_des_cblock key,
des_key_schedule  schedule 
)

Definition at line 403 of file desskey.c.

void ASM_EXPORT des_ncbc_encrypt ( const unsigned char *  input,
unsigned char *  output,
long  length,
des_key_schedule  schedule,
des_cblock ivec,
int  enc 
)

Definition at line 80 of file descbc.c.

void des_ofb64_encrypt ( const unsigned char *  in,
unsigned char *  out,
long  length,
des_key_schedule  schedule,
des_cblock ivec,
int *  num 
)
void des_ofb_encrypt ( const unsigned char *  in,
unsigned char *  out,
int  numbits,
long  length,
des_key_schedule  schedule,
des_cblock ivec 
)
const char* des_options ( void  )
void des_pcbc_encrypt ( const unsigned char *  input,
unsigned char *  output,
long  length,
des_key_schedule  schedule,
des_cblock ivec,
int  enc 
)
DES_LONG des_quad_cksum ( const unsigned char *  input,
des_cblock  output[],
long  length,
int  out_count,
des_cblock seed 
)
int des_random_key ( des_cblock ret)
void des_random_seed ( des_cblock key)
int des_read_2passwords ( des_cblock key1,
des_cblock key2,
const char *  prompt,
int  verify 
)
int des_read_password ( des_cblock key,
const char *  prompt,
int  verify 
)
int des_read_pw ( char *  buf,
char *  buff,
int  size,
const char *  prompt,
int  verify 
)
int des_read_pw_string ( char *  buf,
int  length,
const char *  prompt,
int  verify 
)
int des_set_key ( const_des_cblock key,
des_key_schedule  schedule 
)

Definition at line 320 of file desskey.c.

int des_set_key_checked ( const_des_cblock key,
des_key_schedule  schedule 
)

Definition at line 337 of file desskey.c.

void des_set_key_unchecked ( const_des_cblock key,
des_key_schedule  schedule 
)

Definition at line 347 of file desskey.c.

void des_set_odd_parity ( des_cblock key)

Definition at line 97 of file desskey.c.

void des_string_to_2keys ( const char *  str,
des_cblock key1,
des_cblock key2 
)
void des_string_to_key ( const char *  str,
des_cblock key 
)
void des_xcbc_encrypt ( const unsigned char *  input,
unsigned char *  output,
long  length,
des_key_schedule  schedule,
des_cblock ivec,
const_des_cblock inw,
const_des_cblock outw,
int  enc 
)
void des_xwhite_in2out ( const_des_cblock des_key,
const_des_cblock in_white,
des_cblock out_white 
)

Variable Documentation

int des_check_key

Definition at line 77 of file desskey.c.

int des_rw_mode
int des_set_weak_key_flag