Commit Graph

20 Commits

Author SHA1 Message Date
Jeffrey Walton
950a5a2ff4
Fix aliasing violations in Kalyna 2020-04-13 19:02:39 -04:00
Jeffrey Walton
c601213ce1
Sync CRYPTOPP_{BIG|LITTLE}_ENDIAN with Autotools
Autotools sets up its config.h file with the '#define XXX 0' or '#define XXX 1' pattern. This check-in makes the sources Autotools aware. We need to verify CMake does the same
2018-10-28 04:24:22 -04:00
Jeffrey Walton
e185cbd803 Revert "Sync CRYPTOPP_{BIG|LITTLE}_ENDIAN with Autotools"
This reverts commit 04306f86ac. It broke GCC 4.8 on PowerPC.
2018-10-28 03:42:50 -04:00
Jeffrey Walton
04306f86ac
Sync CRYPTOPP_{BIG|LITTLE}_ENDIAN with Autotools 2018-10-27 07:30:15 -04:00
Jeffrey Walton
58b6999274
Convert Kalyna from variable block size (GH #535) 2018-01-18 20:26:10 -05:00
Jeffrey Walton
69c8a4f9c6
Prefix IS_LITTLE_ENDIAN and IS_BIG_ENDIAN with CRYPTOPP 2017-11-10 14:15:30 -05:00
Jeffrey Walton
58b731c645
Fix "Integer constant is too large for 'long' type"
kalyna.cpp:432: error: integer constant is too large for 'long' type
kalyna.cpp:509: error: integer constant is too large for 'long' type
kalyna.cpp:608: error: integer constant is too large for 'long' type
kalyna.cpp:713: error: integer constant is too large for 'long' type
kalyna.cpp:833: error: integer constant is too large for 'long' type
...
2017-08-07 09:46:33 -04:00
Jeffrey Walton
fe63795638
Add byte typedef in Kalyna's anonymous namespace to avoid issues with globally scoped byte
This check-in supports Romain Geissler's work on cleaning up our use of ::byte when it collides with std::byte. Regardless of what happens, such as removing ::byte and adding CryptoPP::byte, providing the typedef here makes Kalyna immune to the outside changes. Also see Pull Request 437 and 438.
2017-07-16 11:11:41 -04:00
Jeffrey Walton
830c06e922
Fixed copy/paste typo 2017-05-23 23:05:31 -04:00
Jeffrey Walton
34ac34c0b4
Cleared C4459 under MSVC (Issue 412) 2017-05-23 23:03:47 -04:00
Jeffrey Walton
3bee1f57cf
XOR block in specialized ProcessBlock
Use Put and Get blocks consistently
2017-05-10 06:34:22 -04:00
Jeffrey Walton
20c3d556c3 Revert "XOR block in specialized ProcessBlock"
This reverts commit 76bb4ead40. The Visual Studio project files and other test files were not supposed to be checked-in.
2017-05-10 06:30:08 -04:00
Jeffrey Walton
76bb4ead40
XOR block in specialized ProcessBlock
Use Put and Get blocks consistently
2017-05-10 06:26:29 -04:00
Jeffrey Walton
7421bd2055
Fix "Load of address X with insufficient space for an object of type const word32" 2017-05-08 16:17:17 -04:00
Jeffrey Walton
fe2d5752cd
Switch to library's GetUserKey 2017-05-08 14:32:30 -04:00
Jeffrey Walton
238b5e6188
Whitespace check-in 2017-05-08 03:20:23 -04:00
Jeffrey Walton
1d7dfc6927
Port Kalyna to big-endian (Issue 411)
Tested on GCC110 from the GCC compile farm. Performance is comparable to AES on GCC110.
2017-05-08 01:59:37 -04:00
Jeffrey Walton
c35e616cbf
Make make_odd_key_NNN a template function 2017-05-06 23:59:17 -04:00
Jeffrey Walton
9cf9f4235d
Add timing attack countermeasures to Kalyna (Issue 411)
The code at check-in a5c67cfdd6 did not include it. Unlike Threefish, it looks like Kalyna could benefit from the cache hardening given how similar Kalyna is to AES. The hardening costs less than 0.1 cpb, which equates to about 199 MB/s vs 201 MB/s on a 6th gen Skylake
2017-05-06 20:14:26 -04:00
Jeffrey Walton
a5c67cfdd6
Add Kalyna block cipher (Issue 411)
Thanks to Roman Oliynykov and Oleksandr Kazymyrov for their assistance. Thanks to Keru Kuro for the reference implementation.
2017-05-06 00:24:35 -04:00