package octez-libs

  1. Overview
  2. Docs
A package that contains multiple base libraries used by the Octez suite

Install

Dune Dependency

Authors

Maintainers

Sources

tezos-octez-v20.1.tag.bz2
sha256=ddfb5076eeb0b32ac21c1eed44e8fc86a6743ef18ab23fff02d36e365bb73d61
sha512=d22a827df5146e0aa274df48bc2150b098177ff7e5eab52c6109e867eb0a1f0ec63e6bfbb0e3645a6c2112de3877c91a17df32ccbff301891ce4ba630c997a65

doc/octez-libs.bls12-381-hash/Bls12_381_hash/Permutation/Anemoi/index.html

Module Permutation.AnemoiSource

Implementation of the permutation Anemoi and the mode of operation Jive over the scalar field of BLS12-381.

The state of the permutation Anemoi is m, where m is a multiple of 2. It is commonly refered by l such that m = 2l.

Sourcemodule Parameters : sig ... end

Set of parameters for BLS12-381, and parameters for specific instantiations given in the reference paper

Sourcetype parameters = Parameters.t

Parameters for a specific instance

Sourcetype ctxt

Context of the permutation

Sourceval allocate_ctxt : parameters -> ctxt

allocate_ctxt parameters. Allocate a context for a specific instance of the permutation.

Sourceval get_state : ctxt -> Bls12_381.Fr.t array

Return the current state of the context

Sourceval get_state_size : ctxt -> int

Return the state size of the context

Sourceval set_state : ctxt -> Bls12_381.Fr.t array -> unit

set_state ctxt state. Set the context state to the given value. The value state must be of the same size than the expecting state

Sourceval apply_permutation : ctxt -> unit

Apply a permutation on the current state of the context

Sourceval apply_linear_layer : ctxt -> unit

apply_linear_layer ctxt applies the linear layer on the state. The context is modified

Sourceval apply_flystel : ctxt -> unit

apply_flystel ctxt applies the Flystel construction on the context. The context is modified

Sourceval apply_constants_addition : ctxt -> int -> unit

apply_constants_addition ctxt round applies the constant addition for the round round. The context is modified

Sourceval apply_one_round : ctxt -> int -> unit

apply_one_round ctxt round applies the round round on the state. The context is modified

jive128_1 x y calls the permutation Anemoi for l = 1 with the state S = (x, y) and apply Jive on the output. Expected security is 128 bits

jive141_1 x y calls the permutation Anemoi for l = 1 with the state S = (x, y) and apply Jive on the output. Expected security is 141 bits

OCaml

Innovation. Community. Security.