openssl/crypto/des
Andy Polyakov cc6dc9b229 SPARC T4 assembly pack: treat zero input length in CBC.
The problem is that OpenSSH calls EVP_Cipher, which is not as
protective as EVP_CipherUpdate. Formally speaking we ought to
do more checks in *_cipher methods, including rejecting
lengths not divisible by block size (unless ciphertext stealing
is in place). But for now I implement check for zero length in
low-level based on precedent.

PR: 3087, 2775
(cherry picked from commit 5e44c144e6)
2014-03-07 10:48:51 +01:00
..
asm SPARC T4 assembly pack: treat zero input length in CBC. 2014-03-07 10:48:51 +01:00
t Import of old SSLeay release: SSLeay 0.8.1b 1998-12-21 10:52:47 +00:00
times PR: 1835 2009-02-14 21:49:38 +00:00
.cvsignore Apply mingw patches as supplied by Roumen Petrov an Alon Bar-Lev 2008-04-17 10:19:16 +00:00
cbc3_enc.c Due to an increasing number of clashes between modern OpenSSL and 2001-10-24 21:21:12 +00:00
cbc_cksm.c Adjust DES_cbc_cksum() so the returned value is the same as MIT's 2003-02-12 17:20:39 +00:00
cbc_enc.c Unify DES library: ncbc_enc.c wasn't used, but its content was almost 1999-06-09 17:28:30 +00:00
cfb64ede.c Make sure memmove() is defined, even on SunOS 4.1.4. 2004-11-01 07:58:38 +00:00
cfb64enc.c Due to an increasing number of clashes between modern OpenSSL and 2001-10-24 21:21:12 +00:00
cfb_enc.c Latest Intel compiler means every word in "if copying [with memcpy] takes 2005-07-08 16:46:22 +00:00
COPYRIGHT Import of old SSLeay release: SSLeay 0.8.1b 1998-12-21 10:52:47 +00:00
des-lib.com Spelling 2010-04-13 14:34:48 +00:00
des.c Cleanse memory using the new OPENSSL_cleanse() function. 2002-11-28 08:04:36 +00:00
des.h Prohibit low level cipher APIs in FIPS mode. 2011-06-01 16:54:06 +00:00
DES.pm Import of old SSLeay release: SSLeay 0.8.1b 1998-12-21 10:52:47 +00:00
des.pod change manpages to pod. Contents are not up to date! 2000-03-18 17:55:09 +00:00
DES.xs Import of old SSLeay release: SSLeay 0.8.1b 1998-12-21 10:52:47 +00:00
des3s.cpp Submitted by: 1999-04-23 23:28:26 +00:00
des_enc.c Optimize #undef DES_UNROLL for size. 2008-12-22 14:10:42 +00:00
des_locl.h Intel compiler support update from HEAD. 2012-11-28 13:12:09 +00:00
des_old.c Fix from stable branch. 2008-05-20 11:30:27 +00:00
des_old.h Update from stable branch. 2008-05-20 11:52:57 +00:00
des_old2.c A forgotten file 2002-03-26 16:42:38 +00:00
des_opts.c Netware-specific changes, 2003-11-28 13:10:58 +00:00
des_ver.h Constify version strings and some structures. 2007-01-21 13:07:17 +00:00
dess.cpp Complete the des_encrypt to des_encrypt1 rename in the main 2001-03-30 07:26:54 +00:00
destest.c Do not defined des_crypt(), since it clashes with Solaris crypt.h. 2005-06-23 21:53:56 +00:00
ecb3_enc.c Due to an increasing number of clashes between modern OpenSSL and 2001-10-24 21:21:12 +00:00
ecb_enc.c Optimize #undef DES_UNROLL for size. 2008-12-22 14:10:42 +00:00
ede_cbcm_enc.c Make sure we get the definition of OPENSSL_EXTERN, OPENSSL_NO_DES, 2003-03-20 23:21:10 +00:00
enc_read.c Fix other read call too. 2009-03-31 21:57:26 +00:00
enc_writ.c This _WIN32-specific patch makes it possible to "wrap" OpenSSL in another 2008-12-22 13:54:12 +00:00
fcrypt.c Remove redundant declaration. 2003-10-29 04:58:23 +00:00
fcrypt_b.c Optimize #undef DES_UNROLL for size. 2008-12-22 14:10:42 +00:00
FILES0 make files didn't work on case insensitive filesystems 2002-09-22 08:44:03 +00:00
Imakefile Import of old SSLeay release: SSLeay 0.8.1b 1998-12-21 10:52:47 +00:00
INSTALL fix typo 2007-02-06 19:48:42 +00:00
KERBEROS Import of old SSLeay release: SSLeay 0.8.1b 1998-12-21 10:52:47 +00:00
Makefile Add DES SPARC T4 module from master. 2013-05-19 23:51:22 +02:00
makefile.bc Import of old SSLeay release: SSLeay 0.8.1b 1998-12-21 10:52:47 +00:00
ncbc_enc.c Due to an increasing number of clashes between modern OpenSSL and 2001-10-24 21:21:12 +00:00
ofb64ede.c Due to an increasing number of clashes between modern OpenSSL and 2001-10-24 21:21:12 +00:00
ofb64enc.c Due to an increasing number of clashes between modern OpenSSL and 2001-10-24 21:21:12 +00:00
ofb_enc.c Due to an increasing number of clashes between modern OpenSSL and 2001-10-24 21:21:12 +00:00
options.txt Import of old SSLeay release: SSLeay 0.9.0b 1998-12-21 10:56:39 +00:00
pcbc_enc.c Due to an increasing number of clashes between modern OpenSSL and 2001-10-24 21:21:12 +00:00
qud_cksm.c Due to an increasing number of clashes between modern OpenSSL and 2001-10-24 21:21:12 +00:00
rand_key.c Remove DES_random_seed() but retain des_random_seed() for now. Change 2001-10-25 06:46:22 +00:00
read2pwd.c Because of recent reductions in header interdependencies, these files need 2004-05-17 19:01:15 +00:00
read_pwd.c Cleanse memory using the new OPENSSL_cleanse() function. 2002-11-28 08:04:36 +00:00
README Import of old SSLeay release: SSLeay 0.8.1b 1998-12-21 10:52:47 +00:00
rpc_des.h PR: 2266 2010-05-26 23:23:44 +00:00
rpc_enc.c Due to an increasing number of clashes between modern OpenSSL and 2001-10-24 21:21:12 +00:00
rpw.c Due to an increasing number of clashes between modern OpenSSL and 2001-10-24 21:21:12 +00:00
set_key.c Reduce version skew: trivia (I hope). 2012-06-03 22:03:37 +00:00
speed.c Netware-specific changes, 2003-11-28 13:10:58 +00:00
spr.h Rename des_SPtrans to DES_SPtrans to differentiate from libdes and avoid certain linkage clashes. 2002-03-04 16:08:13 +00:00
str2key.c Reduce version skew: trivia (I hope). 2012-06-03 22:03:37 +00:00
typemap Import of old SSLeay release: SSLeay 0.8.1b 1998-12-21 10:52:47 +00:00
VERSION Import of old SSLeay release: SSLeay 0.9.1b (unreleased) 1998-12-21 11:00:56 +00:00
xcbc_enc.c Disable code that clearly doesn't currently serve any useful purpose. 2008-05-19 19:44:45 +00:00

		libdes, Version 4.01 10-Jan-97

		Copyright (c) 1997, Eric Young
			  All rights reserved.

    This program is free software; you can redistribute it and/or modify
    it under the terms specified in COPYRIGHT.
    
