Dag-Erling Smørgrav
526303caad
WIP: CPE library.
2014-08-01 14:18:25 +00:00
Dag-Erling Smørgrav
cc8109c760
WIP: unit tests for managed strings.
2014-08-01 13:55:01 +00:00
Dag-Erling Smørgrav
bec11577b0
sbuf-inspired managed string implementation which also supports wide
...
strings.
2014-08-01 13:53:04 +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
c658232e3e
&& is subject to shortcut evaluation, so the second test will not run
...
if the first failed. The ultimate outcome is the same, but using &
instead ensures that, when in verbose mode, we also get output from
the second test.
2014-07-19 15:34:49 +00:00
Dag-Erling Smørgrav
063197ed28
tweak svn:ignore
2014-07-19 08:10:09 +00:00
Dag-Erling Smørgrav
bee81cd1fd
Prettier hex output
2014-07-19 06:06:33 +00:00
Dag-Erling Smørgrav
0023f57ab5
Add a library of general (non-cryptographic) hash functions, currently
...
consisting of the Pearson string hash function and the Murmur3-32 hash
function.
2014-07-19 06:03:57 +00:00
Dag-Erling Smørgrav
541d65a3cc
pacify autoindenters
2014-07-19 02:59:42 +00:00
Dag-Erling Smørgrav
49e46f74b1
Add unit tests for strlcpy()
2014-07-13 21:35:15 +00:00
Dag-Erling Smørgrav
d508e9ebc2
Missing newline character
2014-07-13 21:34:54 +00:00
Dag-Erling Smørgrav
6be7e6da5f
Add a check for buffer overflow
2014-07-13 21:33:46 +00:00
Dag-Erling Smørgrav
f1907404b1
Add a helper script for running the test suite with coverage analysis
...
enabled.
2014-07-13 21:21:43 +00:00
Dag-Erling Smørgrav
3ed82792fc
Fix a bug that affected unterminated buffers: strlcat() would write a NUL
...
past the end of the buffer and return one less than the correct length.
2014-07-13 20:42:56 +00:00
Dag-Erling Smørgrav
08208a1b3e
Add unit tests for strlcat()
2014-07-13 20:40:29 +00:00
Dag-Erling Smørgrav
973b68c4fa
Style nits
2014-07-13 20:39:57 +00:00
Dag-Erling Smørgrav
023d9aefaa
Add comparison functions for various integer types.
2014-07-13 20:39:00 +00:00
Dag-Erling Smørgrav
4c59fd979b
Reorganize the configure script. Move the header and function checks
...
up so they're not affected by the debugging / developer options.
2014-07-13 19:59:58 +00:00
Dag-Erling Smørgrav
c9536ec04b
Add tests for the carry operation in sha384 and sha512, which support
...
message of up to 2^128 bytes and therefore must use a high / low pair.
2014-07-12 22:12:38 +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
a9e8aed740
Formatting nit
2014-07-11 22:29:02 +00:00
Dag-Erling Smørgrav
8c9c5f26e4
Take advantage of t_compare_mem().
2014-07-11 22:26:23 +00:00
Dag-Erling Smørgrav
891ac33286
Typo in svn:ignore
2014-07-11 22:16:42 +00:00
Dag-Erling Smørgrav
2b1d10e02e
Oops, fix copy-pasto in previous commit.
2014-07-11 22:15:57 +00:00
Dag-Erling Smørgrav
a4576782b2
Add generic comparison functions.
2014-07-11 22:10:09 +00:00
Dag-Erling Smørgrav
7f410bdfd3
Silence a GCC warning about an empty if statement.
2014-07-11 15:14:23 +00:00
Dag-Erling Smørgrav
18650540d8
Avoid hardcoded lengths. This fixes a bug in the HMAC-SHA224 tests.
2014-07-11 15:09:59 +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
25e162687e
Credit upstream sources.
2014-07-11 13:08:39 +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
17d3517f3a
Forgot to svn add t_const.c.
2014-07-11 12:50:43 +00:00
Dag-Erling Smørgrav
8e786c5a98
Introduce t_zero (a 256-byte array of zeroes) and t_seq8 (a 256-byte array
...
counting up from zero). Use them to simplify the HMAC-SHA1 test vectors.
2014-07-11 12:46:23 +00:00
Dag-Erling Smørgrav
b3a718a7ff
Oops, use the correct keys
2014-07-11 11:28:01 +00:00
Dag-Erling Smørgrav
0681394b23
Replace the FIPS-198 test vectors with those from the NIST CSRC's
...
algorithm example page.
2014-07-11 11:21:19 +00:00
Dag-Erling Smørgrav
5bb81214cc
Instead of storing the key in the hmac_sha1_ctx so we can compute the
...
output pad in hmac_sha1_final(), prepare a sha1 context in advance and
discard the key as early as possible.
Inspired by Colin Percival's HMAC-SHA-256 implementation.
2014-07-11 10:28:55 +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
4467480786
Remove a mostly pointless timing attack countermeasure.
2014-07-11 09:09:47 +00:00
Dag-Erling Smørgrav
cd10966e07
Make the performance tests conditional on a run-time environment variable
...
rather than a build-time option.
2014-07-11 00:18:34 +00:00
Dag-Erling Smørgrav
7c9b8f108a
Reorder for consistency
2014-07-11 00:16:52 +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
c41c51d901
Reorder for consistency
2014-07-11 00:10:48 +00:00
Dag-Erling Smørgrav
63bcbcca20
Rename the HMAC-SHA1 code.
2014-07-10 23:57:47 +00:00