Commit Graph

53 Commits

Author SHA1 Message Date
Jeffrey Walton
f5f63850f9
Use std namespace for memset, memcpy, memcmp (#1204) 2023-04-15 16:45:02 -04:00
Jeffrey Walton
b54a41d9f2
Try fix ProcessData in CFB_CipherTemplate and AdditiveCipherTemplate
This commit attempts to restore performance while taming the optimizer.

Also see GH #683, GH #1010, GH #1088, GH #1103.
2022-02-13 21:18:43 -05:00
Jeffrey Walton
711e79f102
Update misc.cpp and xts.cpp header includes 2022-02-13 20:06:04 -05:00
Dimitris Apostolou
715a0bcce3
Fix typos (PR# 1099) 2022-01-04 05:06:35 -05:00
Jeffrey Walton
b51383cc6c
Fix compile on CentOS 5 2021-04-26 16:24:02 -04:00
Jeffrey Walton
810e3d869a
Fix xorbuf compile on OpenBSD 6.8 with GCC 4.2.1 2021-03-18 14:42:25 -04:00
Jeffrey Walton
949b7632f1
Fold count==0 tests in xorbuf 2021-03-18 12:15:53 -04:00
Jeffrey Walton
bb5b48d1dc
Fix xorbuf compile when CRYPTOPP_DISABLE_ASM 2021-03-18 12:05:36 -04:00
Jeffrey Walton
b127d4aaba
Remove NEON code paths from xorbuf
NEON on 32-bit ARM machines is experiencing a slight slowdown on modern compilers.
2021-03-17 23:28:58 -04:00
Jeffrey Walton
9a7f4f05cd
Cleanup xorbuf and VerifyBufsEqual (GH #1020) 2021-03-17 23:01:05 -04:00
Jeffrey Walton
a742a06945
Update error messages 2021-03-17 17:58:56 -04:00
Jeffrey Walton
d4975aa608
Cleanup xorbuf and VerifyBufsEqual (GH #1020) 2021-03-17 17:38:54 -04:00
Jeffrey Walton
c33a73a5eb
Update comments 2021-03-17 13:09:24 -04:00
Jeffrey Walton
719df2f6c6
Update include for <arm_neon.h> 2021-03-17 13:07:29 -04:00
Jeffrey Walton
faa8210c60
Fix compile on ARM with GCC 4.8 (GH #1020) 2021-03-17 13:03:50 -04:00
Jeffrey Walton
4eac79fad8
Cleanup xorbuf and VerifyBufsEqual (GH #1020) 2021-03-17 02:35:12 -04:00
Jeffrey Walton
2b3349590f Clear unreachable code warnings with early MSVC compilers 2019-10-03 06:41:46 -04:00
Jeffrey Walton
366fdce86f Add BytePtr and ConstBytePtr overloads for SecByteBlock (GH #890) 2019-10-03 04:12:16 -04:00
Jeffrey Walton
1190da17ea Avoid circular dependency using AlignedAllocate (GH #885) 2019-09-28 18:22:11 -04:00
Jeffrey Walton
195cd6e7c8
Update documentation 2019-07-06 16:06:27 -04:00
Jeffrey Walton
7969f7181f
Add additional comments to Aligned Allocator (GH #779) 2019-01-16 17:04:55 -05:00
Jeffrey Walton
fdfcb2a172
Make AlignedAllocate available in simulator debug builds (GH #779, PR #780)
* Make AlignedAllocate available in simulator debug builds (GH #779)

* Use CRYPTOPP_CONSTANT for rotate params
2019-01-11 16:37:26 -05:00
Jeffrey Walton
a876d82445
Move CRYPTOPP_POSIX_MEMALIGN_AVAILABLE preference down
This should result in fewer surprises
2018-01-30 22:03:34 -05:00
Jeffrey Walton
d429318230
Cleanup Doxygen directives 2018-01-22 09:53:49 -05:00
Jeffrey Walton
aee296d663
Fix AIX AlignedAllocate
Well, the IBM docs were not quite correct when they stated "The block is aligned so that it can be used for any type of data". The vector data types are pretty standard, even across different machines from diffent manufacturers
2018-01-21 19:48:36 -05:00
Jeffrey Walton
1315c1fe2f
Fix unwanted inlining of factory.h classes on AIX and Power7
Enable aligned allocations under IBM XL C/C++. Based on the AIX malloc man pages, "... the block is aligned so that it can be used for any type of data". Previously CRYPTOPP_NO_ALIGNED_ALLOC was in effect.

Use malloc instead of calloc on OS X. Based on the OS X malloc man pages, "... the allocated memory is aligned such that it can be used for any data type, including AltiVec- and SSE-related types". Additionally, calloc zero'd the memory it allocated which slowed things down on Apple systems.
2017-10-13 04:13:39 -04:00
Jeffrey Walton
c90a63196a
Add StringWiden function
StringWiden converts a narrow C-style string to a wide string. It serves the opposite role of StringNarrow function. The function is useful on Windows platforms where the OS favors wide functions with the UTF-16 character set. For example, the Data Proction API (DPAPI) allows a description, but its a wide character C-string. There is no narrwo version of the API.
2017-03-17 04:57:38 -04:00
Jeffrey Walton
5efb019d8b
Add C++ nullptr support (Issue 383) 2017-03-01 06:10:06 -05:00
Jeffrey Walton
81b1a18063
Change file preamble to include "originally written by Wei Dai"
We have made a fair number of changes, and we don't want WD to receive credit for issues he was not part of
2017-01-27 07:05:45 -05:00
Jeffrey Walton
ba75834ae9
Removed VC++ 5.0 and 6.0 workarounds (Issue 342) 2016-12-03 05:05:56 -05:00
Jeffrey Walton
40230dd3bf
Removed MAINTAIN_BACKWARDS_COMPATIBILITY_562 (Issue 70) 2016-12-03 00:32:07 -05:00
Jeffrey Walton
399a1546de Add CRYPTOPP_ASSERT (Issue 277, CVE-2016-7420)
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
2016-09-16 11:27:15 -04:00
Jeffrey Walton
3a3fae8b8b Fixed potential ODR violation of non-member function StringNarrow 2016-01-30 14:01:20 -05:00
Jeffrey Walton
1f1fecce88 Cleared -Wcast-align (Issue 122) 2016-01-25 19:28:55 -05:00
Jeffrey Walton
2b7dba4fa6 Suppressed false positives on -Wcast-align warning 2016-01-14 19:08:56 -05:00
Jeffrey Walton
298988a5b9 Crypto++ 5.6.3 check-in 2015-11-22 19:17:15 -05:00
Jeffrey Walton
6ac1e46a1f Cleared issues 11,12,13 (Clang integrated assembler), 58 (RC rollup), 66 (Coverity rollup) 2015-11-18 15:32:28 -05:00
Jeffrey Walton
48809d4e85 CRYPTOPP 5.6.3 RC6 checkin 2015-11-05 01:59:46 -05:00
Jeffrey Walton
ffc5c11555 Improved comment on xorbuff and GCC's selection of vmovdqa 2015-07-28 20:36:22 -04:00
Jeffrey Walton
b7de164d62 Cut-in CRYPTOPP_ASSERT in all remaining header and source files 2015-07-26 16:03:14 -04:00
Jeffrey Walton
7b64ca489a Added "trap.h" include for header and source files that assert 2015-07-26 15:51:16 -04:00
Jeffrey Walton
866fbeb8e4 Cleared compile error masked behind ASSERT 2015-07-14 01:25:59 -04:00
Jeffrey Walton
9bf0eed0f6 Cleared crash with GCC 4.8 and above and -O3. In a nutshell, it was due to vectorization and alignment violations agains the vmovdqa instruction 2015-07-13 22:53:16 -04:00
weidai
797192ea60 fix compile on Linux 2010-07-24 06:12:23 +00:00
weidai
57de1d522b move memory allocation/deallocation for SecBlock into DLL 2010-07-24 05:33:58 +00:00
weidai
d8a644fc4e changes for 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
2009-03-02 02:39:17 +00:00
weidai
0150b2d663 speed up xorbuf 2007-05-04 15:33:17 +00:00
weidai
1db8ea5084 port to MSVC .NET 2005 beta 2 2005-07-12 04:23:32 +00:00
weidai
93ba4e160f minor changes 2003-08-25 21:41:09 +00:00
weidai
89862d1220 guard against potential integer overflow in allocators 2003-08-04 19:00:41 +00:00