Commit Graph

117 Commits

Author SHA1 Message Date
cb32823248 hash: add xxhash implementation 2016-11-17 18:38:09 +11:00
5b44b8f3e0 hash/simple: forward arguments to hash function 2016-11-17 18:38:09 +11:00
a93dd90da9 types: remove elems function, prefer std::size
Now that std::size is part of our supported compilers we can remove the
old elems function.
2016-11-17 18:06:39 +11:00
9a798446b5 build: remove unnecessary includes
discovered with include-what-you-use
2016-10-12 15:08:22 +11:00
2015e71f64 build: workaround enum-to-int cast warnings in LOG calls 2016-10-11 21:44:04 +11:00
0b85632c97 ripemd: panic rather than throw in constexpr
calculating the hash should never need to throw; all error cases should
be detectable at construction time. we should panic if we detect such an
error.

this fixes a compilation warning
2016-08-01 17:23:30 +10:00
c4daffc001 build: add forgotten includes 2016-07-28 13:39:27 +10:00
e1c115c71a murmur2: make mixing constexpr and inline 2016-07-01 17:01:21 +10:00
6e533e47b7 hash/keccak: remove unused function 2016-06-29 17:55:30 +10:00
08536765b6 Merge branch 'crypto' 2016-06-20 18:08:46 +10:00
8d191fb2e1 hash/keccak: add initial sha3 base 2016-06-20 18:05:30 +10:00
bcda332900 hash/fwd: add forward declerations 2016-06-20 16:53:56 +10:00
f96c34d581 hash/simple: add simple oneshot hash calculator 2016-06-20 16:53:56 +10:00
33ade82ebf hash/md5: make header guards consistent with path 2016-06-20 16:53:56 +10:00
8824331c4b hash/crc: convert to object style accumulator 2016-06-20 16:53:56 +10:00
6338a85992 hash/bsdum: convert to object style accumulator 2016-06-20 16:38:57 +10:00
51e7995c63 hash/adler: convert to object style accumulator 2016-06-20 16:37:43 +10:00
73579f57aa hash: remove uint8/size_t update functions 2016-06-17 16:27:16 +10:00
ce26ce1238 hash: style 2016-06-17 16:20:09 +10:00
5e6155a51a hash: make use of restrict and noexcept consistent 2016-06-17 16:06:46 +10:00
ef17f9c7d1 hash: class decleration style 2016-06-17 15:57:09 +10:00
51487cd34e hash: put checksum functions into util:#️⃣: 2016-06-17 15:56:14 +10:00
aeba9033e0 hash: prefer iterator style over base/length 2016-06-17 15:46:11 +10:00
ba4b22c208 hash/md2: style 2016-06-17 15:37:54 +10:00
640b4aa6ca build: fix switch/enum coverage warnings
uncovered using clang's -Wswitch-enum
2016-05-12 17:45:29 +10:00
1f432c13b7 build: avoid type truncation warnings
discovered with clang's -Wshorten-64-to-32
2016-05-12 17:39:33 +10:00
9bbcfa6e63 make header paths more explicit 2016-04-05 11:06:35 +10:00
3993e561f8 unify licences 2016-02-26 13:36:01 +11:00
424e6e8701 cast: move types/casts to cast 2015-11-17 16:19:27 +11:00
7b083df977 maths: tighten up type requirements for almost_equal
almost_equal only operates on two reals, or two integers (and even then
only on the same signedness).
2015-11-13 17:18:10 +11:00
2469450ea9 murmur3: streamline 128 bit hash round functions
clang was getting tripped up calculating the tail half-rounds for the
128 bit hashes, so we streamline the round functions so it copes a
little better. plus, this is better code anyway.
2015-09-21 15:32:23 +10:00
72797793e9 h/murmur: remove unused source file 2015-06-04 22:18:00 +10:00
ff23146a68 hash: extract fnv1a hashes to new unit 2015-06-02 21:36:30 +10:00
588b38fd17 hash: move wang mixing funcs into seperate unit 2015-06-02 21:11:57 +10:00
3a4fed804a fasthash: add initial implementation 2015-05-28 12:17:25 +10:00
a61ea32228 murmurhash: add initial translation 2015-05-25 16:12:45 +10:00
7ae57730f0 whitespace 2015-04-13 18:06:08 +10:00
2658b41ea1 relicence under Apache-2.0 2015-04-13 18:05:28 +10:00
cbf385b570 hash/hmac: instantiate in containing namespace 2015-03-06 02:02:27 +11:00
29a148e2e5 hash/hotp: add simple HOTP implementation 2015-03-02 02:55:54 +11:00
cedcf90c3f hash/hmac: add HMAC-SHA1 support 2015-03-02 01:21:52 +11:00
c10e11c398 hash/hmac: allow keys greater than block length 2015-03-02 00:35:58 +11:00
cce9af76e3 style 2015-03-02 00:35:45 +11:00
f4fe636cb0 hash/hmac: add simple HMAC-MD5 2015-03-02 00:07:50 +11:00
277354807e hash/md5: fix blocksize block flushing on update 2015-03-02 00:05:30 +11:00
c4df8bf905 t/casts: simplify trunc_cast, combine size_cast 2015-02-17 16:20:46 +11:00
52f53caee5 debug: drop support for CHECK_HARD
HARD vs SOFT assertions were never very well defined or supported.
Currently they just imply a level of functionality that isn't present;
it's better to remove them instead of expending the effort at this
point.
2015-01-28 14:49:34 +11:00
3fd3b805af adler: fix c-style cast without const error 2014-10-20 12:55:59 +11:00
37ed0fc5fd hash: cleanup fletcher 2014-09-11 15:44:03 +10:00
018fcef146 hash: whitespace 2014-09-11 15:43:12 +10:00
332264a5be adler: add iterator style argument wrapper 2014-09-02 23:36:21 +10:00
a9bffcff08 sha1: give state enum a print operator 2014-07-02 15:40:20 +10:00
ca9db30ab4 sha1: style and whitespace 2014-07-02 15:39:53 +10:00
5a7ff4d20a build: silence sign promotion warnings 2014-07-02 15:38:05 +10:00
3c9c245075 sha1: remove dead store warning 2014-05-20 13:44:36 +10:00
304ddbfedd whitespace 2014-05-20 13:44:27 +10:00
b4a07538df hash: make finish public in accumulators 2014-05-09 14:43:40 +10:00
513b09c1c9 sha2: rename SHA2 class to SHA256
temporary rename for clarity in existing algorithm code. revisit when/if
we get implementations for each bit length.
2014-05-09 13:01:02 +10:00
a88379bf36 hash: add sha2 implementation 2014-04-16 19:17:56 +10:00
fc935863ef sha1: cleanup and fix test cases 2014-04-16 18:35:09 +10:00
b33cb706c8 Add RIPEMD160 implementation 2014-04-10 21:04:07 +10:00
a601b20683 Fix bitshifting wide types on 32bit platforms 2013-08-05 16:38:47 +10:00
db18432f1c Move all hash implementations to hash subdir 2013-07-13 14:40:13 +10:00
9bdc50df3c Add SHA1 implementation 2013-03-11 20:47:48 +11:00
7099c9bc50 Add MD5 implementation 2013-03-11 20:45:53 +11:00
905a2236a2 Add MD4 implementation 2013-03-11 20:44:32 +11:00
8df03fae81 Add MD2 implementation 2013-03-11 20:43:15 +11:00