package bls12-381-hash

  1. Overview
  2. Docs
Implementation of some cryptographic hash primitives using the scalar field of BLS12-381

Install

Dune Dependency

Authors

Maintainers

Sources

ocaml-bls12-381-hash-0.0.3.tar.bz2
md5=0674b0cad13d63d3685b35a5e6941674
sha512=8ad3f3105a413a98f09bbed2505bcad5bada8ae3b350a6d1a0d1d770e7726a6684a6d3f1d0a9e9fc249bff8374dbbd6a0c6fbd56a618d999bab1dce34174064c

Description

Published: 04 Oct 2022

README

OCaml implementation of BLS12-381

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

Dependencies (3)

  1. bls12-381 >= "5.0.0" & < "6.1.0"
  2. dune >= "2.8.4"
  3. ocaml >= "4.12"

Dev Dependencies (2)

  1. bisect_ppx with-test & >= "2.5"
  2. alcotest with-test

Used by

None

Conflicts

None