- Add Changelog
- Add NaCl public-key encryption via X25519 ECDH
Salchicha.box/4
Salchicha.box_open/4
Salchicha.generate_box_keypair/0
Salchicha.compute_shared_secret/2
- Add NaCl public-key message signing via Ed25519 EdDSA
Salchicha.sign/2
Salchicha.signature_valid?/3
Salchicha.generate_sign_keypair/0
- Add examples of public key crypto usage
- Improve docs
- Add examples for XSalsa20/XChaCha20 encryption/decryption
- Add additional type docs
- Change references of "block count" to "block counter" for clarity
- Fix typos
- Internal function
Salchicha.Salsa.xsalsa20_poly1305_decrypt/4
takescipher_text
andtag
as arguments instead of combined message.Salchicha.secretbox_open/3
remains unchanged. - Expose Salsa20 Poly1305 functions
Salchicha.Salsa.salsa20_poly1305_encrypt/3
Salchicha.Salsa.salsa20_poly1305_decrypt/4
- Improve docs and typespecs
- Add pure elixir implementations of ChaCha20/XChaCha20 Poly1305 functions in
Salchicha.Chacha
Salchicha.Chacha.chacha20_poly1305_encrypt_pure/4
Salchicha.Chacha.chacha20_poly1305_decrypt_pure/5
Salchicha.Chacha.xchacha20_poly1305_encrypt_pure/4
Salchicha.Chacha.xchacha20_poly1305_decrypt_pure/5
- Add
Salchicha.Chacha.chacha20_xor/4
stream cipher primitive
- Internal
Salchicha.Salsa
improvements- Verify MAC before decrypting remaining ciphertext
- Initial release
- Support XSalsa20 Poly1305
Salchicha.secretbox/3
Salchicha.secretbox_open/3
- Internal functions and primitives in
Salchicha.Salsa
- Support XChaCha20 Poly1305 in combined and detached modes
Salchicha.xchacha20_poly1305_encrypt/4
Salchicha.xchacha20_poly1305_decrypt/4
Salchicha.xchacha20_poly1305_encrypt_detached/4
Salchicha.xchacha20_poly1305_decrypt_detached/5
- Internal functions and primitives in
Salchicha.Chacha