/usr/include/openssl
NameSizeModeActions
aes.h33490644editdlrm
asn1.h336270644editdlrm
asn1err.h146870644editdlrm
asn1t.h329400644editdlrm
asn1_mac.h3950644editdlrm
async.h23980644editdlrm
asyncerr.h13260644editdlrm
bio.h349070644editdlrm
bioerr.h64000644editdlrm
blowfish.h18470644editdlrm
bn.h221350644editdlrm
bnerr.h49690644editdlrm
buffer.h16000644editdlrm
buffererr.h8200644editdlrm
camellia.h31790644editdlrm
cast.h16740644editdlrm
cmac.h10640644editdlrm
cms.h163790644editdlrm
cmserr.h111600644editdlrm
comp.h13280644editdlrm
comperr.h12120644editdlrm
conf.h56010644editdlrm
conferr.h34290644editdlrm
conf_api.h13000644editdlrm
crypto.h173350644editdlrm
cryptoerr.h22610644editdlrm
ct.h158720644editdlrm
cterr.h34700644editdlrm
des.h76270644editdlrm
dh.h137380644editdlrm
dherr.h44150644editdlrm
dsa.h101030644editdlrm
dsaerr.h33500644editdlrm
dtls1.h15780644editdlrm
ebcdic.h9240644editdlrm
ec.h636570644editdlrm
ecdh.h3580644editdlrm
ecdsa.h3580644editdlrm
ecerr.h166400644editdlrm
engine.h346610644editdlrm
engineerr.h54470644editdlrm
err.h112690644editdlrm
evp.h769380644editdlrm
evperr.h120730644editdlrm
e_os2.h88870644editdlrm
fips.h99750644editdlrm
fips_rand.h71690644editdlrm
hmac.h15910644editdlrm
idea.h20990644editdlrm
kdf.h75650644editdlrm
kdferr.h47880644editdlrm
lhash.h92710644editdlrm
md2.h10540644editdlrm
md4.h13220644editdlrm
md5.h13200644editdlrm
mdc2.h10530644editdlrm
modes.h104780644editdlrm
objects.h66330644editdlrm
objectserr.h13160644editdlrm
obj_mac.h2184860644editdlrm
ocsp.h153050644editdlrm
ocsperr.h33560644editdlrm
opensslconf-x86_64.h48980644editdlrm
opensslconf.h15810644editdlrm
opensslv.h41070644editdlrm
ossl_typ.h63100644editdlrm
pem.h154680644editdlrm
pem2.h4150644editdlrm
pemerr.h52220644editdlrm
pkcs7.h115900644editdlrm
pkcs7err.h51100644editdlrm
pkcs12.h98710644editdlrm
pkcs12err.h37490644editdlrm
rand.h23580644editdlrm
randerr.h46950644editdlrm
rand_drbg.h47630644editdlrm
rc2.h15340644editdlrm
rc4.h8250644editdlrm
rc5.h19880644editdlrm
ripemd.h12430644editdlrm
rsa.h223480644editdlrm
rsaerr.h98190644editdlrm
safestack.h81390644editdlrm
seed.h34790644editdlrm
sha.h38310644editdlrm
srp.h38270644editdlrm
srtp.h13160644editdlrm
ssl.h1111600644editdlrm
ssl2.h5420644editdlrm
ssl3.h147050644editdlrm
sslerr.h466760644editdlrm
stack.h30950644editdlrm
store.h111990644editdlrm
storeerr.h43990644editdlrm
symhacks.h13110644editdlrm
tls1.h724900644editdlrm
ts.h224290644editdlrm
tserr.h67460644editdlrm
txt_db.h16660644editdlrm
ui.h160520644editdlrm
uierr.h27370644editdlrm
whrlpool.h13770644editdlrm
x509.h433260644editdlrm
x509err.h68030644editdlrm
x509v3.h334410644editdlrm
x509v3err.h87770644editdlrm
x509_vfy.h324510644editdlrm
Edit: /usr/include/openssl/des.h (7627B)
/* * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html */ #ifndef HEADER_DES_H # define HEADER_DES_H # include # ifndef OPENSSL_NO_DES # ifdef __cplusplus extern "C" { # endif # include typedef unsigned int DES_LONG; # ifdef OPENSSL_BUILD_SHLIBCRYPTO # undef OPENSSL_EXTERN # define OPENSSL_EXTERN OPENSSL_EXPORT # endif typedef unsigned char DES_cblock[8]; typedef /* const */ unsigned char const_DES_cblock[8]; /* * With "const", gcc 2.8.1 on Solaris thinks that DES_cblock * and * const_DES_cblock * are incompatible pointer types. */ typedef struct DES_ks { union { DES_cblock cblock; /* * make sure things are correct size on machines with 8 byte longs */ DES_LONG deslong[2]; } ks[16]; } DES_key_schedule; # 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)) OPENSSL_DECLARE_GLOBAL(int, DES_check_key); /* defaults to false */ # define DES_check_key OPENSSL_GLOBAL_REF(DES_check_key) 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); /* DES_cbc_encrypt does not update the IV! Use DES_ncbc_encrypt instead. */ void DES_cbc_encrypt(const unsigned char *input, unsigned char *output, long length, DES_key_schedule *schedule, DES_cblock *ivec, int enc); void 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); /* * This is the DES encryption function that gets called by just about every * other DES routine in the library. You should not use this function except * to implement 'modes' of DES. I say this because the functions that call * this routine do the conversion from 'char *' to long, and this needs to be * done to make sure 'non-aligned' memory access do not occur. The * characters are loaded 'little endian'. Data is a pointer to 2 unsigned * long's and ks is the DES_key_schedule to use. enc, is non zero specifies * encryption, zero if decryption. */ void DES_encrypt1(DES_LONG *data, DES_key_schedule *ks, int enc); /* * This functions is the same as DES_encrypt1() except that the DES initial * permutation (IP) and final permutation (FP) have been left out. As for * DES_encrypt1(), you should not use this function. It is used by the * routines in the library that implement triple DES. IP() DES_encrypt2() * DES_encrypt2() DES_encrypt2() FP() is the same as DES_encrypt1() * DES_encrypt1() DES_encrypt1() except faster :-). */ void DES_encrypt2(DES_LONG *data, DES_key_schedule *ks, int enc); void DES_encrypt3(DES_LONG *data, DES_key_schedule *ks1, DES_key_schedule *ks2, DES_key_schedule *ks3); void 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_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_cfb_encrypt(const unsigned char *in, unsigned char *out, int numbits, long length, DES_key_schedule *ks1, DES_key_schedule *ks2, DES_key_schedule *ks3, DES_cblock *ivec, 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); char *DES_fcrypt(const char *buf, const char *salt, char *ret); char *DES_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); int DES_random_key(DES_cblock *ret); 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); /* * DES_set_key (= set_key = DES_key_sched = key_sched) calls * DES_set_key_checked if global variable DES_check_key is set, * DES_set_key_unchecked otherwise. */ 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); # define DES_fixup_key_parity DES_set_odd_parity # ifdef __cplusplus } # endif # endif #endif