/home/dko/Projects/mobilec/src/security/xyssl-0.9/include/xyssl/des.h File Reference

Go to the source code of this file.

Data Structures

struct  des_context
 DES context structure. More...
struct  des3_context
 Triple-DES context structure. More...

Defines

#define DES_ENCRYPT   1
#define DES_DECRYPT   0

Functions

void des_setkey_enc (des_context *ctx, unsigned char key[8])
 DES key schedule (56-bit, encryption).
void des_setkey_dec (des_context *ctx, unsigned char key[8])
 DES key schedule (56-bit, decryption).
void des3_set2key_enc (des3_context *ctx, unsigned char key[16])
 Triple-DES key schedule (112-bit, encryption).
void des3_set2key_dec (des3_context *ctx, unsigned char key[16])
 Triple-DES key schedule (112-bit, decryption).
void des3_set3key_enc (des3_context *ctx, unsigned char key[24])
 Triple-DES key schedule (168-bit, encryption).
void des3_set3key_dec (des3_context *ctx, unsigned char key[24])
 Triple-DES key schedule (168-bit, decryption).
void des_crypt_ecb (des_context *ctx, unsigned char input[8], unsigned char output[8])
 DES-ECB block encryption/decryption.
void des_crypt_cbc (des_context *ctx, int mode, int length, unsigned char iv[8], unsigned char *input, unsigned char *output)
 DES-CBC buffer encryption/decryption.
void des3_crypt_ecb (des3_context *ctx, unsigned char input[8], unsigned char output[8])
 3DES-ECB block encryption/decryption
void des3_crypt_cbc (des3_context *ctx, int mode, int length, unsigned char iv[8], unsigned char *input, unsigned char *output)
 3DES-CBC buffer encryption/decryption
int des_self_test (int verbose)

Detailed Description

Definition in file des.h.


Define Documentation

#define DES_DECRYPT   0

Definition at line 8 of file des.h.

Referenced by des_self_test(), ssl_decrypt_buf(), and x509_des3_decrypt().

#define DES_ENCRYPT   1

Definition at line 7 of file des.h.

Referenced by des3_crypt_cbc(), des_crypt_cbc(), main(), and ssl_encrypt_buf().


Function Documentation

void des3_crypt_cbc ( des3_context ctx,
int  mode,
int  length,
unsigned char  iv[8],
unsigned char *  input,
unsigned char *  output 
)

3DES-CBC buffer encryption/decryption

Parameters:
ctx 3DES context
mode DES_ENCRYPT or DES_DECRYPT
length length of the input data
iv initialization vector (updated after use)
input buffer holding the input data
output buffer holding the output data

Definition at line 593 of file des.c.

References des3_crypt_ecb(), and DES_ENCRYPT.

Referenced by des_self_test(), main(), ssl_decrypt_buf(), ssl_encrypt_buf(), and x509_des3_decrypt().

void des3_crypt_ecb ( des3_context ctx,
unsigned char  input[8],
unsigned char  output[8] 
)

3DES-ECB block encryption/decryption

Parameters:
ctx 3DES context
input 64-bit input block
output 64-bit output block

Definition at line 552 of file des.c.

References DES_FP, DES_IP, DES_ROUND, GET_ULONG_BE, PUT_ULONG_BE, and des3_context::sk.

Referenced by des3_crypt_cbc(), and des_self_test().

void des3_set2key_dec ( des3_context ctx,
unsigned char  key[16] 
)

Triple-DES key schedule (112-bit, decryption).

Parameters:
ctx 3DES context to be initialized
key 16-byte secret key

Definition at line 420 of file des.c.

References des3_set2key(), and des3_context::sk.

Referenced by des_self_test().

void des3_set2key_enc ( des3_context ctx,
unsigned char  key[16] 
)

Triple-DES key schedule (112-bit, encryption).

Parameters:
ctx 3DES context to be initialized
key 16-byte secret key

Definition at line 409 of file des.c.

References des3_set2key(), and des3_context::sk.

Referenced by des_self_test().

void des3_set3key_dec ( des3_context ctx,
unsigned char  key[24] 
)

Triple-DES key schedule (168-bit, decryption).

Parameters:
ctx 3DES context to be initialized
key 24-byte secret key

Definition at line 465 of file des.c.

References des3_set3key(), and des3_context::sk.

Referenced by des_self_test(), ssl_derive_keys(), and x509_des3_decrypt().

void des3_set3key_enc ( des3_context ctx,
unsigned char  key[24] 
)

Triple-DES key schedule (168-bit, encryption).

Parameters:
ctx 3DES context to be initialized
key 24-byte secret key

Definition at line 454 of file des.c.

References des3_set3key(), and des3_context::sk.

Referenced by des_self_test(), main(), and ssl_derive_keys().

void des_crypt_cbc ( des_context ctx,
int  mode,
int  length,
unsigned char  iv[8],
unsigned char *  input,
unsigned char *  output 
)

DES-CBC buffer encryption/decryption.

Parameters:
ctx DES context
mode DES_ENCRYPT or DES_DECRYPT
length length of the input data
iv initialization vector (updated after use)
input buffer holding the input data
output buffer holding the output data

Definition at line 505 of file des.c.

References des_crypt_ecb(), and DES_ENCRYPT.

Referenced by des_self_test(), and main().

void des_crypt_ecb ( des_context ctx,
unsigned char  input[8],
unsigned char  output[8] 
)

DES-ECB block encryption/decryption.

Parameters:
ctx DES context
input 64-bit input block
output 64-bit output block

Definition at line 476 of file des.c.

References DES_FP, DES_IP, DES_ROUND, GET_ULONG_BE, PUT_ULONG_BE, and des_context::sk.

Referenced by des_crypt_cbc(), and des_self_test().

int des_self_test ( int  verbose  ) 
void des_setkey_dec ( des_context ctx,
unsigned char  key[8] 
)

DES key schedule (56-bit, decryption).

Parameters:
ctx DES context to be initialized
key 8-byte secret key

Definition at line 368 of file des.c.

References des_setkey(), des_context::sk, and SWAP.

Referenced by des_self_test().

void des_setkey_enc ( des_context ctx,
unsigned char  key[8] 
)

DES key schedule (56-bit, encryption).

Parameters:
ctx DES context to be initialized
key 8-byte secret key

Definition at line 360 of file des.c.

References des_setkey(), and des_context::sk.

Referenced by des_self_test(), and main().

Generated on Tue Dec 28 15:15:28 2010 for Mobile-C by  doxygen 1.6.3