summaryrefslogtreecommitdiff
path: root/default.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Revert AltiVec and Power8 commitsJeffrey Walton2017-09-051-11/+11
| | | | | 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 DefaultEncryptors and DefaultDecryptors on ↵Jeffrey Walton2017-09-041-11/+11
| | | | | | | | | | AltiVec and Power8 This commit supports the upcoming AltiVec and Power8 processor support for DefaultEncryptors and DefaultDecryptors. 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 intstructions. 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-2000's 32-bit VIA C7-D with SSE2+SSSE3 showed no improvement, and no performance was lost.
* Cleared UBsan finding in Default's GenerateKeyIVJeffrey Walton2017-08-151-2/+7
| | | | | | | | | passed: 128 deflates and inflates passed: 128 zlib decompress and compress default.cpp:69:2: runtime error: null pointer passed as argument 2, which is declared to never be null /usr/include/x86_64-linux-gnu/bits/string3.h:53:71: runtime error: null pointer passed as argument 2, which is declared to never be null Information Dispersal and Secret Sharing...
* Cast enums to int for comparisonJeffrey Walton2017-08-111-8/+8
|
* Add C++ nullptr support (Issue 383)Jeffrey Walton2017-03-011-12/+12
|
* 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 documentation (Issue 345)Jeffrey Walton2016-12-111-2/+3
|
* Update DefaultEncryptor, DefaultEncryptorWithMAC and friends (Issue 345)Jeffrey Walton2016-12-111-54/+84
|
* Removed VC++ 5.0 and 6.0 workarounds (Issue 342)Jeffrey Walton2016-12-031-4/+2
|
* Removed MAINTAIN_BACKWARDS_COMPATIBILITY_562 (Issue 70)Jeffrey Walton2016-12-031-2/+2
|
* Crypto++ 5.6.3 check-inCRYPTOPP_5_6_3Jeffrey Walton2015-11-221-2/+3
|
* Revert botched "Crypto++ 5.6.3 check-in". Corruption due to VMware adding ↵Jeffrey Walton2015-11-221-3/+2
| | | | | | garbage to the end of some source files during drag and drop from guest to host. This reverts commit c45435812225aa68d122c7de246e5f60b509766c.
* Crypto++ 5.6.3 check-inJeffrey Walton2015-11-201-2/+3
|
* CRYPTOPP 5.6.3 RC6 checkinJeffrey Walton2015-11-051-267/+272
|
* Completed cutover to unscoped auto_ptr (which will use Crypto++'s namespace ↵Jeffrey Walton2015-08-031-1/+3
| | | | version)
* Removed USING_NAMESPACE(std). Changed cout → std::cout, cerr → ↵Jeffrey Walton2015-07-301-2/+2
| | | | std::cerr, ...
* Fixed compiler errors on Apple due to cross product of {C++03,C++11} x ↵Jeffrey Walton2015-07-271-1/+2
| | | | {libc++, libstdc++}. It included bringing in the correct <memory> in <stdcpp.h>, and then only including <stdcpp.h> when <memory> was needed.
* Cleared "signed/unsigned" warning under GCC 4.8Jeffrey Walton2015-07-261-7/+8
|
* Added GCC_DIAGNOSTIC_AWARE to help suppress some warnings on contemporary ↵Jeffrey Walton2015-06-291-0/+5
| | | | compilers. The macro was needed to help with managing old compilers, like GCC 4.2.1, present on OpenBSD
* changes for 5.6: weidai2009-03-021-1/+1
| | | | | | - 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
* port to MSVC .NET 2005 beta 2weidai2005-07-121-15/+15
|
* changes done for FIPS-140 lab code dropweidai2005-01-201-2/+2
|
* Initial revisionweidai2002-10-041-0/+258