Lucas Gabriel Vuotto
666b833b98
Now that there are dedicated struct for initial parameters, make the HMAC params provide a lc_hash_ctx to be used internally. This makes HMAC less special and allows it to work with any hash, instead of needing dedicated inits and ctx_news. As an upside, now it's possible to have a one-pass HMAC. |
||
---|---|---|
lib | ||
wycheproof | ||
.gitignore | ||
aead_chacha20_poly1305.c | ||
aead.c | ||
aead.h | ||
auth_hmac.c | ||
auth_poly1305.c | ||
auth.c | ||
auth.h | ||
cipher_chacha20.c | ||
cipher.c | ||
cipher.h | ||
ct.c | ||
hash_sha224_sha256.c | ||
hash_sha384_sha512.c | ||
hash.c | ||
hash.h | ||
impl_chacha20.c | ||
impl_chacha20.h | ||
impl_hmac.h | ||
impl_poly1305.c | ||
impl_poly1305.h | ||
impl_sha256.c | ||
impl_sha256.h | ||
impl_sha512.c | ||
impl_sha512.h | ||
lilcrypto.h | ||
Makefile | ||
Makefile.inc | ||
README | ||
util.c | ||
util.h | ||
wycheproof_aead.c | ||
wycheproof_mac.c |
lilcrypto ========= > They see me rollin', they hatin'. Experiment on rolling my own crypto. Kinda. I'm not creating any new protocol, but implementing known algorithms and constructions. The main focus is to understand how to implement the math behind the algorithms, and to get to know the constructions better. Algorithms ========== Utilities --------- - Constant-time operations - [x] compare Hash ---- - [x] SHA-224 - [x] SHA-256 - [x] SHA-384 - [x] SHA-512 (needed for Ed25519) Authentication -------------- - [x] HMAC - [x] Poly1305 Ciphers ------- - [x] ChaCha20 - [x] XChaCha20 AEAD ---- - [x] ChaCha20-Poly1305 - [x] XChaCha20-Poly1305 ECC --- - Curve25519 - [ ] Ed25519 (EdDSA) - [ ] X25519 (ECDH) Nice-to-haves ============= Utilities --------- - [ ] Portable Makefile - [ ] NaCl interface - [ ] signify interface Hash ---- - [ ] SHA-512/224 & SHA-512/256 (most of the work done) Authentication -------------- - [ ] GMAC Ciphers ------- - [ ] AES - [ ] Camellia - [ ] Salsa20 (no Wycheproof test vector suite) - [ ] XSalsa20 (no Wycheproof test vector suite) AEAD ---- - [ ] AES-GCM - [ ] Camellia-GCM - [ ] Salsa20-Poly1305 (no Wycherproof test vector suite) - [ ] XSalsa20-Poly1305 (no Wycherproof test vector suite) KDF --- - [ ] HKDF