You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
3 weeks ago | |
---|---|---|
.reuse | 10 months ago | |
LICENSES | 8 months ago | |
doc | 7 months ago | |
lib | 7 months ago | |
test | 7 months ago | |
.gitignore | 10 months ago | |
.ocamlformat | 10 months ago | |
README.md | 8 months ago | |
dune-project | 7 months ago | |
eris-lwt.opam | 7 months ago | |
eris.opam | 7 months ago | |
eris_cbor.opam | 7 months ago | |
guix.scm | 3 weeks ago |
README.md
ocaml-eris
OCaml implementation of the Encoding for Robust Immutable Storage (ERIS).
This library can be used to encoded and decode content with ERIS. Features include:
- Streaming encoding
- Random-access decoder
- Cross-platform support
Cryptographic Primitives
We provide multiple implementations of the necessary cryptographic primitives (Blake2b and ChaCha20). End-users can choose which implementation to use by specifying the package in their dependencies. Currently following implementations are provided:
eris.crypto-monocypher
: Uses the Monocypher cryptographic library via the ocaml-monocypher bindings. This implementation works well on the Unix platform and is selected by default.eris.crypto-zig
: Uses the cryptographic primitives provided in the Zig standard library. This implementation works on the Unix platform and requires the Zig compiler installed.eris.crypto-wasm
: Uses the cryptographic primitives provided by the Zig standard library compiled to WASM. This implementation can be used with js_of_ocaml and requires the Zig compiler installed. The WASM code is bundled using Crunch so users do not need to worry about provisioning or loading WASM.
A pure OCaml implementation of Blake2b and ChaCha20 would be very nice.
See also the Digestif project that uses the same linking trick.