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.4.tar.bz2
md5=5c79c937147dfb3f953296d8e6bc4ab9
sha512=ad04b93254f5134914d527193289def1cea3455ae5e1e3b5e015de1274e6c3f22e8df02e87507564725e1259cb34798cc33387a50e9888e5231279d15bf09cca

Description

Published: 10 Nov 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 (1)

  1. tezos-plompiler = "1.0.0"

Conflicts

None