Closes #45: in this PR we implement the round calculation for Poseidon2, and add a panic to the impacted state sizes of Poseidon1's round calculation in light of the attacks presented in https://eprint.iacr.org/2023/537.
This PR also has the start of the internal matrix calculation for Poseidon2 for #40. The remaining work here is to implement functionality that computes the minimal polynomial of a proposed internal matrix. See comment here for more explanation.
Closes #45: in this PR we implement the round calculation for Poseidon2, and add a panic to the impacted state sizes of Poseidon1's round calculation in light of the attacks presented in https://eprint.iacr.org/2023/537.
This PR also has the start of the internal matrix calculation for Poseidon2 for #40. The remaining work here is to implement functionality that computes the minimal polynomial of a proposed internal matrix. See comment here for more explanation.