aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/pubkey/curve25519/donna.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Reduction of code complexity in MP & ECC classes.Matthias Gierlings2016-06-191-30/+46
| | | | | | - reduced number of parameters in various methods - introduced structures and renamed variables to improve code readability.
* Fix remaining Wshadow warnings and enable on gcc and clangRené Korthaus2016-02-181-3/+3
|
* Make Montgomery reduction constant time.Jack Lloyd2015-10-241-5/+5
| | | | | | | | | | | | | | It was already close, but the carry loop would break early and selecting which value to copy out was indexed on the borrow bit. Have the carry loop run through, and add a const-time conditional copy operation and use that to copy the output. Convert ct_utils to CT namespace. Templatize the utils, which I was hesitant to do initially but is pretty useful when dealing with arbitrary word sizes. Remove the poison macros, replace with inline funcs which reads cleaner at the call site.
* Make PKCS #1 and OAEP decoding constant time to avoid oracle attacksJack Lloyd2015-10-161-0/+9
| | | | | | | | via timing channels. Add annotations for checking constant-time code using ctgrind to PKCS #1 and OAEP, as well as IDEA and Curve25519 which were already written as constant time code.
* Add BOTAN_DLL back to LibraryInitializer and move some of the implementation tolloyd2015-03-111-1/+1
| | | | | | | a source file. Without BOTAN_DLL the LibraryInitializer was removed entirely from the list of symbols which is not desired. Add some casts to avoid scary sounding but (upon review) harmless warnings from MSVC
* Centralize where string.h/cstring is included to mem_ops.hlloyd2015-01-231-7/+6
| | | | See github 42 for background
* Amalgamation fixeslloyd2015-01-231-18/+1
|
* Add Curve25519 based on curve25519-donna by Adam Langley.lloyd2014-12-271-0/+456
This uses only the c64 version from curve25519-donna; on systems that don't have a native uint128_t type, a donna128 type stands in for just enough 128-bit operations to satisfy donna.cpp