Commit Graph

173 Commits

Author SHA1 Message Date
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
Jeffrey Walton
2d4614084a
Update documentation 2017-11-24 22:35:53 -05:00
Jeffrey Walton
14e33af525
Update documentation 2017-11-21 08:32:58 -05:00
Jeffrey Walton
156fedea7f Revert "Remove master-merge script"
This reverts commit d3dc091. A version number change used to build the docs cross-pollinated into the deletion of the script.
2017-11-16 12:53:33 -05:00
Jeffrey Walton
d3dc09120b
Remove master-merge script
We don't use branches for development because they pollute the logs on Master
2017-11-16 12:51:33 -05:00
Jeffrey Walton
50e3fd0d9a
Update comments 2017-11-13 14:28:16 -05:00