LibXenon
Bare-metal Xbox 360 homebrew library
Loading...
Searching...
No Matches
des.h
Go to the documentation of this file.
1
4#ifndef XYSSL_DES_H
5#define XYSSL_DES_H
6
7#define DES_ENCRYPT 0
8#define DES_DECRYPT 1
9
13typedef struct
14{
15 int mode;
16 unsigned long sk[32];
17}
19
23typedef struct
24{
25 int mode;
26 unsigned long sk[96];
27}
29
30#ifdef __cplusplus
31extern "C" {
32#endif
33
40void des_setkey_enc( des_context *ctx, unsigned char key[8] );
41
48void des_setkey_dec( des_context *ctx, unsigned char key[8] );
49
56void des3_set2key_enc( des3_context *ctx, unsigned char key[16] );
57
64void des3_set2key_dec( des3_context *ctx, unsigned char key[16] );
65
72void des3_set3key_enc( des3_context *ctx, unsigned char key[24] );
73
80void des3_set3key_dec( des3_context *ctx, unsigned char key[24] );
81
89void des_crypt_ecb( des_context *ctx,
90 unsigned char input[8],
91 unsigned char output[8] );
92
103void des_crypt_cbc( des_context *ctx,
104 int mode,
105 int length,
106 unsigned char iv[8],
107 unsigned char *input,
108 unsigned char *output );
109
118 unsigned char input[8],
119 unsigned char output[8] );
120
132 int mode,
133 int length,
134 unsigned char iv[8],
135 unsigned char *input,
136 unsigned char *output );
137
138/*
139 * \brief Checkup routine
140 *
141 * \return 0 if successful, or 1 if the test failed
142 */
143int des_self_test( int verbose );
144
145#ifdef __cplusplus
146}
147#endif
148
149#endif /* des.h */
uint16_t length
Definition: ata.h:4
void des3_set2key_dec(des3_context *ctx, unsigned char key[16])
Triple-DES key schedule (112-bit, decryption)
Definition: des.c:422
int des_self_test(int verbose)
void des_setkey_dec(des_context *ctx, unsigned char key[8])
DES key schedule (56-bit, decryption)
Definition: des.c:370
void des_setkey_enc(des_context *ctx, unsigned char key[8])
DES key schedule (56-bit, encryption)
Definition: des.c:362
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
Definition: des.c:595
void des_crypt_ecb(des_context *ctx, unsigned char input[8], unsigned char output[8])
DES-ECB block encryption/decryption.
Definition: des.c:478
void des3_set3key_dec(des3_context *ctx, unsigned char key[24])
Triple-DES key schedule (168-bit, decryption)
Definition: des.c:467
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.
Definition: des.c:507
void des3_set2key_enc(des3_context *ctx, unsigned char key[16])
Triple-DES key schedule (112-bit, encryption)
Definition: des.c:411
void des3_set3key_enc(des3_context *ctx, unsigned char key[24])
Triple-DES key schedule (168-bit, encryption)
Definition: des.c:456
void des3_crypt_ecb(des3_context *ctx, unsigned char input[8], unsigned char output[8])
3DES-ECB block encryption/decryption
Definition: des.c:554
Triple-DES context structure.
Definition: des.h:24
int mode
Definition: des.h:25
DES context structure.
Definition: des.h:14
int mode
Definition: des.h:15
u8 input
Definition: xenos_edid.h:11