/* * 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 <openssl/opensslconf.h> # ifndef OPENSSL_NO_DES # ifdef __cplusplus extern "C" { # endif # include <openssl/e_os2.h> 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
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
archs | Folder | 0755 |
|
|
aes.h | File | 3.27 KB | 0644 |
|
asn1.h | File | 32.84 KB | 0644 |
|
asn1_asm.h | File | 2.66 KB | 0644 |
|
asn1_mac.h | File | 395 B | 0644 |
|
asn1_no-asm.h | File | 2.82 KB | 0644 |
|
asn1err.h | File | 14.34 KB | 0644 |
|
asn1t.h | File | 32.17 KB | 0644 |
|
asn1t_asm.h | File | 2.68 KB | 0644 |
|
asn1t_no-asm.h | File | 2.84 KB | 0644 |
|
async.h | File | 2.34 KB | 0644 |
|
asyncerr.h | File | 1.29 KB | 0644 |
|
bio.h | File | 34.09 KB | 0644 |
|
bio_asm.h | File | 2.64 KB | 0644 |
|
bio_no-asm.h | File | 2.8 KB | 0644 |
|
bioerr.h | File | 6.25 KB | 0644 |
|
blowfish.h | File | 1.8 KB | 0644 |
|
bn.h | File | 21.62 KB | 0644 |
|
bn_conf.h | File | 100 B | 0644 |
|
bn_conf_asm.h | File | 2.88 KB | 0644 |
|
bn_conf_no-asm.h | File | 3.05 KB | 0644 |
|
bnerr.h | File | 4.85 KB | 0644 |
|
buffer.h | File | 1.56 KB | 0644 |
|
buffererr.h | File | 820 B | 0644 |
|
camellia.h | File | 3.1 KB | 0644 |
|
cast.h | File | 1.63 KB | 0644 |
|
cmac.h | File | 1.04 KB | 0644 |
|
cmp_asm.h | File | 2.64 KB | 0644 |
|
cmp_no-asm.h | File | 2.8 KB | 0644 |
|
cms.h | File | 16 KB | 0644 |
|
cms_asm.h | File | 2.64 KB | 0644 |
|
cms_no-asm.h | File | 2.8 KB | 0644 |
|
cmserr.h | File | 10.96 KB | 0644 |
|
comp.h | File | 1.3 KB | 0644 |
|
comperr.h | File | 1.18 KB | 0644 |
|
conf.h | File | 5.47 KB | 0644 |
|
conf_api.h | File | 1.27 KB | 0644 |
|
conf_asm.h | File | 2.66 KB | 0644 |
|
conf_no-asm.h | File | 2.82 KB | 0644 |
|
conferr.h | File | 3.35 KB | 0644 |
|
configuration_asm.h | File | 2.84 KB | 0644 |
|
configuration_no-asm.h | File | 3.02 KB | 0644 |
|
crmf_asm.h | File | 2.66 KB | 0644 |
|
crmf_no-asm.h | File | 2.82 KB | 0644 |
|
crypto.h | File | 16.91 KB | 0644 |
|
crypto_asm.h | File | 2.7 KB | 0644 |
|
crypto_no-asm.h | File | 2.87 KB | 0644 |
|
cryptoerr.h | File | 2.21 KB | 0644 |
|
ct.h | File | 15.5 KB | 0644 |
|
ct_asm.h | File | 2.62 KB | 0644 |
|
ct_no-asm.h | File | 2.78 KB | 0644 |
|
cterr.h | File | 3.39 KB | 0644 |
|
des.h | File | 7.45 KB | 0644 |
|
dh.h | File | 13.19 KB | 0644 |
|
dherr.h | File | 3.94 KB | 0644 |
|
dsa.h | File | 9.82 KB | 0644 |
|
dsaerr.h | File | 2.9 KB | 0644 |
|
dso_conf.h | File | 102 B | 0644 |
|
dso_conf_asm.h | File | 2.9 KB | 0644 |
|
dso_conf_no-asm.h | File | 3.08 KB | 0644 |
|
dtls1.h | File | 1.54 KB | 0644 |
|
e_os2.h | File | 8.71 KB | 0644 |
|
ebcdic.h | File | 924 B | 0644 |
|
ec.h | File | 62.19 KB | 0644 |
|
ecdh.h | File | 358 B | 0644 |
|
ecdsa.h | File | 358 B | 0644 |
|
ecerr.h | File | 15.45 KB | 0644 |
|
engine.h | File | 33.91 KB | 0644 |
|
engineerr.h | File | 5.32 KB | 0644 |
|
err.h | File | 11 KB | 0644 |
|
err_asm.h | File | 2.64 KB | 0644 |
|
err_no-asm.h | File | 2.8 KB | 0644 |
|
ess_asm.h | File | 2.64 KB | 0644 |
|
ess_no-asm.h | File | 2.8 KB | 0644 |
|
evp.h | File | 75.14 KB | 0644 |
|
evperr.h | File | 11.18 KB | 0644 |
|
fipskey_asm.h | File | 2.72 KB | 0644 |
|
fipskey_no-asm.h | File | 2.89 KB | 0644 |
|
hmac.h | File | 1.55 KB | 0644 |
|
idea.h | File | 2.05 KB | 0644 |
|
kdf.h | File | 4.22 KB | 0644 |
|
kdferr.h | File | 2.07 KB | 0644 |
|
lhash.h | File | 9.05 KB | 0644 |
|
lhash_asm.h | File | 2.68 KB | 0644 |
|
lhash_no-asm.h | File | 2.84 KB | 0644 |
|
md2.h | File | 1.03 KB | 0644 |
|
md4.h | File | 1.29 KB | 0644 |
|
md5.h | File | 1.29 KB | 0644 |
|
mdc2.h | File | 1.03 KB | 0644 |
|
modes.h | File | 10.23 KB | 0644 |
|
obj_mac.h | File | 212.42 KB | 0644 |
|
objects.h | File | 6.48 KB | 0644 |
|
objectserr.h | File | 1.29 KB | 0644 |
|
ocsp.h | File | 14.95 KB | 0644 |
|
ocsp_asm.h | File | 2.66 KB | 0644 |
|
ocsp_no-asm.h | File | 2.82 KB | 0644 |
|
ocsperr.h | File | 3.28 KB | 0644 |
|
opensslconf.h | File | 590 B | 0644 |
|
opensslconf_asm.h | File | 6.76 KB | 0644 |
|
opensslconf_no-asm.h | File | 2.8 KB | 0644 |
|
opensslv.h | File | 4.01 KB | 0644 |
|
opensslv_asm.h | File | 2.74 KB | 0644 |
|
opensslv_no-asm.h | File | 2.91 KB | 0644 |
|
ossl_typ.h | File | 6.17 KB | 0644 |
|
pem.h | File | 15.11 KB | 0644 |
|
pem2.h | File | 415 B | 0644 |
|
pemerr.h | File | 5.1 KB | 0644 |
|
pkcs12.h | File | 9.64 KB | 0644 |
|
pkcs12_asm.h | File | 2.7 KB | 0644 |
|
pkcs12_no-asm.h | File | 2.87 KB | 0644 |
|
pkcs12err.h | File | 3.66 KB | 0644 |
|
pkcs7.h | File | 11.32 KB | 0644 |
|
pkcs7_asm.h | File | 2.68 KB | 0644 |
|
pkcs7_no-asm.h | File | 2.84 KB | 0644 |
|
pkcs7err.h | File | 4.99 KB | 0644 |
|
rand.h | File | 2.16 KB | 0644 |
|
rand_drbg.h | File | 4.65 KB | 0644 |
|
randerr.h | File | 4.52 KB | 0644 |
|
rc2.h | File | 1.5 KB | 0644 |
|
rc4.h | File | 825 B | 0644 |
|
rc5.h | File | 1.94 KB | 0644 |
|
ripemd.h | File | 1.21 KB | 0644 |
|
rsa.h | File | 21.68 KB | 0644 |
|
rsaerr.h | File | 8.86 KB | 0644 |
|
safestack.h | File | 7.95 KB | 0644 |
|
safestack_asm.h | File | 2.76 KB | 0644 |
|
safestack_no-asm.h | File | 2.93 KB | 0644 |
|
seed.h | File | 3.4 KB | 0644 |
|
sha.h | File | 3.74 KB | 0644 |
|
srp.h | File | 3.74 KB | 0644 |
|
srp_asm.h | File | 2.64 KB | 0644 |
|
srp_no-asm.h | File | 2.8 KB | 0644 |
|
srtp.h | File | 1.29 KB | 0644 |
|
ssl.h | File | 111.71 KB | 0644 |
|
ssl2.h | File | 542 B | 0644 |
|
ssl3.h | File | 14.36 KB | 0644 |
|
ssl_asm.h | File | 2.64 KB | 0644 |
|
ssl_no-asm.h | File | 2.8 KB | 0644 |
|
sslerr.h | File | 46.94 KB | 0644 |
|
stack.h | File | 3.02 KB | 0644 |
|
store.h | File | 10.94 KB | 0644 |
|
storeerr.h | File | 4.3 KB | 0644 |
|
symhacks.h | File | 1.28 KB | 0644 |
|
tls1.h | File | 70.97 KB | 0644 |
|
ts.h | File | 21.9 KB | 0644 |
|
tserr.h | File | 6.59 KB | 0644 |
|
txt_db.h | File | 1.63 KB | 0644 |
|
ui.h | File | 15.68 KB | 0644 |
|
ui_asm.h | File | 2.62 KB | 0644 |
|
ui_no-asm.h | File | 2.78 KB | 0644 |
|
uierr.h | File | 2.67 KB | 0644 |
|
whrlpool.h | File | 1.34 KB | 0644 |
|
x509.h | File | 42.31 KB | 0644 |
|
x509_asm.h | File | 2.66 KB | 0644 |
|
x509_no-asm.h | File | 2.82 KB | 0644 |
|
x509_vfy.h | File | 31.69 KB | 0644 |
|
x509_vfy_asm.h | File | 2.74 KB | 0644 |
|
x509_vfy_no-asm.h | File | 2.91 KB | 0644 |
|
x509err.h | File | 6.64 KB | 0644 |
|
x509v3.h | File | 32.66 KB | 0644 |
|
x509v3_asm.h | File | 2.7 KB | 0644 |
|
x509v3_no-asm.h | File | 2.87 KB | 0644 |
|
x509v3err.h | File | 8.69 KB | 0644 |
|