Enum solana_sdk::poseidon::Parameters
source · #[repr(u64)]pub enum Parameters {
Bn254X5 = 0,
}
Expand description
Configuration parameters for the Poseidon hash function.
The parameters of each configuration consist of:
- Elliptic curve type: This defines the prime field in which the cryptographic operations are conducted.
- S-Box: The substitution box used in the cryptographic rounds.
- Full rounds: The number of full transformation rounds in the hash function.
- Partial rounds: The number of partial transformation rounds in the hash function.
Each configuration variant’s name is composed of its elliptic curve type followed by its S-Box specification.
Variants§
Bn254X5 = 0
Configuration using the Barreto–Naehrig curve with an embedding degree of 12, defined over a 254-bit prime field.
Configuration Details:
- S-Box: ( x^5 )
- Width: ( 2 \leq t \leq 13 )
- Inputs: ( 1 \leq n \leq 12 )
- Full rounds: 8
- Partial rounds: Depending on width: [56, 57, 56, 60, 60, 63, 64, 63, 60, 66, 60, 65]
Trait Implementations§
source§impl TryFrom<u64> for Parameters
impl TryFrom<u64> for Parameters
§type Error = PoseidonSyscallError
type Error = PoseidonSyscallError
The type returned in the event of a conversion error.
source§fn try_from(
value: u64
) -> Result<Parameters, <Parameters as TryFrom<u64>>::Error>
fn try_from( value: u64 ) -> Result<Parameters, <Parameters as TryFrom<u64>>::Error>
Performs the conversion.
Auto Trait Implementations§
impl RefUnwindSafe for Parameters
impl Send for Parameters
impl Sync for Parameters
impl Unpin for Parameters
impl UnwindSafe for Parameters
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more