Z racji ostatnio popularnych wybryków bibliotek(i) kryptograficznych postanowiłem napisać coś swojego od zera. Tak oto powstało:
https://github.com/libOctavo/octavo
Oczywiście praca jest w toku, ale trochę już jest zaimplementowane, a dokładniej:
- funkcje haszujące:
- MD4/5
- RIPEMD160
- SHA-1
- SHA-2/3 224/256/384/512
- Szyfry strumieniowe:
- ChaCha20
- Szyfry blokowe:
- Blowfish
- Asymetryczne:
- RSA
- MAC:
- HMAC (dla dowolnej funkcji haszującej [yay!])
- KDF:
-
bcrypt
(jeszcze nie wylądował w odpowiedniej do tego ścieżce)
Jednakowoż (co chyba jest oczywiste), żaden z tych szyfrów aktualnie nie nadaje się do użycia w poważniejszych zastosowaniach, gdyż wymaga to jeszcze wielu testów, nt. luk w implementacji (na pewno RSA jest podatne na ataki czasowe).
TODO:
- AES
- Salsa20
- GOST
- PBKDF2
- Whirpool
- Tiger
- DH
- ECDH
- DSA
- potstawowa implementacja TLS 1.1 (całość SSL chcę pominąć jako niedostatecznie bezpieczną)
Wszelkich zainteresowanych współpracą przyjmę z otwartymi rękoma. Każda forma współpracy mile widziana.