aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/passhash
Commit message (Collapse)AuthorAgeFilesLines
* Support salts other than exactly 16 bytes for Blowfish key setupJack Lloyd2018-07-181-4/+14
| | | | | | Bcrypt only needs 16 byte salts but unfortunately Bcrypt-PBKDF is defined to use 64 byte salts instead. So extend support to handle any salt that is a multiple of 4 bytes.
* Update password hashing default settingsJack Lloyd2018-07-133-3/+5
| | | | | | | | Bcrypt work factor 10 is looking pretty low these days, as is 100K iterations of PBKDF2. Increase bcrypt to 12 and PBKDF2 to 150K, and also transition passhash9 to using SHA-512 instead of SHA-256. Also document bcrypt better, and add speed tests for bcrypt and passhash9
* Support bcrypt 2b and 2yJack Lloyd2018-06-292-12/+36
| | | | | | | Continue to default to 2a since older versions don't know about 2b. Both 2b and 2y are identical to our implementation of 2a since we never implemented the relevant bugs which necessitated the new formats.
* Add passhash9 tests for edge casesJack Lloyd2017-12-281-2/+2
| | | | And correct exception message which referred to bcrypt
* Convert http:// links to https:// where possibleJack Lloyd2017-10-241-1/+1
|
* Add wrappers for reinterpret_cast between char* and uint8_t*Jack Lloyd2017-10-031-2/+2
| | | | | | | Generally speaking reinterpret_cast is sketchy stuff. But the special case of char*/uint8_t* is both common and safe. By isolating those, the remaining (likely sketchy) cases are easier to grep for.
* Add missing header includesJack Lloyd2017-09-212-0/+2
|
* Header file cleanupsJack Lloyd2017-09-214-3/+9
| | | | Some help from include-what-you-use
* Change header guard format to BOTAN_FOO_H_Jack Lloyd2017-09-202-4/+4
| | | | | | ISO C++ reserves names with double underscores in them Closes #512
* Complete the final annotation changesJack Lloyd2017-09-191-1/+1
|
* Add API stability annotations.Jack Lloyd2017-09-192-4/+4
| | | | | Defined in build.h, all equal to BOTAN_DLL so ties into existing system for exporting symbols.
* Use constant_time_compare instead of same_memJack Lloyd2017-09-161-1/+1
| | | | New name, same great operation
* Small cleanup in bcryptJack Lloyd2017-09-161-3/+3
|
* More MSVC warnings fixesJack Lloyd2017-08-311-1/+1
|
* Add is_passhash9_alg_supported()René Korthaus2017-08-192-0/+15
|
* Remove "Dirty hack" for multiple defines in lex_me_harder()Simon Warta2017-04-022-3/+6
|
* Convert to using standard uintN_t integer typesJack Lloyd2016-12-184-26/+26
| | | | | | Renames a couple of functions for somewhat better name consistency, eg make_u32bit becomes make_uint32. The old typedefs remain for now since probably lots of application code uses them.
* Reroot the exception hierarchy into a toplevel Exception classJack Lloyd2015-12-111-1/+1
| | | | | | | | As the alternatives are unfortunate for applications trying to catch all library errors, and it seems deriving from std::runtime_error causes problems with MSVC DLLs (GH #340) Effectively reverts 2837e915d82e43
* Remove use of lookup.h in favor of new T::create API.Jack Lloyd2015-09-211-11/+10
|
* Don't put pointers into vector iterator constructor in make_bcryptSimon Warta2015-07-091-2/+2
|
* lib/passhash: Convert &vec[0] to vec.data()Simon Warta2015-06-232-7/+7
|
* Cleanupslloyd2015-03-231-15/+10
|
* Modify interfaces of KDF and PBKDF to write output to an array, withlloyd2015-02-181-2/+4
| | | | higher level functions on interface handling returning a vector.
* Remove algo factory, engines, global RNG, global state, etc.lloyd2015-02-042-2/+0
| | | | | | | | | | | | | | | Convert all uses of Algorithm_Factory and the engines to using Algo_Registry The shared pool of entropy sources remains but is moved to EntropySource. With that and few remaining initializations (default OIDs and aliases) moved elsewhere, the global state is empty and init and shutdown are no-ops. Remove almost all of the headers and code for handling the global state, except LibraryInitializer which remains as a compatability stub. Update seeding for blinding so only one hacky almost-global RNG instance needs to be setup instead of across all pubkey uses (it uses either the system RNG or an AutoSeeded_RNG if the system RNG is not available).
* Add missing files. Remove cipher lookup from engine code.lloyd2015-02-011-8/+6
|
* Ensure all files have copyright and license info.lloyd2015-01-104-4/+4
| | | | | Update license header line to specify the terms and refer to the file, neither of which it included before.
* Remove use of filters/pipelloyd2014-11-192-25/+13
|
* Move lib into srclloyd2014-01-106-0/+397