Week 8 Update 8.1

This week I continued implementing a Rust version of Poseidon. The entire permutation was completed in three commits shown below:

  1. Added sbox function that computes the sbox stage. commit link.
  2. Added linear_layer function. commit link
  3. Added poseidon permutation. commit link

This implementation is based on the arkworks library and it uses the BLS12-381 curve. The parameters used for this instantiation are

  • α=5
    ,
  • N=1275
    round constants,
  • n=255
    bits of security,
  • t=5
    width,
  • RF=8
    number of full rounds,
  • RP=60
    number of partial rounds,
  • p=
    0x73eda753299d7d483339d80809a1d80553bda402fffe5bfeffffffff00000001.

The goal of the following week will be on implementing functionality for most of the elliptic curves instantiations of the arkworks library.