cryb-to/include/cryb
Dag-Erling Smørgrav d2d16d26da Make rolN / rorN safe for all counts.
The current version invokes undefined behavior when the count is negative, zero, or equal to or greater than the width of the operand.  The new version masks the count to avoid these situations.  Although branchless, it is relatively inefficient if the compiler does not recognize it and translate it to a rol or ror instruction.  Empirical tests show that both clang and gcc get it right for constant counts, and recent versions of clang (but not gcc) get it right for variable counts as well.  Note that our current code base has no instances of rolN / rorN with a variable count.
2017-04-06 19:55:27 +02:00
..
aes.h Remove unused struct member. 2017-04-06 19:51:46 +02:00
algorithm.h Mechanically bump copyright dates to the date of the latest commit. 2017-02-19 20:07:43 +01:00
assert.h Implement our own assert() and, more importantly, assertf(). 2016-11-14 13:00:51 +01:00
bitwise.h Make rolN / rorN safe for all counts. 2017-04-06 19:55:27 +02:00
chacha.h Implement the ChaCha family of stream ciphers. 2017-04-06 19:51:45 +02:00
cipher.h Second iteration of the cryb-cipher API. 2017-04-06 19:51:45 +02:00
core.h Mechanically bump copyright dates to the date of the latest commit. 2017-02-19 20:07:43 +01:00
coverage.h Mechanically bump copyright dates to the date of the latest commit. 2017-02-19 20:07:43 +01:00
cpe.h Mechanically bump copyright dates to the date of the latest commit. 2017-02-19 20:07:43 +01:00
ctype.h Mechanically bump copyright dates to the date of the latest commit. 2017-02-19 20:07:43 +01:00
defs.h Tidy up the headers a bit and make them C++-safe. 2016-10-03 12:31:16 +02:00
des.h Fix typo, add missing declarations. 2017-04-06 19:51:46 +02:00
digest.h Mechanically bump copyright dates to the date of the latest commit. 2017-02-19 20:07:43 +01:00
enc.h Mechanically bump copyright dates to the date of the latest commit. 2017-02-19 20:07:43 +01:00
endian.h Adjust UiO copyright. 2017-04-06 19:51:46 +02:00
hash.h Mechanically bump copyright dates to the date of the latest commit. 2017-02-19 20:07:43 +01:00
hmac.h Mechanically bump copyright dates to the date of the latest commit. 2017-02-19 20:07:43 +01:00
hmac_sha1.h Tidy up the headers a bit and make them C++-safe. 2016-10-03 12:31:16 +02:00
hmac_sha224.h Tidy up the headers a bit and make them C++-safe. 2016-10-03 12:31:16 +02:00
hmac_sha256.h Tidy up the headers a bit and make them C++-safe. 2016-10-03 12:31:16 +02:00
hmac_sha384.h Tidy up the headers a bit and make them C++-safe. 2016-10-03 12:31:16 +02:00
hmac_sha512.h Tidy up the headers a bit and make them C++-safe. 2016-10-03 12:31:16 +02:00
impl.h Mechanically bump copyright dates to the date of the latest commit. 2017-02-19 20:07:43 +01:00
mac.h Mechanically bump copyright dates to the date of the latest commit. 2017-02-19 20:07:43 +01:00
Makefile.am Implement DES (single-key ECB only for now). 2017-04-06 19:51:45 +02:00
md.h Remove author and sponsor tags; we'll deal with that some other way. 2014-08-01 14:31:07 +00:00
md2.h Major cleanup of the MD and SHA digests. 2017-04-06 19:51:46 +02:00
md4.h Major cleanup of the MD and SHA digests. 2017-04-06 19:51:46 +02:00
md5.h Major cleanup of the MD and SHA digests. 2017-04-06 19:51:46 +02:00
memset_s.h Fix a couple of header errors. 2016-11-14 13:04:32 +01:00
mpi.h Implement MPI division. 2017-04-06 19:52:23 +02:00
nocoverage.h Remove author and sponsor tags; we'll deal with that some other way. 2014-08-01 14:31:07 +00:00
oath.h Remove an unused header and fix some naming nits. 2017-03-06 23:40:05 +01:00
oath_constants.h Remove an unused header and fix some naming nits. 2017-03-06 23:40:05 +01:00
oath_hotp.h Mechanically bump copyright dates to the date of the latest commit. 2017-02-19 20:07:43 +01:00
oath_totp.h Mechanically bump copyright dates to the date of the latest commit. 2017-02-19 20:07:43 +01:00
oath_types.h Tidy up the headers a bit and make them C++-safe. 2016-10-03 12:31:16 +02:00
rand.h Mechanically bump copyright dates to the date of the latest commit. 2017-02-19 20:07:43 +01:00
rc4.h Second iteration of the cryb-cipher API. 2017-04-06 19:51:45 +02:00
rfc3986.h Mechanically bump copyright dates to the date of the latest commit. 2017-02-19 20:07:43 +01:00
rfc4648.h Tidy up the headers a bit and make them C++-safe. 2016-10-03 12:31:16 +02:00
salsa.h Implement the Salsa family of stream ciphers. 2017-04-06 19:51:45 +02:00
sha.h Remove author and sponsor tags; we'll deal with that some other way. 2014-08-01 14:31:07 +00:00
sha1.h Major cleanup of the MD and SHA digests. 2017-04-06 19:51:46 +02:00
sha224.h Major cleanup of the MD and SHA digests. 2017-04-06 19:51:46 +02:00
sha256.h Major cleanup of the MD and SHA digests. 2017-04-06 19:51:46 +02:00
sha384.h Major cleanup of the MD and SHA digests. 2017-04-06 19:51:46 +02:00
sha512.h Major cleanup of the MD and SHA digests. 2017-04-06 19:51:46 +02:00
string.h Mechanically bump copyright dates to the date of the latest commit. 2017-02-19 20:07:43 +01:00
strlcat.h Mechanically bump copyright dates to the date of the latest commit. 2017-02-19 20:07:43 +01:00
strlcmp.h Mechanically bump copyright dates to the date of the latest commit. 2017-02-19 20:07:43 +01:00
strlcpy.h Mechanically bump copyright dates to the date of the latest commit. 2017-02-19 20:07:43 +01:00
test.h Annotate t_add_test() as printf()-like and fix the fallout. 2017-03-14 15:07:02 +01:00
to.h Bump version. 2017-04-06 19:51:46 +02:00
wcslcat.h Tidy up the headers a bit and make them C++-safe. 2016-10-03 12:31:16 +02:00
wcslcmp.h Tidy up the headers a bit and make them C++-safe. 2016-10-03 12:31:16 +02:00
wcslcpy.h Tidy up the headers a bit and make them C++-safe. 2016-10-03 12:31:16 +02:00
wstring.h Mechanically bump copyright dates to the date of the latest commit. 2017-02-19 20:07:43 +01:00