32#include <wolfssl/wolfcrypt/settings.h>
37#include "prefix_des.h"
45typedef unsigned char WOLFSSL_DES_cblock[8];
46typedef WOLFSSL_DES_cblock WOLFSSL_const_DES_cblock;
47typedef WOLFSSL_DES_cblock WOLFSSL_DES_key_schedule;
48typedef unsigned int WOLFSSL_DES_LONG;
57WOLFSSL_API
int wolfSSL_DES_is_weak_key(WOLFSSL_const_DES_cblock* key);
58WOLFSSL_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);
61WOLFSSL_API
int wolfSSL_DES_set_key(WOLFSSL_const_DES_cblock* myDes,
62 WOLFSSL_DES_key_schedule* key);
63WOLFSSL_API
int wolfSSL_DES_set_key_checked(WOLFSSL_const_DES_cblock* myDes,
64 WOLFSSL_DES_key_schedule* key);
65WOLFSSL_API
void wolfSSL_DES_set_key_unchecked(WOLFSSL_const_DES_cblock*,
66 WOLFSSL_DES_key_schedule*);
67WOLFSSL_API
int wolfSSL_DES_key_sched(WOLFSSL_const_DES_cblock* key,
68 WOLFSSL_DES_key_schedule* schedule);
69WOLFSSL_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,
73WOLFSSL_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);
79WOLFSSL_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);
84WOLFSSL_API
void wolfSSL_DES_set_odd_parity(WOLFSSL_DES_cblock*);
85WOLFSSL_API
void wolfSSL_DES_ecb_encrypt(WOLFSSL_DES_cblock*, WOLFSSL_DES_cblock*,
86 WOLFSSL_DES_key_schedule*,
int);
87WOLFSSL_API
int wolfSSL_DES_check_key_parity(WOLFSSL_DES_cblock*);
90typedef WOLFSSL_DES_cblock DES_cblock;
91typedef WOLFSSL_const_DES_cblock const_DES_cblock;
92typedef WOLFSSL_DES_key_schedule DES_key_schedule;
93typedef 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