summaryrefslogtreecommitdiff
path: root/salsa.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Remove C++11 constexpr code for CRYPTOPP_ALIGN_DATA (PR #830)Jeffrey Walton2019-04-301-3/+1
| | | I don't have faith in it even though it has tested good so far.
* Clear alignment warnings on ARM 32-bit platforms (#828)Jeffrey Walton2019-04-301-4/+5
|
* Clear alignment warnings on ARM 32-bit platformsJeffrey Walton2019-04-291-1/+14
|
* Add SHAKE-128 and SHAKE-256 (GH #805, PR #806)Jeffrey Walton2019-02-121-3/+7
|
* Latch previous ROUNDS in Salsa and ChaCha ciphers (GH #800, PR #804)Jeffrey Walton2019-02-121-4/+2
|
* Use #pragma omp simd for OpenMP 4.0 compilers (GH #787)Jeffrey Walton2019-01-221-2/+2
| | | | Crap... It is OpenMP 4.0, not 3.0
* Use #pragma omp simd for OpenMP 3.0 compilers (GH #787)Jeffrey Walton2019-01-221-2/+3
|
* Use OpenMP 2.0 for MSC compilers (GH #787)Jeffrey Walton2019-01-201-0/+5
|
* Add XOP aware Salsa20Jeffrey Walton2018-10-251-0/+48
|
* Add ChaCha SSE2 implementationJeffrey Walton2018-10-231-1/+2
| | | | | | | | Thanks to Jack Lloyd and Botan for allowing us to use the implementation. The numbers for SSE2 are very good. When compared with Salsa20 ASM the results are: * Salsa20 2.55 cpb; ChaCha/20 2.90 cpb * Salsa20/12 1.61 cpb; ChaCha/12 1.90 cpb * Salsa20/8 1.34 cpb; ChaCha/8 1.5 cpb
* Fix partial specializations for FixedSizeAllocatorWithCleanup (PR #710)Jeffrey Walton2018-08-241-27/+23
| | | | | Commit afbd3e60f68f effectively treated a symptom and not the underlying problem. The problem was linkers on 32-bit systems ignore CRYPTOPP_ALIGN_DAT(16) passed down by the compiler and align to 8-bytes or less. We have to use Wei's original code in some places. It is not a bad thing, but the bit fiddling is something we would like to contain a little more by depending more on language or platform features. This commit keeps the original changes which improve partial specializations; but fixes 32-bit linker behavior by effectively reverting afbd3e60f68f and e054d36dc88d00. We also add more comments so the next person has understands why things are done they way they are.
* Fix alignment on Win32 and Solaris Sparc (PR #709)Jeffrey Walton2018-08-231-23/+27
| | | | | | | These fixes were interesting in a morbid sort of way. I thought the FixedSizeAllocatorWithCleanup specializations faithfully reproduced semantics but I was wrong on Win32 and Sparc. Also see Commit e054d36dc88d. It seems there was another requirement or dependency that we missed, but it was not readily apparent. If I am parsing results correctly (which I may not be), it appears the bit twiddling using 8 byte alignment had more influence on alignment than I originally thought based on use of CRYPTOPP_BOOL_ALIGN16 and T_Align16. Or maybe the alignment attributes specified by CRYPTOPP_ALIGN_DATA are not being honored like they should for stack allocations. This check-in avoids some uses of x86 movdqa (aligned) in favor of movdqu (unaligned). The uses were concentrated on memory operands which were 8-byte aligned instead of 16-byte aligned. It is not clear to me how the specializations lost 8-bytes of alignment. The check-in also enlists CRYPTOPP_ASSERT to tell us when there's a problem so we don't need to go hunting for bugs.
* Add algorithm provider member function to Algorithm classJeffrey Walton2018-07-061-0/+9
|
* Add Salsa20_Core transform (GH #630) (#632)Jeffrey Walton2018-04-021-0/+59
|
* Change Doxygen comment style from //! to ///Jeffrey Walton2017-11-291-2/+0
| | | | Also see https://groups.google.com/forum/#!topic/cryptopp-users/A7-Xt5Knlzw
* Re-enable Salsa20 ASM (GH #543)Jeffrey Walton2017-11-291-1/+1
| | | | We are fairly certain this is a false positive due to glibc's __memcmp_sse4_1.
* Switch to rotlConstant and rotrConstantJeffrey Walton2017-11-251-4/+4
| | | | This will help Clang and its need for a constexpr
* Remove BOOL macro value (GH #462)Jeffrey Walton2017-08-201-7/+5
| | | | Currently the CRYPTOPP_BOOL_XXX macros set the macro value to 0 or 1. If we remove setting the 0 value (the #else part of the expression), then the self tests speed up by about 0.3 seconds. I can't explain it, but I have observed it repeatedly. This check-in prepares for the removal in Upstream master
* Avoid use of SecBlock::m_ptr in SalsaJeffrey Walton2017-08-171-2/+2
|
* Change file preamble to include "originally written by Wei Dai"Jeffrey Walton2017-01-271-1/+1
| | | | We have made a fair number of changes, and we don't want WD to receive credit for issues he was not part of
* Updated CRYPTOPP_ASSERT based on commentsJeffrey Walton2016-10-171-1/+1
| | | | Also see https://github.com/weidai11/cryptopp/commit/399a1546de71f41598c15edada28e7f0d616f541#commitcomment-19448453
* Change from NDEBUG to CRYPTOPP_DEBUG in source files to ensure all debug ↵Jeffrey Walton2016-09-161-1/+1
| | | | behavior pivots on CRYPTOPP_DEBUG, and not NDEBUG (Issue 277, CVE-2016-7420)
* Add CRYPTOPP_ASSERT (Issue 277, CVE-2016-7420)Jeffrey Walton2016-09-161-2/+2
| | | | trap.h and CRYPTOPP_ASSERT has existed for over a year in Master. We deferred on the cut-over waiting for a minor version bump (5.7). We have to use it now due to CVE-2016-7420
* Backed out use of "static const" to declare constant; switch to "enum" ↵Jeffrey Walton2016-09-061-4/+0
| | | | (Issue 255)
* Initial fix for older Apple ld's non_lazy_ptr missing symbols (Issue 255)Jeffrey Walton2016-09-061-32/+37
|
* Cleared issues 11,12,13 (Clang integrated assembler), 58 (RC rollup), 66 ↵Jeffrey Walton2015-11-181-5/+14
| | | | (Coverity rollup)
* CRYPTOPP 5.6.3 RC6 checkinJeffrey Walton2015-11-051-606/+616
|
* Companion checkin to 572506de3d00f1280c89b1168384178a988c4486. Salsa and ↵Jeffrey Walton2015-08-031-7/+11
| | | | Sosemanuk can no longer reach into a SecBlock for and touch its private members
* Cut-in CRYPTOPP_ASSERT in all remaining header and source filesJeffrey Walton2015-07-261-2/+2
|
* Added "trap.h" include for header and source files that assertJeffrey Walton2015-07-261-0/+1
|
* Added CRYPTOPP_CLANG_NO_INTEGRATED_AS as a guard in config.h (disabled by ↵Jeffrey Walton2015-07-211-2/+2
| | | | default since integrated-as is default behavior and the bug is active). GNU_ATT_SYNTAX → GNU_AS_ATT_SYNTAX and GNUINTEL_SYNTAX → GNU_AS_INTEL_SYNTAX
* Cut-in to utilize GNU_ATT_SYNTAX and GNU_INTEL_SYNTAX macros. Also see LLVM ↵Jeffrey Walton2015-07-211-2/+2
| | | | Bug 18916 (https://llvm.org/bugs/show_bug.cgi?id=18916)
* Removed execute bit from C++ header and source filesJeffrey Walton2015-06-241-0/+0
|
* Cleared unknown pragma warning with -WallJeffrey Walton2015-06-081-1/+3
|
* fix Salsa validation failure when compiling with GCC 4.6 ↵weidai2011-06-051-10/+11
| | | | (https://sourceforge.net/apps/trac/cryptopp/ticket/12)
* fix compile on OpenSolaris 8.11weidai2009-03-131-6/+2
|
* - add EAX mode, XSalsa20weidai2009-03-121-17/+54
| | | | | | - speed up GCM key setup - wipe stack in AES assembly code - speed up CFB mode
* changes for 5.6: weidai2009-03-021-5/+6
| | | | | | - added AuthenticatedSymmetricCipher interface class and Filter wrappers - added CCM, GCM (with SSE2 assembly), CMAC, and SEED - improved AES speed on x86 and x64 - removed WORD64_AVAILABLE; compiler 64-bit int support is now required
* fix compile for ICC 10weidai2007-09-241-27/+26
|
* remove -msse2 since we don't use SSE2 intrinsics anymoreweidai2007-09-241-1/+1
|
* - port x64 assembly code to MASMweidai2007-09-241-246/+473
| | | - improve stack unwindability on x64 for GCC by not modifying RBP/RSP registers in inline assembly
* fixed Salsa20 initialization crash on non-SSE2 machinesweidai2007-08-131-57/+60
|
* work around GCC bug for x64weidai2007-05-051-1/+2
|
* fix compile on Mac OS Xweidai2007-05-041-6/+7
|
* reduce risk of reusing random numbers after VM state rollbackweidai2007-05-041-17/+12
|
* fix compile on Sun CCweidai2007-04-161-0/+2
|
* SSE2 optimizationsweidai2007-04-151-86/+283
|
* port to Borland C++Builder 2006weidai2006-12-141-1/+1
|
* add Salsa20 cipherweidai2006-12-091-0/+139