29 #ifndef WOLFSSL_DES_H_ 30 #define WOLFSSL_DES_H_ 32 #include <wolfssl/wolfcrypt/settings.h> 37 #include "prefix_des.h" 45 typedef unsigned char WOLFSSL_DES_cblock[8];
46 typedef WOLFSSL_DES_cblock WOLFSSL_const_DES_cblock;
47 typedef WOLFSSL_DES_cblock WOLFSSL_DES_key_schedule;
48 typedef unsigned int WOLFSSL_DES_LONG;
57 WOLFSSL_API
int wolfSSL_DES_is_weak_key(WOLFSSL_const_DES_cblock* key);
58 WOLFSSL_API WOLFSSL_DES_LONG wolfSSL_DES_cbc_cksum(
const unsigned char* in,
59 WOLFSSL_DES_cblock* out,
long length, WOLFSSL_DES_key_schedule* sc,
60 WOLFSSL_const_DES_cblock* iv);
61 WOLFSSL_API
int wolfSSL_DES_set_key(WOLFSSL_const_DES_cblock* myDes,
62 WOLFSSL_DES_key_schedule* key);
63 WOLFSSL_API
int wolfSSL_DES_set_key_checked(WOLFSSL_const_DES_cblock* myDes,
64 WOLFSSL_DES_key_schedule* key);
65 WOLFSSL_API
void wolfSSL_DES_set_key_unchecked(WOLFSSL_const_DES_cblock*,
66 WOLFSSL_DES_key_schedule*);
67 WOLFSSL_API
int wolfSSL_DES_key_sched(WOLFSSL_const_DES_cblock* key,
68 WOLFSSL_DES_key_schedule* schedule);
69 WOLFSSL_API
void wolfSSL_DES_cbc_encrypt(
const unsigned char* input,
70 unsigned char* output,
long length,
71 WOLFSSL_DES_key_schedule* schedule, WOLFSSL_DES_cblock* ivec,
73 WOLFSSL_API
void wolfSSL_DES_ede3_cbc_encrypt(
const unsigned char* input,
74 unsigned char* output,
long sz,
75 WOLFSSL_DES_key_schedule* ks1,
76 WOLFSSL_DES_key_schedule* ks2,
77 WOLFSSL_DES_key_schedule* ks3,
78 WOLFSSL_DES_cblock* ivec,
int enc);
79 WOLFSSL_API
void wolfSSL_DES_ncbc_encrypt(
const unsigned char* input,
80 unsigned char* output,
long length,
81 WOLFSSL_DES_key_schedule* schedule,
82 WOLFSSL_DES_cblock* ivec,
int enc);
84 WOLFSSL_API
void wolfSSL_DES_set_odd_parity(WOLFSSL_DES_cblock*);
85 WOLFSSL_API
void wolfSSL_DES_ecb_encrypt(WOLFSSL_DES_cblock*, WOLFSSL_DES_cblock*,
86 WOLFSSL_DES_key_schedule*,
int);
87 WOLFSSL_API
int wolfSSL_DES_check_key_parity(WOLFSSL_DES_cblock*);
90 typedef WOLFSSL_DES_cblock DES_cblock;
91 typedef WOLFSSL_const_DES_cblock const_DES_cblock;
92 typedef WOLFSSL_DES_key_schedule DES_key_schedule;
93 typedef WOLFSSL_DES_LONG DES_LONG;
95 #define DES_check_key(x) 96 #define DES_is_weak_key wolfSSL_DES_is_weak_key 97 #define DES_set_key wolfSSL_DES_set_key 98 #define DES_set_key_checked wolfSSL_DES_set_key_checked 99 #define DES_set_key_unchecked wolfSSL_DES_set_key_unchecked 100 #define DES_key_sched wolfSSL_DES_key_sched 101 #define DES_cbc_encrypt wolfSSL_DES_cbc_encrypt 102 #define DES_ncbc_encrypt wolfSSL_DES_ncbc_encrypt 103 #define DES_set_odd_parity wolfSSL_DES_set_odd_parity 104 #define DES_ecb_encrypt wolfSSL_DES_ecb_encrypt 105 #define DES_ede3_cbc_encrypt wolfSSL_DES_ede3_cbc_encrypt 106 #define DES_cbc_cksum wolfSSL_DES_cbc_cksum 107 #define DES_check_key_parity wolfSSL_DES_check_key_parity