Commit Graph

178 Commits (6770a8dad4859e10fb58b54cf1b69137f4663e86)

Author SHA1 Message Date
Jeffrey Walton b3a473878c
Post-release version increment
Also see https://www.cryptopp.com/wiki/Release_Process#Increment_version_numbers
2018-12-28 08:25:44 -05:00
Jeffrey Walton 5e48cfd0c9
Prepare for Crypto++ 8.0 release 2018-12-27 18:30:38 -05:00
Jeffrey Walton bfd3f4e3c7
Update documentation 2018-12-25 09:00:52 -05:00
Jeffrey Walton ae2677648b
Update documentation 2018-12-25 08:17:20 -05:00
Jeffrey Walton 220ae9b914
Update documentation 2018-12-12 10:35:00 -05:00
Jeffrey Walton 0b1162aa34
Update documentation 2018-12-03 06:55:57 -05:00
Jeffrey Walton 6729b29410
Move DEFAULT_CHANNEL and AAD_CHANNEL defs into cryptlib.cpp (GH #751)
The library used to provide DEFAULT_CHANNEL and AAD_CHANNEL this way. We experienced Static Initialization Order Fiasco crashes on occassion, so we moved them into cryptlib.h with internal linkage. The cost was, each translation unit got a copy of the strings which contributed to bloat. Issue 751 shows Clang compiles the global constructors for DEFAULT_CHANNEL and AAD_CHANNEL above the base ISA so we caught crashes on OS X with down-level hardware.

We are now at a "pick your poison" point. We selected Static Initialization Order Fiasco because it seems to be less prevalent.

Hat tip to the C++ Committee for allowing this problem to fester for three decades.
2018-12-03 06:33:15 -05:00
Jeffrey Walton 4ee0b3e2f6
cryptlib.h 2018-11-04 15:46:44 -05:00
Jeffrey Walton 40fa6873f9
Add ability to Seek64 in test framework (GH #732)
Also see https://github.com/randombit/botan/pull/1728
2018-11-04 14:21:54 -05:00
orangefour 20f82c067e Add VectorSource (GH #730) 2018-11-01 06:49:04 -04:00
Jeffrey Walton c0471236f4
Use version 7.0 rather than 6.2
We had to perform a major version bump due to an ABI break
2018-10-19 20:43:23 -04:00
orangefour 9b81a545fc Add VectorSink 2018-09-05 09:25:09 +02:00
Jeffrey Walton f2171cbe2f
Remove Thread and Socket classes (GH #208, PR #703)
Also see https://groups.google.com/forum/#!topic/cryptopp-users/5btwLoxXXD4.
2018-08-17 23:55:39 -04:00
Jeffrey Walton b91491da4f
Fix Solaris i386 compile of CHAM and LEA for SunStudio 12.3 and below 2018-07-16 12:21:44 -04:00
Jeffrey Walton 8197732756
Fix SunStudio 12.6 runtime crash on i386
This bug has been around since the Sun Studio 11/SunCC 5.8 days
2018-07-16 10:33:14 -04:00
Jeffrey Walton 71cc002fd5
Update documentation 2018-07-06 22:12:15 -04:00
Jeffrey Walton b74a6f4445
Add algorithm provider member function to Algorithm class 2018-07-06 09:23:37 -04:00
Jeffrey Walton 6d9047b444
Fix spelling 2018-07-06 09:21:13 -04:00
Jeffrey Walton 77cd5c69d0
Update documentation 2018-07-06 03:18:45 -04:00
Jeffrey Walton ecababa006
Update documentation 2018-07-06 02:57:48 -04:00
Jeffrey Walton 989bf6dc5e
Add HC-256 stream cipher (GH #680) 2018-07-05 06:43:04 -04:00
Jeffrey Walton 541cdf373c
Update documentation 2018-07-05 01:26:48 -04:00
Jeffrey Walton 476559e763
Update documentation 2018-07-04 04:08:33 -04:00
Jeffrey Walton 5e0d31fa8b
Update documentation 2018-07-04 04:05:56 -04:00
Jeffrey Walton da32ed4679
Fix versioning that cross-pollinated when building docs 2018-07-01 03:46:11 -04:00
Jeffrey Walton c58ea35e23
Update documentation 2018-07-01 03:42:17 -04:00
Jeffrey Walton 207c6fcb1a
Update documentation 2018-06-18 00:14:31 -04:00
Marcel Raad 7c1d296283 Fix clang warnings in headers (#655)
* remove superfluous semicolon

* Remove C-style casts from public headers

clang warns about them with -Wold-style-cast. It also warns about
implicitly casting away const with -Wcast-qual. Fix both by removing
unnecessary casts and converting the remaining ones to C++ casts.
2018-05-10 19:59:21 -04:00
Jeffrey Walton 4bb331f5d0
Post-release version increment 2018-04-08 15:58:25 -04:00
Jeffrey Walton c8d8caf700
Prepare for Crypto++ 7.0 release 2018-04-08 04:48:59 -04:00
Jeffrey Walton cd8c03c816
Move PasswordBasedKeyDerivationFunction to cryptlib.h 2018-04-07 08:14:22 -04:00
Jeffrey Walton 62a9574f3f
Make AuthenticatedSymmetricCipher::AlgorithmName non-pure
Also see https://stackoverflow.com/q/49658309/608639
2018-04-05 20:34:08 -04:00
Jeffrey Walton cdd751d27a
Don't use anonymous namespace in header file (GH #631, PR #633) 2018-04-02 05:24:01 -04:00
Jeffrey Walton 57a35a6896
Update documentation 2018-03-29 23:23:37 -04:00
Jeffrey Walton 7b33bc5e04
Cutover PBKDF to KeyDerivationFunction interface (GH #610, PR #612) 2018-03-29 23:13:56 -04:00
Jeffrey Walton 32abab75f2
Add KeyDerivationFunction interface (GH #610, PR #611) 2018-03-29 20:18:27 -04:00
Jeffrey Walton da11d90ddb
Post-release version increment 2018-02-22 12:47:18 -05:00
Jeffrey Walton 15b14cc618
Remove Simon and Speck ciphers (GH #585)
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...
2018-02-14 04:06:16 -05:00
Jeffrey Walton 526742d862
Update documentation 2018-01-25 16:27:44 -05:00
Jeffrey Walton 675575d960
Update documentation 2018-01-23 17:47:19 -05:00
Jeffrey Walton c9b00c14fd
Update documentation 2018-01-22 20:13:18 -05:00
Jeffrey Walton 19e07938fa
Post-release version increment
Also see https://www.cryptopp.com/wiki/Release_Versioning#Post-Release_Increment
2018-01-22 17:21:22 -05:00
Jeffrey Walton bb03ba57fb
Update documentation 2018-01-21 08:46:21 -05:00
Jeffrey Walton 9b174e84de
Remove AsymmetricAlgorithm::BERDecode (GH #569) 2018-01-21 08:45:02 -05:00
Jeffrey Walton befd04312d
Remove unneeded Doxygen directive 2018-01-19 14:31:20 -05:00
Jeffrey Walton a1deaf73c1 Revert "Update documentation"
This reverts commit 4050312. The version change used to build the documentation cross-polinated into the commit.
2018-01-19 08:04:46 -05:00
Jeffrey Walton 4050312025
Update documentation 2018-01-19 08:03:40 -05:00
Jeffrey Walton 13ea8f374f
Add interface to TweetNaCl library (#566)
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.
2018-01-17 22:02:09 -05:00
Jeffrey Walton 61ec50dabe
Change Doxygen comment style from //! to ///
Also see https://groups.google.com/forum/#!topic/cryptopp-users/A7-Xt5Knlzw
2017-11-29 10:54:33 -05:00
Jeffrey Walton 5a8e4d1545
Update documentation 2017-11-28 04:37:37 -05:00