summaryrefslogtreecommitdiff
path: root/simon.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Remove 64-bit AdvancedProcessBlocks (GH #945)Jeffrey Walton2020-07-071-120/+1
|
* Fix SIMON64 and SPECK64 self test failures (GH #945)Jeffrey Walton2020-07-071-0/+8
|
* Update commentsJeffrey Walton2020-04-111-1/+1
|
* Presplat SIMON and SPECK keys on Intel machinesJeffrey Walton2020-04-101-0/+16
|
* Add 32-bit Altivec implementation of Simon128Jeffrey Walton2020-04-081-23/+23
|
* Report Altivec on PowerPCJeffrey Walton2020-04-051-8/+0
|
* Use Altivec for Simon64Jeffrey Walton2020-04-051-17/+3
|
* Pre-splat SIMON and SPECK keys when appropriate for Altivec (PR #910)Jeffrey Walton2019-10-281-3/+19
| | | SIMON and SPECK keys can be pre-splatted in the forward direction when Altivec instructions will be used. Pre-splatting does not work for the reverse transformation. It breaks modes like CBC, so the speed-up is only applied to the forward transformation.
* Enable Power7 for Simon and Speck (PR #909)Jeffrey Walton2019-10-271-14/+70
|
* Remove double semicolons after sed'ing definesJeffrey Walton2019-10-031-6/+6
| | | | Also see https://github.com/weidai11/cryptopp/issues/889
* Use PowerPC unaligned loads and stores with Power8 (GH #825, PR #826)Jeffrey Walton2019-04-271-3/+3
| | | Use PowerPC unaligned loads and stores with Power8. Formerly we were using Power7 as the floor because the IBM POWER Architecture manuals said unaligned loads and stores were available. However, some compilers generate bad code for unaligned loads and stores using `-march=power7`, so bump to a known good.
* Cleanup debug information from SIMON source filesJeffrey Walton2018-11-211-8/+0
|
* Fix SIMON64 and SPECK64 providersJeffrey Walton2018-11-121-0/+4
|
* Port SIMON64 to AltivecJeffrey Walton2018-11-121-12/+26
| | | | SIMON64 runs about 4x faster than C++ for POWER4 and friends. If POWER7 is available it goes back to full speed due to efficient unaligned loads
* Clear conversion wanrings under MSVCJeffrey Walton2018-08-201-2/+5
|
* Fix AlgorithmProvider for SIMON and SPECK on SolarisJeffrey Walton2018-08-171-10/+14
|
* Move SIMON-64 and SPECK-64 to Power7 minimumJeffrey Walton2018-08-141-12/+14
| | | | SIMON-64 and SPECK-64 don't use 64-bit type so they can run on Power7. We may be able to drop to Power4, but we need to test the effects of Loads and Stores without vec_vxs_ld and vec_vsx_st
* Add POWER8 SIMON-64 implementationJeffrey Walton2018-08-141-0/+20
|
* Add POWER8 SIMON-128 implementationJeffrey Walton2018-08-121-0/+22
| | | | Performance went from about 30 to 40 cpb to 5.5 to 9 cpb, depending on endian-ness
* Add algorithm provider member function to Algorithm classJeffrey Walton2018-07-061-0/+26
|
* Use default alignment for GetBlockJeffrey Walton2018-06-241-10/+10
|
* Allow user to set -DCRYPTOPP_ARM_NEON_AVAILABLE=0 (#595)Fabrice Fontaine2018-03-051-6/+6
| | | | | | | Disable neon through -DCRYPTOPP_ARM_NEON_AVAILABLE=0, replace "if defined(CRYPTOPP_ARM_NEON_AVAILABLE)" by "if (CRYPTOPP_ARM_NEON_AVAILABLE)" Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
* Re-add Simon and Speck, enable SSE (GH #585)Jeffrey Walton2018-02-181-0/+463
| | | | This commit re-adds Simon and Speck. The commit includes C++, SSSE3 and SSE4. NEON, Aarch32 and Aarch64 are disabled at the moment.
* Remove Simon and Speck ciphers (GH #585)Jeffrey Walton2018-02-141-457/+0
| | | | | | We recently learned our Simon and Speck implementation was wrong. The removal will stop harm until we can loop back and fix the issue. The issue is, the paper, the test vectors and the ref-impl do not align. Each produces slightly different result. We followed the test vectors but they turned out to be wrong for the ciphers. We have one kernel test vector but we don't have a working implementation to observe it to fix our implementation. Ugh...
* Clear Coverity issue CID 186337Jeffrey Walton2017-12-271-1/+1
|
* Clear signed/unsigned warnings with GCC and -Wall -WextraJeffrey Walton2017-12-261-2/+2
|
* Enable NEON/ASIMD for Simon and Speck on Aarch32/Aarch64 (GH #545)Jeffrey Walton2017-12-051-6/+0
|
* Add SIMON-64 NEON intrinsicsJeffrey Walton2017-12-051-0/+8
|
* Fix incorrect SPECK-128 decrypt when blocks >= 6Jeffrey Walton2017-12-031-2/+4
| | | | Add defines for CRYPTOPP_SPECK64_ADVANCED_PROCESS_BLOCKS and CRYPTOPP_SPECK128_ADVANCED_PROCESS_BLOCKS
* Add SIMON-64 SSE intrinsicsJeffrey Walton2017-12-031-2/+43
| | | | Performance went from about 29 cpb (C++) to about 11.1 cpb (SSE)
* Change Doxygen comment style from //! to ///Jeffrey Walton2017-11-291-46/+46
| | | | Also see https://groups.google.com/forum/#!topic/cryptopp-users/A7-Xt5Knlzw
* Add NEON and ASIMD intrinsics for SPECK-128 (GH #539)Jeffrey Walton2017-11-271-58/+114
| | | | Performance increased by about 200% on a 980 MHz BananaPi dev-board. Throughput went from about 176.6 cpb to about 60.3 cpb.
* Switch to rotlConstant and rotrConstantJeffrey Walton2017-11-251-16/+16
| | | | This will help Clang and its need for a constexpr
* Rework UncheckedSetKey to rearrange words in ExpandKey (GH #539)Jeffrey Walton2017-11-211-20/+7
|
* Whitespace and spelling check-inJeffrey Walton2017-11-211-31/+35
|
* Add SIMON-64 and SIMON-128 lightweight block ciphers (GH #539)Jeffrey Walton2017-11-211-0/+365