Dag-Erling Smørgrav
398abda6b0
Fix various bugs relating to digest algorithm registration and wrapping
2015-10-03 09:32:44 +00:00
Dag-Erling Smørgrav
8d087eeb64
Fix endian.h includes
2015-10-03 09:31:57 +00:00
Dag-Erling Smørgrav
f99073058c
Whitespace cleanup to reduce diffs between SHA-512 and SHA-384.
2015-09-15 10:09:09 +00:00
Dag-Erling Smørgrav
a98753b6ef
Fix various cast-qual bugs.
2014-12-20 00:44:24 +00:00
Dag-Erling Smørgrav
6ed802ddf3
Consistently use #if HAVE_FOO instead of #ifdef HAVE_FOO. The reason is
...
that AC_CHECK_DECLS([foo]), unlike AC_CHECK_FUNCS([foo]), will always
define HAVE_FOO, so #ifdef HAVE_FOO will always be true even if it is 0.
This commit finally fixes the [bl]e{32,64}{enc,dec} issue on Linux.
2014-12-20 00:38:54 +00:00
Dag-Erling Smørgrav
f7bdd342dc
Add our own version of <endian.h> which includes implementations of the
...
unaligned encoding / decoding functions which Linux lacks.
2014-10-30 12:48:21 +00:00
Dag-Erling Smørgrav
479ffbba4a
Remove author and sponsor tags; we'll deal with that some other way.
...
Remove $Cryb$ tags as it is likely that the code will move to git.
2014-08-01 14:31:07 +00:00
Dag-Erling Smørgrav
fe2d45ad56
Create rol / ror functions for all integer sizes.
2014-07-19 15:36:07 +00:00
Dag-Erling Smørgrav
910c782b2f
In the md4 code, use a 64-bit counter to avoid a manual carry operation.
2014-07-12 22:10:57 +00:00
Dag-Erling Smørgrav
340b3240cf
Consistently use const void * for data and keys, uint8_t * for digests
...
and MACs, and uint8_t, uint32_t or uint64_t (as appropriate) for internal
state. Also remove a few unnecessary casts.
2014-07-12 21:57:31 +00:00
Dag-Erling Smørgrav
30c8e19de7
Remove HMAC-MD2 and HMAC-MD4. They may or may not reappear at a later
...
date in libcryb-mac.
2014-07-11 13:54:22 +00:00
Dag-Erling Smørgrav
729e501b79
Mechanical whitespace cleanup
2014-07-11 13:40:06 +00:00
Dag-Erling Smørgrav
2c697a472b
Implement SHA-224 and HMAC-SHA224.
2014-07-11 13:33:58 +00:00
Dag-Erling Smørgrav
6aa7f9a0e6
Implement HMAC-SHA{256,384,512} and add unit tests. Remove pre-existing
...
HMAC implementations from the libcperciva and XySSL code.
2014-07-11 13:01:32 +00:00
Dag-Erling Smørgrav
950a1770e5
Breathe
2014-07-11 10:11:18 +00:00
Dag-Erling Smørgrav
26b512bfd7
Eliminate a variable
2014-07-11 10:10:50 +00:00
Dag-Erling Smørgrav
8f42136d40
Trust the compiler to eliminate unnecessary conversions.
2014-07-11 10:07:24 +00:00
Dag-Erling Smørgrav
fd77c1c38e
Unroll the loop in sha1_compute(), speeding it up by about 50%.
2014-07-11 09:58:58 +00:00
Dag-Erling Smørgrav
dffacacccf
The spec says XOR here, not OR. Interestingly, it doesn't seem to
...
make any difference.
2014-07-11 09:45:29 +00:00
Dag-Erling Smørgrav
cc13b6a16a
Remove k from the sha1 context structure, as it is a constant.
...
Rearrange the sha1 context structure to improve alignment.
2014-07-11 09:17:05 +00:00
Dag-Erling Smørgrav
ca46c7c591
Fully separate the SHA-384 and SHA-512 code.
2014-07-11 00:12:33 +00:00
Dag-Erling Smørgrav
b0ff5af2ba
Clean up headers and typedefs.
...
Fix context length in the algorithm descriptors.
Expose the block length and include it in the algorithm descriptors.
Complete the list of available digest algorithms.
2014-07-10 18:09:47 +00:00
Dag-Erling Smørgrav
dff909ba65
Spell the name of the University of Oslo in English.
2014-07-10 17:15:54 +00:00
Dag-Erling Smørgrav
593125c353
Import sha256 from libcperciva
...
Import md2, md4, sha384 and sha512 from XySSL
2014-07-10 14:51:07 +00:00
Dag-Erling Smørgrav
1d2f0661b3
Clean up namespace macros and provide algorithm definitions.
2014-07-10 13:53:05 +00:00
Dag-Erling Smørgrav
601403cba3
Use custom keywords.
2014-07-04 11:20:46 +00:00
Dag-Erling Smørgrav
ae99587ba4
initial code drop
2014-07-04 11:18:53 +00:00