Crate dusk_hades

Crate dusk_hades 

Source
👎Deprecated: This crate is deprecated. The code was moved to dusk-poseidon.
Expand description

Build Status Repository Documentation

§Hades252 (deprecated)

:exclamation: This crate is deprecated.
The hades permutation moved into dusk-poseidon.

Implementation of Hades252 permutation algorithm over the Bls12-381 Scalar field.

§Documentation

To generate the Hades252 documentation:

make doc
make doc-internal

§Use

Run the following to add Hades252 to the dependency section of your project’s ‘Cargo.toml’:

cargo add dusk-hades

Hades252 has a width equals to 5; it’s possible to use a different value, see How to generate the assets.

§Parameters

  • p = 0x73eda753299d7d483339d80809a1d80553bda402fffe5bfeffffffff00000001

  • Security level is 117 -120 bits of security [NCCG] bits.

  • width = 5

  • Number of full rounds = 8 . There are four full rounds at the beginning and four full rounds at the end, where each full round has WIDTH quintic S-Boxes.

  • Number of partial rounds = 59, where each partial round has one quintic S-Box and (width-1) identity functions.

  • Number of round constants = 960

§Example for ScalarStrategy

use dusk_bls12_381::BlsScalar;
use dusk_hades::{ScalarStrategy, Strategy, WIDTH};

// Generate the inputs that will permute.
// The number of values we can input is equivalent to `WIDTH`

let input = vec![BlsScalar::from(1u64); dusk_hades::WIDTH];
let mut output = input.clone();

let mut strategy = ScalarStrategy::new();
strategy.perm(output.as_mut_slice());

assert_ne!(&input, &output);
assert_eq!(input.len(), output.len());

§Deviations

§Reference

https://eprint.iacr.org/2019/458.pdf

Structs§

ScalarStrategyDeprecated
Implements a Hades252 strategy for BlsScalar as input values.

Constants§

PARTIAL_ROUNDSDeprecated
Total ammount of partial rounds that will be applied. This is expressed as Rp in the paper.
TOTAL_FULL_ROUNDSDeprecated
Total ammount of full rounds that will be applied. This is expressed as RF in the paper.
WIDTHDeprecated
Maximum input width for the rounds

Traits§

StrategyDeprecated
Defines the Hades252 strategy algorithm.