--
The primary ftp site for this library is
ftp://ftp.psy.uq.oz.au/pub/Crypto/DES/libdes-x.xx.tar.gz
libdes is now also shipped with SSLeay.  Primary ftp site of
ftp://ftp.psy.uq.oz.au/pub/Crypto/SSL/SSLeay-x.x.x.tar.gz

The best way to build this library is to build it as part of SSLeay.

This kit builds a DES encryption library and a DES encryption program.
It supports ecb, cbc, ofb, cfb, triple ecb, triple cbc, triple ofb,
triple cfb, desx, and MIT's pcbc encryption modes and also has a fast
implementation of crypt(3).
It contains support routines to read keys from a terminal,
generate a random key, generate a key from an arbitrary length string,
read/write encrypted data from/to a file descriptor.

The implementation was written so as to conform with the manual entry
for the des_crypt(3) library routines from MIT's project Athena.

destest should be run after compilation to test the des routines.
rpw should be run after compilation to test the read password routines.
The des program is a replacement for the sun des command.  I believe it
conforms to the sun version.

The Imakefile is setup for use in the kerberos distribution.

These routines are best compiled with gcc or any other good
optimising compiler.
Just turn you optimiser up to the highest settings and run destest
after the build to make sure everything works.

I believe these routines are close to the fastest and most portable DES
routines that use small lookup tables (4.5k) that are publicly available.
The fcrypt routine is faster than ufc's fcrypt (when compiling with
gcc2 -O2) on the sparc 2 (1410 vs 1270) but is not so good on other machines
(on a sun3/260 168 vs 336).  It is a function of CPU on chip cache size.
[ 10-Jan-97 and a function of an incorrect speed testing program in
  ufc which gave much better test figures that reality ].

It is worth noting that on sparc and Alpha CPUs, performance of the DES
library can vary by upto %10 due to the positioning of files after application
linkage.

Eric Young (eay@cryptsoft.com)