aboutsummaryrefslogtreecommitdiff
path: root/crypto/evp/evp_locl.h
AgeCommit message (Collapse)AuthorFilesLines
2017-01-25Fix the overlapping check for fragmented "Update" operationsMatt Caswell1-0/+2
When doing in place encryption the overlapping buffer check can fail incorrectly where we have done a partial block "Update" operation. This fixes things to take account of any pending partial blocks. Reviewed-by: Rich Salz <rsalz@openssl.org> (Merged from https://github.com/openssl/openssl/pull/2275)
2016-05-17Copyright consolidation 05/10Rich Salz1-54/+5
Reviewed-by: Richard Levitte <levitte@openssl.org>
2016-01-26Remove /* foo.c */ commentsRich Salz1-1/+0
This was done by the following find . -name '*.[ch]' | /tmp/pl where /tmp/pl is the following three-line script: print unless $. == 1 && m@/\* .*\.[ch] \*/@; close ARGV if eof; # Close file to reset $. And then some hand-editing of other files. Reviewed-by: Viktor Dukhovni <viktor@openssl.org>
2016-01-12Make EVP_CIPHER opaque and add creator/destructor/accessor/writer functionsRichard Levitte1-204/+0
We follow the method used for EVP_MD. Also, move all the internal EVP_CIPHER building macros from evp_locl.h to evp_int.h. This will benefit our builtin EVP_CIPHERs. Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-01-12Make EVP_CIPHER_CTX opaque and renew the creator / destructor functionsRichard Levitte1-0/+20
Following the method used for EVP_MD_CTX and HMAC_CTX, EVP_CIPHER_CTX_init and EVP_CIPHER_CTX_cleanup are joined together into one function, EVP_CIPHER_CTX_reset, with EVP_CIPHER_CTX_init kept as an alias. EVP_CIPHER_CTX_cleanup fills no purpose of its own any more and is therefore removed. Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-01-07Only declare stacks in headersDr. Stephen Henson1-0/+3
Don't define stacks in C source files: it causes warnings about unused functions in some compilers. Reviewed-by: Richard Levitte <levitte@openssl.org>
2015-12-11Make EVP_ENCODE_CTX opaqueRichard Levitte1-0/+16
Reviewed-by: Rich Salz <rsalz@openssl.org>
2015-12-07Cleanup: Remove M_EVP_MD_* macrosRichard Levitte1-9/+0
These macros were only meant for crypto/evp, and are now entirely unused. Reviewed-by: Rich Salz <rsalz@openssl.org>
2015-12-07Make the definition of EVP_MD opaqueRichard Levitte1-0/+3
This moves the definition to crypto/include/internal/evp_int.h and defines all the necessary method creators, destructors, writers and accessors. The name standard for the latter is inspired from the corresponding functions to manipulate UI methods. Reviewed-by: Rich Salz <rsalz@openssl.org>
2015-12-07Make the definition of EVP_MD_CTX opaqueRichard Levitte1-0/+20
This moves the definitionto crypto/evp/evp_locl.h, along with a few associated accessor macros. A few accessor/writer functions added. Reviewed-by: Rich Salz <rsalz@openssl.org>
2015-03-24Move some EVP internals to evp_int.hDr. Stephen Henson1-65/+0
Move EVP internals to evp_int.h, remove -Ievp hack from crypto/Makefile Reviewed-by: Matt Caswell <matt@openssl.org>
2015-01-22Run util/openssl-format-source -v -c .Matt Caswell1-215/+200
Reviewed-by: Tim Hudson <tjh@openssl.org>
2014-12-30mark all block comments that need format preserving so thatTim Hudson1-1/+1
indent will not alter them when reformatting comments Reviewed-by: Rich Salz <rsalz@openssl.org> Reviewed-by: Matt Caswell <matt@openssl.org>
2011-01-26FIPS mode EVP changes:Dr. Stephen Henson1-5/+3
Set EVP_CIPH_FLAG_FIPS on approved ciphers. Support "default ASN1" flag which avoids need for ASN1 dependencies in FIPS code. Include some defines to redirect operations to a "tiny EVP" implementation in some FIPS source files. Change m_sha1.c to use EVP_PKEY_NULL_method: the EVP_MD sign/verify functions are not used in OpenSSL 1.0 and later for SHA1 and SHA2 ciphers: the EVP_PKEY API is used instead.
2010-02-26Revert CFB block length change. Despite what SP800-38a says the input toDr. Stephen Henson1-3/+3
CFB mode does *not* have to be a multiple of the block length and several other specifications (e.g. PKCS#11) do not require this.
2010-02-15The "block length" for CFB mode was incorrectly coded as 1 all the time. ItDr. Stephen Henson1-3/+3
should be the number of feedback bits expressed in bytes. For CFB1 mode set this to 1 by rounding up to the nearest multiple of 8.
2010-02-15Correct ECB mode EVP_CIPHER definition: IV length is 0Dr. Stephen Henson1-3/+3
2010-02-15add EVP_CIPH_FLAG_LENGTH_BITS from 0.9.8-stableDr. Stephen Henson1-1/+1
2009-11-25Split PBES2 into cipher and PBKDF2 versions. This tidies the code somewhatDr. Stephen Henson1-0/+4
and is a pre-requisite to adding password based CMS support.
2008-11-05Update obsolete email address...Dr. Stephen Henson1-1/+1
2008-10-31size_t-fy EVP_CIPHER. Note that being size_t-fied it doesn't requireAndy Polyakov1-8/+36
underlying cipher to be size_t-fied, it allows for size_t, signed and unsigned long. It maintains source and even binary compatibility.
2007-07-08EVP_*_cfb1 was broken.Andy Polyakov1-1/+1
PR: 1318
2006-12-19remove trailing '\'Nils Larsch1-1/+1
PR: 1438
2006-06-02Add ENGINE support for EVP_PKEY_METHOD including lookups of ENGINEDr. Stephen Henson1-0/+2
implementations and functional reference counting when a context is allocated, free or copied.
2006-05-24New function to dup EVP_PKEY_CTX. This will be needed to make new signingDr. Stephen Henson1-0/+1
functions and EVP_MD_CTX_copy work properly.
2006-05-24Use size_t for new crypto size parameters.Dr. Stephen Henson1-12/+13
2006-04-15Use more flexible method of determining output length, by setting &outlenDr. Stephen Henson1-1/+1
value of the passed output buffer is NULL. The old method of using EVP_PKEY_size(pkey) isn't flexible enough to cover all cases where the output length may depend on the operation or the parameters associated with it.
2006-04-14Add functions to allow setting and adding external EVP_PKEY_METHOD.Dr. Stephen Henson1-0/+2
2006-04-13Add key derivation support.Dr. Stephen Henson1-0/+5
2006-04-11Initial keygen support.Dr. Stephen Henson1-3/+11
2006-04-09Constification.Dr. Stephen Henson1-7/+7
2006-04-08Initial functions for RSA EVP_PKEY_METHOD.Dr. Stephen Henson1-1/+2
Update dependencies.
2006-04-07New utility 'pkeyutl' a general purpose version of 'rsautl'.Dr. Stephen Henson1-11/+0
2006-04-07Include EVP_PKEY argument in EVP_PKEY_CTX_new(). This avoids theDr. Stephen Henson1-11/+9
need for a separate EVP_PKEY parameter in the other operation initialization routines.
2006-04-07Initial functions for main EVP_PKEY_METHOD operations.Dr. Stephen Henson1-0/+1
No method implementations yet.
2006-04-06Updated to EVP_PKEY_METHOD code... still doesn't do much.Dr. Stephen Henson1-0/+2
2006-04-06Initial definitions and a few functions for EVP_PKEY_METHOD: an extensionDr. Stephen Henson1-0/+71
of the EVP routines to public key algorithms.
2004-01-28Add the missing parts for DES CFB1 and CFB8.Richard Levitte1-2/+11
Add the corresponding AES parts while I'm at it. make update
2002-08-16Fix block_size field for CFB and OFB modes: it should be 1.Dr. Stephen Henson1-6/+6
2002-02-16The AES modes OFB and CFB are defined with 128 feedback bits. ThisRichard Levitte1-23/+27
deviates from the "standard" 64 bits of feedback that all other algorithms are using. Therefore, let's redo certain EVP macros to accept different amounts of feedback bits for these modes. Also, change e_aes.c to provide all usually available modes for AES. CTR isn't included yet.
2002-01-02The block size may be something other than 8!Richard Levitte1-4/+5
2001-07-30Really add the EVP and all of the DES changes.Ben Laurie1-22/+21
2001-07-21Clean up EVP macros, rename DES EDE3 modes correctly, temporary support forBen Laurie1-1/+56
OpenBSD /dev/crypto (this will be revamped later when the appropriate machinery is available).
2001-03-09Change the EVP_somecipher() and EVP_somedigest()Dr. Stephen Henson1-8/+8
functions to return constant EVP_MD and EVP_CIPHER pointers. Update docs.
2000-06-11Fix evp_locl.h macros.Dr. Stephen Henson1-8/+8
Documentation correction.
2000-06-03EVP constification.Ben Laurie1-4/+4
2000-05-30Fourth phase EVP revision.Dr. Stephen Henson1-0/+168
Declare ciphers in terms of macros. This reduces the amount of code and places each block cipher EVP definition in a single file instead of being spread over 4 files.