Lucas Gabriel Vuotto
f511cddf0d
They both will only alloc and free the internal *_ctx structs. Get rid of the void * argument for new and only pass arg to *_free instead of the whole lc_*_ctx struct. |
||
---|---|---|
lib | ||
wycheproof | ||
.gitignore | ||
aead_chacha20_poly1305.c | ||
aead.c | ||
aead.h | ||
auth_poly1305.c | ||
auth_poly1305.h | ||
auth.c | ||
auth.h | ||
cipher_chacha20.c | ||
cipher_chacha20.h | ||
cipher.c | ||
cipher.h | ||
ct.c | ||
impl_chacha20.c | ||
impl_chacha20.h | ||
impl_poly1305.c | ||
impl_poly1305.h | ||
lilcrypto.h | ||
Makefile | ||
Makefile.inc | ||
README | ||
util.c | ||
util.h | ||
wycheproof_aead.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 - [/] compare: returns `0` if match, non-`0` otherwise. The non-`0` case might leak information. Would be better to return `0xffffffff` if match, `0` otherwise. Authentication -------------- - [x] Poly1305 - [ ] SHA-512 (needed for Ed25519) Ciphers ------- - [x] ChaCha20 - [ ] XChaCha20 AEAD ---- - [x] ChaCha20-Poly1305 - [ ] XChaCha20-Poly1305 ECC --- - Curve25519 - [ ] Ed25519 (EdDSA) - [ ] X25519 (ECDH) Nice-to-haves ============= Utilities --------- - [ ] Portable Makefile - [ ] NaCl interface - [ ] signify interface 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? ----