summaryrefslogtreecommitdiff
path: root/validat4.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Use std namespace for memset, memcpy, memcmp (#1204)Jeffrey Walton2023-04-151-16/+16
|
* Use ConstBytePtr and BytePtrSize in testJeffrey Walton2020-04-131-1/+1
|
* Revert BlowfishCompat changes (PR #877)Jeffrey Walton2019-10-121-63/+0
|
* Add XTS block cipher mode of operation (GH #891, PR #892)Jeffrey Walton2019-10-121-0/+6
|
* Add support for Mcrypt's blowfish-compat (PR #877)Răzvan Cojocaru2019-09-291-0/+63
|
* Update headers for 'make dep'Jeffrey Walton2019-07-051-0/+2
|
* Add ChaChaTLS implementation (GH #265)Jeffrey Walton2019-01-241-0/+7
| | | | We tweaked ChaCha to arrive at the IETF's implementation specified by RFC 7539. We are not sure how to handle block counter wrap. At the moment the caller is responsible for managing it. We were not able to find a reference implementation so we disable SIMD implementations like SSE, AVX, NEON and Power4. We need the wide block tests for corner cases to ensure our implementation is correct.
* Add search for test vectors and test data (GH #760)Jeffrey Walton2018-12-071-39/+39
|
* Add ChaCha to self tests (GH #732)Jeffrey Walton2018-11-081-0/+7
|
* Add SIMON and SPECK to validation suiteJeffrey Walton2018-10-141-0/+14
|
* Split validat*.cpp source filesJeffrey Walton2018-07-281-464/+1708
| | | | Also see https://groups.google.com/forum/#\!topic/cryptopp-users/j_aQj6r-PoI
* Whitespace check-inJeffrey Walton2018-07-201-2/+2
|
* Add crypto_sign_sk2pk (PR #668)Jeffrey Walton2018-07-171-0/+7
| | | | This should allow users to convert a ed25519 seret key to a public key without rolling their own code
* Add sbyte, sword16, sword32 and sword64 (GH #608, GH #609)Jeffrey Walton2018-03-271-41/+41
| | | | Visual Studio 2008 kind of forced out hand with this. VS2008 lacks <stdint.h> and <cstdint> and it caused compile problems in NaCl gear. We were being a tad bit lazy by relying on int8_t, int32_t and int64_t, but the compiler errors made us act
* Rename nacl.h to naclite.hJeffrey Walton2018-01-211-2/+2
| | | | This should avoid confusion with header files from the reference implementation and libsodium
* Cleanup warnings under MSCJeffrey Walton2018-01-211-4/+4
|
* Convert Kalyna from variable block size (GH #535)Jeffrey Walton2018-01-181-1/+1
|
* Add _unchecked versions of crypto_box, crypto_box_open and crypto_box_beforenmJeffrey Walton2018-01-181-2/+40
| | | | | | This check-in adds three additional functions for backwards compatibility: crypto_box_unchecked, crypto_box_open_unchecked and crypto_box_beforenm_unchecked. The functions can be used for interoperability with downlevel clients, like old versions of NaCl and libsodium. It should also help some cryptocurrencies, like Bitcoin, Ethereum, Monero and Zcash. Also see https://eprint.iacr.org/2017/806.pdf (low order element attack) and https://github.com/jedisct1/libsodium/issues/662 (Zcash break).
* Add interface to TweetNaCl library (#566)Jeffrey Walton2018-01-171-0/+488
TweetNaCl is a compact reimplementation of the NaCl library by Daniel J. Bernstein, Bernard van Gastel, Wesley Janssen, Tanja Lange, Peter Schwabe and Sjaak Smetsers. The library is less than 20 KB in size and provides 25 of the NaCl library functions. The compact library uses curve25519, XSalsa20, Poly1305 and SHA-512 as default primitives, and includes both x25519 key exchange and ed25519 signatures. The complete list of functions can be found in TweetNaCl: A crypto library in 100 tweets (20140917), Table 1, page 5. Crypto++ retained the function names and signatures but switched to data types provided by <stdint.h> to promote interoperability with Crypto++ and avoid size problems on platforms like Cygwin. For example, NaCl typdef'd u64 as an unsigned long long, but Cygwin, MinGW and MSYS are LP64 systems (not LLP64 systems). In addition, Crypto++ was missing NaCl's signed 64-bit integer i64. Crypto++ enforces the 0-key restriction due to small points. The TweetNaCl library allowed the 0-keys to small points. Also see RFC 7748, Elliptic Curves for Security, Section 6. TweetNaCl is well written but not well optimized. It runs 2x to 3x slower than optimized routines from libsodium. However, the library is still 2x to 4x faster than the algorithms NaCl was designed to replace. The Crypto++ wrapper for TweetNaCl requires OS features. That is, NO_OS_DEPENDENCE cannot be defined. It is due to TweetNaCl's internal function randombytes. Crypto++ used DefaultAutoSeededRNG within randombytes, so OS integration must be enabled. You can use another generator like RDRAND to avoid the restriction.