summaryrefslogtreecommitdiff
path: root/README.md
blob: fff1c2ba177e5718948bd33925289b30aaf1f93f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
<!--
SPDX-FileCopyrightText: 2020 pukkamustard <pukkamustard@posteo.net>

SPDX-License-Identifier: CC0-1.0
-->

# erlang-monocypher

Erlang (NIF) bindings to the [Monocypher](https://monocypher.org/) crypto library.

## Monocypher

This package includes the [Monocypher](https://monocypher.org/) cryptographic library version 3.1.1, which is dedicated to the public domain via CC0-1.0.

### Functions

Only a very limited set of functions from Monocypher are bound in the Erlang module.

Contributions are very welcome! Please email pukkamustard@posteo.net.

See also the [Monocypher documentation](https://monocypher.org/manual/).

#### Authenticated Encryption

- [X] `crypto_lock`
- [X] `crypto_unlock`
- [ ] `crypto_lock_aead`
- [ ] `crypto_unlock_aead`

#### Hashing

- [X] `crypto_blake2b`
- [X] `crypto_blake2b_general`
- [ ] `crypto_blake2b_init`
- [ ] `crypto_blake2b_general_init`
- [ ] `crypto_blake2b_update`
- [ ] `crypto_blake2b_final`

#### IETF ChaCha20

- [X] `crypto_ietf_chacha20`
- [X] `crypto_ietf_chacha20_ctr`

#### Ed25519

- [X] `crypto_ed25519_public_key`
- [X] `crypto_ed25519_sign`
- [X] `crypto_ed25519_check`

## Acknowledgments

erlang-monocypher was initially developed for the [openEngiadina](https://openengiadina.net) project and has been supported by the [NLNet Foundation](https://nlnet.nl/) trough the [NGI0 Discovery Fund](https://nlnet.nl/discovery/).

## License

LGPL-3.0-or-later