aboutsummaryrefslogtreecommitdiff
path: root/hash.c
AgeCommit message (Collapse)Author
2015-09-08Merge branch 'master' into ecdsaRob Austein
This required a bit of manual cleanup in hal.h, hash.c, and rsa.c. No intended changes to functionality provided by parent comments, just a few tweaks to track API changes beyond git's ken.
2015-09-06Add ECPoint I/O functions. ASN.1 cleanup.Rob Austein
2015-09-02Clean up excessively complicated handling of opaque types in hash andRob Austein
RSA code; use simpler model (pointer to incomplete structure) used in ECDSA code. Refactor RSA code to use shared ASN.1 routines.
2015-07-18Add support for dynamic allocation of hash and HMAC state, for casesRob Austein
where it's unavoidable.
2015-07-17First cut at libhal support for hash cores with ability to save andRob Austein
restore internal state. Compiles, not yet tested.
2015-06-21libcryptech -> libhal, doh.Rob Austein
2015-06-21Add digest algorithm IDs.Rob Austein
2015-06-05HMAC for truncated SHA-512 digests would probably work better if weRob Austein
used the right digest length constants. Doh.
2015-06-04First cut at PBKDF2.Rob Austein
2015-06-04Disable HMAC-SHA-384 tests as neither my implementation nor PyCryptoRob Austein
passes them. Add missing copyright notices, other trivial cleanup (whitespace, etc).
2015-06-04Whoops, we're supposed to hash an entire block for the key regardlessRob Austein
of how long the key is. With this fix, HMAC passes tests on Novena.
2015-06-04HMAC implementation and test vectors.Rob Austein
2015-06-04Refactor hash code prior to adding HMAC (which we need for PBKDF2).Rob Austein
Main changes: moving the ten zillion core-related constants from closures into a driver structure, rework API to the more common initialize/update/finalize because it's easier to understand, particularly with HMAC.
2015-05-25Cleanup: names of *_core_present() functions, Makefile.Rob Austein
2015-05-24Debug hash-testing code.Rob Austein
2015-05-20Add AES Key Wrap using Cryptech AES core.Rob Austein
2015-05-20Add csprng and hash modules. Add real error codes instead of magicRob Austein
numbers, and propegate error codes up from lower layers. Whack C++-isms, add parenthesese to a lot of macro expressions for evaluation safety, other minor cleanup.