Go to file
2024-06-16 02:08:03 +00:00
lib initial import 2024-05-31 10:59:58 +00:00
wycheproof wycheproof: make failfast mode the default 2024-06-08 13:44:18 +00:00
.gitignore Make .gitignore ignore all the obj/ directories 2024-05-31 11:48:43 +00:00
aead_chacha20_poly1305.c fold 2024-06-10 17:23:48 +00:00
aead.c Make params struct non-const 2024-06-09 15:09:15 +00:00
aead.h Remove ctx_new and ctx_free function pointers 2024-06-10 17:44:05 +00:00
auth_hmac.c Move *_impl to their returning functions 2024-06-16 01:51:00 +00:00
auth_poly1305.c Move *_impl to their returning functions 2024-06-16 01:51:00 +00:00
auth.c Remove ctx_new and ctx_free function pointers 2024-06-10 17:44:05 +00:00
auth.h Remove ctx_new and ctx_free function pointers 2024-06-10 17:44:05 +00:00
cipher_chacha20.c Move *_impl to their returning functions 2024-06-16 01:51:00 +00:00
cipher.c Remove ctx_new and ctx_free function pointers 2024-06-10 17:44:05 +00:00
cipher.h Remove ctx_new and ctx_free function pointers 2024-06-10 17:44:05 +00:00
ct.c ct/cmp: save the final shift by switching the direction of shifts 2024-06-11 02:29:00 +00:00
hash_sha224_sha256.c Move *_impl to their returning functions 2024-06-16 01:51:00 +00:00
hash_sha384_sha512.c Move *_impl to their returning functions 2024-06-16 01:51:00 +00:00
hash.c Remove ctx_new and ctx_free function pointers 2024-06-10 17:44:05 +00:00
hash.h Remove ctx_new and ctx_free function pointers 2024-06-10 17:44:05 +00:00
impl_chacha20.c Rename all algorithm-specific ctx to state 2024-06-15 21:13:31 +00:00
impl_chacha20.h Rename the state block buffers from m{,len} to b{,len} 2024-06-15 21:22:12 +00:00
impl_hmac.h Rename all algorithm-specific ctx to state 2024-06-15 21:13:31 +00:00
impl_poly1305.c Rename the state block buffers from m{,len} to b{,len} 2024-06-15 21:22:12 +00:00
impl_poly1305.h Rename the state block buffers from m{,len} to b{,len} 2024-06-15 21:22:12 +00:00
impl_sha256.c Rename the state block buffers from m{,len} to b{,len} 2024-06-15 21:22:12 +00:00
impl_sha256.h Rename the state block buffers from m{,len} to b{,len} 2024-06-15 21:22:12 +00:00
impl_sha512.c impl/sha512: fix indentation 2024-06-16 02:08:03 +00:00
impl_sha512.h Rename the state block buffers from m{,len} to b{,len} 2024-06-15 21:22:12 +00:00
lilcrypto.h auth/hmac: complete overhaul 2024-06-10 17:29:29 +00:00
Makefile initial import 2024-05-31 10:59:58 +00:00
Makefile.inc hash: implement SHA-{224,256} 2024-06-07 03:14:21 +00:00
README hash: implement SHA-{224,256} 2024-06-07 03:14:21 +00:00
util.c Zap dangling whitespaces 2024-06-10 17:44:20 +00:00
util.h Add hash interface and SHA-{384,512} implementations 2024-06-06 12:40:38 +00:00
wycheproof_aead.c Make params struct non-const 2024-06-09 15:09:15 +00:00
wycheproof_mac.c auth/hmac: complete overhaul 2024-06-10 17:29:29 +00:00

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