summaryrefslogtreecommitdiff
path: root/strciphr.h
Commit message (Collapse)AuthorAgeFilesLines
* Fix typosJeffrey Walton2021-04-091-2/+2
|
* Fix CTR mode when using FileSource (GH #683, GH #1010)Jeffrey Walton2021-03-171-1/+4
| | | | | | | | We think this is another instance problem that surfaced under GH #683 when inString==outString. It violates aliasing rules and the compiler begins removing code. The ultimate workaround was to add a member variable m_tempOutString as scratch space when inString==outString. We did not loose much in the way of perforamce for some reason. It looks like AES/CTR lost about 0.03-0.05 cpb. When combined with the updated xorbuf from GH #1020, the net result was a speedup of 0.1-0.6 cpb. In fact, some ciphers like RC6, gained almost 5 cpb.
* Avoid memcpy in AdditiveCipherTemplate<S>::ProcessData (GH #683, GH #1010, ↵Jeffrey Walton2021-03-161-1/+4
| | | | | PR #1019) We found we can avoid the memcpy in the previous workaround by using a volatile pointer. The pointer appears to tame the optimizer so the compiler does not short-circuit some calls when outString == inString.
* Update documentationJeffrey Walton2021-03-161-57/+55
|
* Add EnumToInt conversion macro for enum-enum conversion warnings (GH #1016)Jeffrey Walton2021-03-091-6/+6
|
* Clear C++20 enum-enum conversion warnings (GH #1016)Jeffrey Walton2021-03-091-26/+26
|
* Use \return and \throw consitently in the docsJeffrey Walton2020-12-071-30/+30
|
* Fix semicolons yet again (GH #889)Jeffrey Walton2019-10-141-1/+1
| | | | So it looks like sed added a '\r' between the closing paren and the semi. Grepping for '^;' failed because the '\r' was considered part of the previous line, so it showed no hits. I finally had to write a C program to properly identify and fix those damn stray semicolons.
* Don't add semicolon to CRYPTOPP_CONSTANT abd DOCUMENTED_TYPEDEF (GH #889)Jeffrey Walton2019-10-031-1/+1
| | | | This issue is a recurring issue. Let's try fixing it in the #define this time.
* Update documentationJeffrey Walton2019-01-261-3/+12
|
* Remove potential UB from CFB_CipherConcretePolicyJeffrey Walton2018-11-191-9/+22
|
* Update documentationJeffrey Walton2018-07-121-1/+1
|
* Revert "Increase use of ptrdiff_t when performing pointer math"Jeffrey Walton2018-07-121-1/+1
| | | | This reverts commit bbf9a109f268. It did not fix A-32. Something got crossed in my test case.
* Increase use of ptrdiff_t when performing pointer mathJeffrey Walton2018-07-121-1/+1
| | | | This fixes the incorrect result with CFB mode on A-32 in CFB_CipherTemplate<BASE>::ProcessData
* Increase use of ptrdiff_t when performing pointer mathJeffrey Walton2018-07-101-0/+3
|
* Add algorithm provider member function to Algorithm classJeffrey Walton2018-07-061-17/+81
|
* Add Rabbit stream cipher (GH #678)Jeffrey Walton2018-07-041-1/+2
|
* Update documentationJeffrey Walton2018-07-031-6/+18
|
* Fix clang warnings in headers (#655)Marcel Raad2018-05-101-1/+1
| | | | | | | | | | * remove superfluous semicolon * Remove C-style casts from public headers clang warns about them with -Wold-style-cast. It also warns about implicitly casting away const with -Wcast-qual. Fix both by removing unnecessary casts and converting the remaining ones to C++ casts.
* Remove unneeded Doxygen directiveJeffrey Walton2018-01-191-12/+0
|
* Change Doxygen comment style from //! to ///Jeffrey Walton2017-11-291-276/+276
| | | | Also see https://groups.google.com/forum/#!topic/cryptopp-users/A7-Xt5Knlzw
* Revert AltiVec and Power8 commitsJeffrey Walton2017-09-051-3/+4
| | | | | The strategy of "cleanup under-aligned buffers" is not scaling well. Corner cases are still turing up. The library has some corner-case breaks, like old 32-bit Intels. And it still has not solved the AltiVec and Power8 alignment problems. For now we are backing out the changes and investigating other strategies
* Fixup under-aligned buffers for stream ciphers on AltiVec and Power8Jeffrey Walton2017-09-041-4/+3
| | | | | | | | This commit supports the upcoming AltiVec and Power8 processor support for stream ciphers. This commit affects GlobalRNG() most because its an AES-based generator. The commit favors AlignedSecByteBlock over SecByteBlock in places where messages are handled on the AltiVec and Power8 processor data paths. The data paths include all block cipher modes of operation, and some filters like FilterWithBufferedInput. Intel and ARM processors are tolerant of under-aligned buffers when using crypto instructions. AltiVec and Power8 are less tolerant, and they simply ignore the three low-order bits to ensure an address is aligned. The AltiVec and Power8 have caused a fair number of wild writes on the stack and in the heap. Testing on a 64-bit Intel Skylake show a marked improvement in performance. We suspect GCC is generating better code since it knows the alignment of the pointers, and does not have to emit fixup code for under-aligned and mis-aligned data. Testing on an mid-2000s 32-bit VIA C7-D with SSE2+SSSE3 showed no improvement, and no performance was lost.
* Update documentationJeffrey Walton2017-07-271-2/+1
| | | | This cleanup was performed using Clang and -Wdocumentation -Wno-documentation-deprecated-sync
* Revert "Revert "Clear Visual Studio warnings (Issue 412)""Jeffrey Walton2017-06-021-1/+1
| | | | This reverts commit c3871aec948013c1a4d5613050c659520f59e2e4.
* Revert "Clear Visual Studio warnings (Issue 412)"Jeffrey Walton2017-06-021-1/+1
| | | | This reverts commit eb3b27a6a543. The change broke GCC 4.8 and unknown version of Clang on OS X. UB reported the OS X break, and JW found duplicated the break on a ARM CubieTruck with GCC 4.8.
* Clear Visual Studio warnings (Issue 412)Jeffrey Walton2017-05-301-1/+1
|
* Add C++ nullptr support (Issue 383)Jeffrey Walton2017-03-011-4/+4
|
* 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
* spelling fixesklemens2016-12-271-3/+3
|
* Removed VC++ 5.0 and 6.0 workarounds (Issue 342)Jeffrey Walton2016-12-031-1/+1
|
* Removed MAINTAIN_BACKWARDS_COMPATIBILITY_562 (Issue 70)Jeffrey Walton2016-12-031-2/+4
|
* Add CRYPTOPP_ASSERT (Issue 277, CVE-2016-7420)Jeffrey Walton2016-09-161-6/+8
| | | | 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
* Whitespace checkinJeffrey Walton2016-09-101-4/+4
|
* Updated documentationJeffrey Walton2016-04-221-2/+2
|
* Updated documentationJeffrey Walton2016-04-211-32/+338
|
* CRYPTOPP 5.6.3 RC6 checkinJeffrey Walton2015-11-051-309/+325
|
* Cleared compiler error when compiling with "-DDEBUG"Jeffrey Walton2015-07-261-0/+2
|
* Cut-in CRYPTOPP_ASSERT in all remaining header and source filesJeffrey Walton2015-07-261-6/+6
|
* Added "trap.h" include for header and source files that assertJeffrey Walton2015-07-261-0/+1
|
* Cleared -Wparentheses from GCC 5.1Jeffrey Walton2015-07-191-2/+2
|
* - add EAX mode, XSalsa20weidai2009-03-121-1/+1
| | | | | | - speed up GCM key setup - wipe stack in AES assembly code - speed up CFB mode
* fix compile on ICC 11weidai2009-03-041-0/+1
|
* changes for 5.6: weidai2009-03-021-9/+8
| | | | | | - 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 infinite recursive call in IsRandomAccess (reported by ASBai)weidai2008-02-021-3/+3
|
* add missing virtual destructorsweidai2007-06-011-0/+2
|
* reduce risk of reusing random numbers after VM state rollbackweidai2007-05-041-5/+0
|
* fix compile on Sun CCweidai2007-04-161-1/+1
|
* SSE2 optimizationsweidai2007-04-151-42/+54
|
* update version number, port to Sun C++ 5.8weidai2006-12-181-27/+3
|