summaryrefslogtreecommitdiffstats
path: root/crypto/bn/bn_lcl.h
AgeCommit message (Collapse)Author
2007-11-11Add framework for bn_mul_mont [from 098-fips].Andy Polyakov
2005-08-043-4 times better RSA/DSA performance on WIN64A target [from HEAD].Andy Polyakov
2005-05-16Implement fixed-window exponentiation to mitigate hyper-threadingBodo Möller
timing attacks. BN_FLG_EXP_CONSTTIME requests this algorithm, and this done by default for RSA/DSA/DH private key computations unless RSA_FLAG_NO_EXP_CONSTTIME/DSA_FLAG_NO_EXP_CONSTTIME/ DH_FLAG_NO_EXP_CONSTTIME is set. Submitted by: Matthew D Wood Reviewed by: Bodo Moeller
2004-03-09Minimise the amount of code dependent on BN_DEBUG_RAND. In particular,Geoff Thorpe
redefine bn_clear_top2max() to be a NOP in the non-debugging case, and remove some unnecessary usages in bn_nist.c. Submitted by: Nils Larsch Reviewed by: Geoff Thorpe, Ulf Möller
2003-12-01The bn_set_max() macro is only "used" by the bn_set_[low|high]() macrosGeoff Thorpe
which, in turn, are used nowhere at all. This is a good thing because bn_set_max() would currently generate code that wouldn't compile (BIGNUM has no 'max' element). The only apparent use for bn_set_[low|high] would be for implementing windowing algorithms, and all of openssl's seem to use bn_***_words() helpers instead (including the BN_div() that Nils fixed recently, which had been using independently-coded versions of what these unused macros are intended for). I'm therefore consigning these macros to cvs oblivion in the name of readability.
2003-11-04Put the first stage of my bignum debugging adventures into CVS. This codeGeoff Thorpe
is itself experimental, and in addition may cause execution to break on existing openssl "bugs" that previously were harmless or at least invisible.
2003-10-29BN_CTX is opaque and the static initialiser BN_CTX_init() is not usedGeoff Thorpe
except internally to the allocator BN_CTX_new(), as such this deprecates the use of BN_CTX_init() in the API. Moreover, the structure definition of BN_CTX is taken out of bn_lcl.h and moved into bn_ctx.c itself. NDEBUG should probably only be "forced" in the top-level configuration, but until it is I will avoid removing it from bn_ctx.c which might surprise people with massive slow-downs in their keygens. So I've left it in bn_ctx.c but tidied up the preprocessor logic a touch and made it more tolerant of debugging efforts.
2002-12-20Fix for "shift count too large" when compiling for hpux-parisc2 andAndy Polyakov
irix-mips. The bug was introduced with accelerated support for x86_64. My fault! Fixed now.
2002-12-14x86_64 performance patch.Andy Polyakov
2002-10-29avoid warnings ('index' shadows global declaration)Bodo Möller
Submitted by: Nils Larsch
2002-10-28clean up new code for NIST primesBodo Möller
create new lock CRYPTO_LOCK_BN to avoid race condition
2002-03-25add missing declarationBodo Möller
Submitted by: Nils Larsch
2001-03-10More EC stuff, including EC_POINTs_mul() for simultaneous scalarBodo Möller
multiplication of an arbitrary number of points.
2001-03-08Hide BN_CTX structure details.Bodo Möller
Incease the number of BIGNUMs in a BN_CTX.
2001-02-19Make all configuration macros available for application by makingRichard Levitte
sure they are available in opensslconf.h, by giving them names starting with "OPENSSL_" to avoid conflicts with other packages and by making sure e_os2.h will cover all platform-specific cases together with opensslconf.h. I've checked fairly well that nothing breaks with this (apart from external software that will adapt if they have used something like NO_KRB5), but I can't guarantee it completely, so a review of this change would be a good thing.
2000-12-08bn_part_sub_word prototype.Ulf Möller
2000-12-04Remove the last bn_wexpand()s that made us break constness. OfRichard Levitte
course, that means we need to handle the cases where the two arrays to bn_mul_recursive() and bn_mul_part_recursive() differ in size. I haven't yet changed the comments that describe bn_mul_recursive() and bn_mul_part_recursive(). I want this to be tested by more people before I consider this change final. Please test away!
2000-12-02Fix bn_cmp_part_words() and move it to bn_lib.c.Ulf Möller
2000-11-18Remove a declaration for a function that does not exist.Richard Levitte
2000-11-16More constification of the BN library.Richard Levitte
2000-08-22max -> dmax in bn_check_top.Ben Laurie
2000-06-08Slightly faster DSA verification (BN_mod_exp2_mont),Bodo Möller
marginally faster BN_mod_exp for 1024 bit exponents.
2000-02-26Reorganize bn_mul.c (no bugfix yet), remove obsolete files in BN library.Ulf Möller
2000-02-15New NO_INLINE_ASM macro. Primary target for the moment is Solaris x86Andy Polyakov
which can't stand GNU C assembler templates.
2000-02-02Tolerate negative numbers in BN_is_prime.Bodo Möller
2000-02-02Support for "multiply high" instruction, see BN_UMULT_HIGH comment inAndy Polyakov
crypto/bn/bn_lcl.h for further details. It should be noted that for the moment of this writing the code was tested only on Alpha. If compiled with DEC C the C implementation exhibits 12% performance improvement over the crypto/bn/asm/alpha.s (on EV56 box running AlphaLinux). GNU C is (unfortunately) 8% behind the assembler implementation. But it's OpenVMS Alpha users who *may* benefit most as 'apps/openssl speed rsa' exhibits 6 (six) times performance improvement over the original VMS bignum implementation. Where "*may*" means "as soon as code is enabled though #define SIXTY_FOUR_BIT and crypto/bn/asm/vms.mar is skipped."
1999-05-17Move prototypes to the right place.Ulf Möller
1999-05-15OPENSSL_EXTERNBodo Möller
1999-05-13VMS support.Ulf Möller
Submitted by: Richard Levitte <richard@levitte.org>
1999-05-12Missing argument in prototype.Ulf Möller
Submitted by: Andreas Ley <ley@rz.uni-karlsruhe.de>
1999-04-26Remove NOPROTO definitions and error code comments.Ulf Möller
1999-04-23Change #include filenames from <foo.h> to <openssl.h>.Bodo Möller
Submitted by: Reviewed by: PR:
1999-01-28Fixes to BN code. Previously the default was to define BN_RECURSIONMark J. Cox
but the BN code had some problems that would cause failures when doing certificate verification and some other functions. Submitted by: Eric A Young from a C2Net version of SSLeay Reviewed by: Mark J Cox PR:
1999-01-14Submitted by: Neil Costigan <neil.costigan@celocom.com>Dr. Stephen Henson
PR:
1998-12-21Import of old SSLeay release: SSLeay 0.9.1b (unreleased)SSLeayRalf S. Engelschall
1998-12-21Import of old SSLeay release: SSLeay 0.9.0bRalf S. Engelschall
1998-12-21Import of old SSLeay release: SSLeay 0.8.1bRalf S. Engelschall