bls12-381-hash

Implementation of some cryptographic hash primitives using the scalar field of BLS12-381
README

Use with caution before release 1.0.0

This library provides a fast implementation of:

  • an instantiation of
    Poseidon providing a security of
    128 bits. See the
    documentation

    for more information on the used parameters.

  • an instantiation of
    Rescue providing a security of
    128 bits. See the
    documentation

    for more information on the used parameters.

  • an instantiation of Anemoi providing a
    security of 128 bits. See the
    documentation

    for more information on the used parameters.

Install

Use a local switch for development

opam switch create ./ 4.14.0
dune build

Install in an existing local switch

# for the latest published version in ocaml/opam-repository
opam install bls12-381-hash
# for the dev version
opam pin add bls12-381-hash.dev git+https://gitlab.com/dannywillems/ocaml-bls12-381-hash\#main

Run tests

dune runtest

To get the coverage:

dune runtest --instrument-with bisect_ppx --force
bisect-ppx-report html

Run the benchmarks

Install core_bench:

opam install core_bench

See files listed in the directory benchmark and execute it with dune exec. For instance:

dune exec ./benchmark/bench_anemoi.exe

Documentation

opam install odoc
dune build @doc
Install
Published
04 Oct 2022
Sources
ocaml-bls12-381-hash-0.0.3.tar.bz2
md5=0674b0cad13d63d3685b35a5e6941674
sha512=8ad3f3105a413a98f09bbed2505bcad5bada8ae3b350a6d1a0d1d770e7726a6684a6d3f1d0a9e9fc249bff8374dbbd6a0c6fbd56a618d999bab1dce34174064c
Dependencies
bisect_ppx
with-test & >= "2.5"
alcotest
with-test
bls12-381
>= "5.0.0"
dune
>= "2.8.4"
ocaml
>= "4.12"
Reverse Dependencies