2024-05-31 12:59:58 +02: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
|
2024-06-06 15:49:25 +02:00
|
|
|
- [x] compare
|
2024-06-27 00:42:04 +02:00
|
|
|
- [x] mask32: return a 1s mask if any bit is set, 0 otherwise
|
2024-06-17 16:41:38 +02:00
|
|
|
- Hexdump
|
2024-05-31 12:59:58 +02:00
|
|
|
|
2024-06-06 14:40:38 +02:00
|
|
|
Hash
|
|
|
|
----
|
|
|
|
|
2024-06-07 05:14:21 +02:00
|
|
|
- [x] SHA-224
|
|
|
|
- [x] SHA-256
|
2024-06-06 14:40:38 +02:00
|
|
|
- [x] SHA-384
|
2024-06-17 16:41:20 +02:00
|
|
|
- [x] SHA-512
|
|
|
|
- [x] SHA-512/224 & SHA-512/256
|
2024-06-06 14:40:38 +02:00
|
|
|
|
2024-05-31 12:59:58 +02:00
|
|
|
Authentication
|
|
|
|
--------------
|
|
|
|
|
2024-06-06 14:41:44 +02:00
|
|
|
- [x] HMAC
|
2024-05-31 12:59:58 +02:00
|
|
|
- [x] Poly1305
|
|
|
|
|
|
|
|
Ciphers
|
|
|
|
-------
|
|
|
|
|
|
|
|
- [x] ChaCha20
|
2024-06-07 04:18:50 +02:00
|
|
|
- [x] XChaCha20
|
2024-05-31 12:59:58 +02:00
|
|
|
|
|
|
|
AEAD
|
|
|
|
----
|
|
|
|
|
2024-06-01 00:03:52 +02:00
|
|
|
- [x] ChaCha20-Poly1305
|
2024-06-07 04:18:50 +02:00
|
|
|
- [x] XChaCha20-Poly1305
|
2024-05-31 12:59:58 +02:00
|
|
|
|
|
|
|
ECC
|
|
|
|
---
|
|
|
|
|
|
|
|
- Curve25519
|
|
|
|
- [ ] Ed25519 (EdDSA)
|
|
|
|
- [ ] X25519 (ECDH)
|
|
|
|
|
2024-06-18 16:30:06 +02:00
|
|
|
KDF
|
|
|
|
---
|
|
|
|
|
|
|
|
- [x] HKDF
|
|
|
|
|
|
|
|
|
2024-05-31 12:59:58 +02:00
|
|
|
Nice-to-haves
|
|
|
|
=============
|
|
|
|
|
|
|
|
Utilities
|
|
|
|
---------
|
|
|
|
|
|
|
|
- [ ] Portable Makefile
|
|
|
|
- [ ] NaCl interface
|
|
|
|
- [ ] signify interface
|
|
|
|
|
2024-06-06 14:40:38 +02:00
|
|
|
Hash
|
|
|
|
----
|
|
|
|
|
2024-05-31 12:59:58 +02:00
|
|
|
Authentication
|
|
|
|
--------------
|
|
|
|
|
|
|
|
- [ ] GMAC
|
|
|
|
|
|
|
|
Ciphers
|
|
|
|
-------
|
|
|
|
|
|
|
|
- [ ] AES
|
|
|
|
- [ ] Camellia
|
|
|
|
- [ ] Salsa20 (no Wycheproof test vector suite)
|
|
|
|
- [ ] XSalsa20 (no Wycheproof test vector suite)
|
|
|
|
|
|
|
|
AEAD
|
|
|
|
----
|
|
|
|
|
|
|
|
- [ ] AES-GCM
|
|
|
|
- [ ] Camellia-GCM
|
2024-06-18 16:35:22 +02:00
|
|
|
- [ ] Salsa20-Poly1305 (no Wycheproof test vector suite)
|
|
|
|
- [ ] XSalsa20-Poly1305 (no Wycheproof test vector suite)
|