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
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
4c17e0f386
Empty and unlikely to ever be used.
2014-07-10 18:01:40 +00:00
Dag-Erling Smørgrav
b6578d1bd2
Fix props again again... why does this keep happening?
2014-07-10 17:59:50 +00:00
Dag-Erling Smørgrav
412eb72e48
Order copyright statements alphabetically (Devine < Percival <
...
Smørgrav < University).
2014-07-10 17:24:56 +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
efd34d4cc7
In an earlier version of the API, the _init function was responsible
...
for allocating the context structure. This is no longer the case, but
the _init function type was not updated to reflect this.
2014-07-10 15:37:40 +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
0d22f2f203
Standard files that "make dist" complains about.
2014-07-10 14:44:17 +00:00
Dag-Erling Smørgrav
bb9690cd94
We need to distribute (but not install) these headers.
2014-07-10 14:39:28 +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
2f3ecfa7ba
Fix include guard, and always declare the functions.
2014-07-10 13:40:23 +00:00
Dag-Erling Smørgrav
03dbd212fa
Set svn:ignore
2014-07-10 13:34:18 +00:00
Dag-Erling Smørgrav
77202e13a8
Update setprops and fix props again
2014-07-10 13:33:08 +00:00
Dag-Erling Smørgrav
6da2e5388a
Unbreak the performance tests.
2014-07-10 13:30:48 +00:00
Dag-Erling Smørgrav
b7c8a6f6ae
Fix props
2014-07-10 13:17:47 +00:00
Dag-Erling Smørgrav
41c2325beb
Fix copyright; this originated in OpenPAM.
2014-07-04 11:34:25 +00:00
Dag-Erling Smørgrav
5c33011d59
Add missing header
2014-07-04 11:26:45 +00:00
Dag-Erling Smørgrav
25b5dd2e33
Add missing unit test for RFC 3986 support
2014-07-04 11:23:28 +00:00