summaryrefslogtreecommitdiff
path: root/aria.h
Commit message (Collapse)AuthorAgeFilesLines
* Clear clang-tidy warningsJeffrey Walton2018-01-231-2/+5
|
* Remove unneeded Doxygen directiveJeffrey Walton2018-01-191-2/+0
|
* Change Doxygen comment style from //! to ///Jeffrey Walton2017-11-291-23/+23
| | | | Also see https://groups.google.com/forum/#!topic/cryptopp-users/A7-Xt5Knlzw
* Update documentation linksJeffrey Walton2017-09-281-1/+1
|
* Clear Coverity finding UNINIT_CTOR (CID 182771)Jeffrey Walton2017-08-181-0/+3
|
* Make UncheckedKeySet and ProcessXorBlocks protectedJeffrey Walton2017-05-061-1/+1
|
* Avoid extra loads of workspace variablesJeffrey Walton2017-04-161-1/+1
|
* Fix unaligned pointer crash on Win32 due to _mm_load_si128Jeffrey Walton2017-04-131-2/+2
| | | | | | | | | | The SSSE3 intrinsics were performing aligned loads using _mm_load_si128 using user supplied pointers. The pointers are only a byte pointer, so its alignment can drop to 1 or 2. Switching to _mm_loadu_si128 will sidestep potential problems. The crash surfaced under Win32 testing. Switch to memcpy's when performing bulk assignment x[0]=y[0] ... x[3]=y[3]. I believe Yun used the pattern to promote vectorization. Some compilers appear to be braindead and issue integer move's one word at a time. Non-braindead compiler will still take the optimization when advantageous, and slower compilers will benefit from the bulk move. We also cherry picked vectorization opportunities, like in ARIA_GSRK_NEON. Remove keyBits variable. We now use UncheckedSetKey's keylen throughout. Also fix a typo in CRYPTOPP_BOOL_SSSE3_INTRINSICS_AVAILABLE. __SSSE3__ was listed twice.
* Add NEON intrinsics for ARIA_GSRK_NEONJeffrey Walton2017-04-121-2/+11
| | | | Update documentation
* Switch to code based on 32-bit implementationJeffrey Walton2017-04-111-9/+8
| | | | The 32-bit code is based on Aaram Yun's code. Yun's code combined with a few library specific tweaks improves performance to roughly Camellia.
* Add ARIA block cipherJeffrey Walton2017-04-101-0/+59
This is the reference implementation, test data and test vectors from the ARIA.zip package on the KISA website. The website is located at http://seed.kisa.or.kr/iwt/ko/bbs/EgovReferenceList.do?bbsId=BBSMSTR_000000000002. We have optimized routines that improve Key Setup and Bulk Encryption performance, but they are not being checked-in at the moment. The ARIA team is updating its implementation for contemporary hardware and we would like to use it as a starting point before we wander too far away from the KISA implementation.